{{Quickfixn}} RES: RES: felipe's custom message problem

Felipe Soares felipe.soares at traderdata.com.br
Wed Aug 1 04:02:12 PDT 2012


Kapil,



I tried establishing a session with BMF&Bovespa using FIX5.0SP2 but I
can´t. The exchange won´t allow it.

I need to user FIX 4.4 with a custom message, but HOW? Please anyone
help….I don´t know where to look for information.



Regards

Felipe



*De:* KAPIL KUMAR LALWANI [mailto:kaplalwani at yahoo.co.in]
*Enviada em:* quarta-feira, 1 de agosto de 2012 06:42
*Para:* Felipe Soares
*Cc:* quickfixn at lists.quickfixn.com
*Assunto:* Re: {{Quickfixn}} RES: felipe's custom message problem



Hi Felipe,

        As per the implementation of Quickfixn, u cant send the messages
which are not in the Quickfix version dictionary. If you explore
the implementation of Quickfixn you'll find that Quickfixn only use the
dictionary of *FIX.5.0SP1 ** *if your BeginString contain the same in
header.




Kapil Kumar Lalwani
“Enjoy the WORK you do, Do the BEST you can.”


------------------------------

*From:* Felipe Soares <felipe.soares at traderdata.com.br>
*To:* KAPIL KUMAR LALWANI <kaplalwani at yahoo.co.in>
*Sent:* Wednesday, 1 August 2012 2:33 PM
*Subject:* Re: {{Quickfixn}} RES: felipe's custom message problem



Kapil



We know that. But o dont know why bmfbovespa says that we must use fix44
and add This custom message. We are truing to follow their manual.



Until now we were not succeafull creating the custom message. We will try
quickfix wrapper today instead of quickfixn.



Thanks

Felipe

Enviado via iPhone


Em 01/08/2012, às 01:50, KAPIL KUMAR LALWANI <kaplalwani at yahoo.co.in>
escreveu:

Hi Felipe,



This is because the message type 'ApplicationMessageRequest' ('BW') is not
available with FIX4.4. Its was introduce from FIX5.0SP1 and and available
only with FIX5.0SP1 and* *FIX5.0SP2* (http://fixprotocol.org/FIXimate3.0/)*.
So that's why I recommended you to use FIX5.0SP1 if you want to use this
message type.



*m.Header.SetField(new BeginString("FIX.5.0SP1")); *







Your Sincerely,

Kapil Kumar Lalwani

“Enjoy the WORK you do, Do the BEST you can.”


------------------------------

*From:* Felipe Soares <felipe.soares at traderdata.com.br>
*To:* Grant Birchmeier <gbirchmeier at connamara.com>; Mailing list for
QuickFIX/n <quickfixn at lists.quickfixn.com>
*Sent:* Tuesday, 31 July 2012 11:18 PM
*Subject:* {{Quickfixn}} RES: felipe's custom message problem



Hi Grant,



I am not sure I made any progress L



Here is the output I am receving from your code:



8=FIX.4.4☺9=82☺35=BW☺1346=TRADER☺1347=0☺1351=2☺1355=foo☺1182=10☺1183=20☺1355=bar

☺1182=11☺1183=22☺10=202☺



Unhandled Exception: QuickFix.FieldNotFoundException: field not found for
tag: 3

5

   at QuickFix.FieldMap.GetField(Int32 tag)

   at QuickFix.Session.SendRaw(Message message, Int32 seqNum)

   at QuickFix.Session.Send(Message message)

   at QuickFix.Session.SendToTarget(Message message, SessionID sessionID)

   at ConsoleApplication21.TCPReplayApp.RequestSeqNum(Int32 seqnum)

   at ConsoleApplication21.Program.Main(String[] args)



The error happens when I try Session.SendToTarget(m, sessionId);



Please help I don´t know where I should get information…



*De:* Grant Birchmeier [mailto:gbirchmeier at connamara.com]
*Enviada em:* terça-feira, 31 de julho de 2012 12:53
*Para:* Mailing list for QuickFIX/n; Felipe Soares
*Assunto:* felipe's custom message problem



Felipe,

In this an future discussions, I highly recommend that you turn off digest
mode.  It's making it difficult to follow the discussion when the subject
lines are constantly changing.

Problem 1: In your cfg file, you need to add UseDataDictionary=Y

Problem 2: You are not constructing your repeating group correctly.

Problem 3: You were not using the correct message constructor.  (The first
parameter to Message(string,bool) is an entire FIX message string, not just
the 35 field.)

To construct your message with generic methods, it should look like this:



            QuickFix.Message m = new Message();
            m.Header.SetField(new BeginString("FIX.4.4"));
            m.SetField(new QuickFix.Fields.StringField(35, "BW"));

            m.SetField(new QuickFix.Fields.StringField(1346, "TRADER"));
//AppReqId
            m.SetField(new QuickFix.Fields.IntField(1347, 0)); //ApplReqType

            int[] ordering = {1355,1182,1183};
            Group g = new Group(1351, 1355, ordering);

            // first group element
            g.SetField(new QuickFix.Fields.StringField(1355,("foo")));
//RefApplID
            g.SetField(new QuickFix.Fields.IntField(1182, 10));
//ApplBegSeqNum
            g.SetField(new QuickFix.Fields.IntField(1183, 20));
//ApplEndSeqNum
            m.AddGroup(g);

            // second group element
            g.SetField(new QuickFix.Fields.StringField(1355, ("bar")));
//RefApplID
            g.SetField(new QuickFix.Fields.IntField(1182, 11));
//ApplBegSeqNum
            g.SetField(new QuickFix.Fields.IntField(1183, 22));
//ApplEndSeqNum
            m.AddGroup(g);

            Console.WriteLine(m.ToString());

            //
prints 8=FIX.4.4|9=82|35=BW|1346=TRADER|1347=0|1351=2|1355=foo|1182=10|1183=20|1355=bar|1182=11|1183=22|10=202|







--
Grant Birchmeier
Connamara Systems, LLC
Made-To-Measure Trading Solutions.
Exactly what you need. No more. No less.
http://connamara.com


_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20120801/a663da8f/attachment-0002.htm>


More information about the Quickfixn mailing list