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

Felipe Soares felipe.soares at traderdata.com.br
Tue Jul 31 09:01:18 PDT 2012


Thanks a lot Grant,



I will try that now.

I thought that quickfix/N was constructed entirely in C#. Why do I need
ruby?



Regards

Felipe soares



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



Furthermore, I'd recommend that you actually look into downloading the QF/N
source and regenerating a version according to your custom FIX44.xml DD.
 However, you'll need Ruby to generate the source.



This will give you a FIX44 version of the ApplicationMessageRequest and
field methods.  These are preferred over the generic methods.



-Grant





On Tue, Jul 31, 2012 at 10:52 AM, Grant Birchmeier <
gbirchmeier at connamara.com> wrote:

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




-- 

Grant Birchmeier

*Connamara Systems, LLC*

*Made-To-Measure Trading Solutions.*

Exactly what you need. No more. No less.

http://connamara.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20120731/78faff37/attachment-0002.htm>


More information about the Quickfixn mailing list