Re: [Quickfix-developers] Repeating groups?
Brought to you by:
orenmnero
From: <OM...@th...> - 2003-04-10 19:58:41
|
You need to use the specific group class. If you just use the generic = base Group class, QF will not know how to properly sort the fields. Instead= of this: Group Qset =3D new Group(296, 0x1); Qset.setField(...); Group Quotes =3D new Group(295, 0x1); Quotes.setField(...); you should have QuickFix42.MassQuote.NoQuoteSets Qset =3D new QuickFix42.MassQuote.NoQuoteSets Qset(); Qset.set(...); QuickFix42.MassQuote.NoQuoteSets.NoQuoteEntries Quotes =3D new QuickFix42.MassQuote.NoQuoteSets.NoQuoteEntries(); Quotes.set(...); Here is a link to the C# example for creating messages with repeating groups: http://quickfix.thoughtworks.com/documentation/csharp/repeating_groups_= 1.html --oren |---------+-----------------------------------------------> | | "Rob Kulseth" <ro...@ri...> | | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 04/10/2003 02:07 PM | | | | |---------+-----------------------------------------------> >--------------------------------------------------------------------= --------------------------| | = | | To: <qui...@li...> = | | cc: = | | Subject: [Quickfix-developers] Repeating groups? = | >--------------------------------------------------------------------= --------------------------| I have attached the result of creating a quickfix MassQuote message wit= h three quotes for some RBK options. it is presented in the order in whi= ch the string was generated, I have added tabs and linebreaks to show the repeating groups. When ever I send a message like this to my counterpa= rty it breaks their fix server. They are telling me that the tags are out = of order. tag 302 304 and 311 have to precede 209 and tag 301 has to prec= ede tag 296. my question is this: Is this FIX standard? If it is, what is= wrong with generation of the message. I have attached psudocode of my message generation after the message. 8=3DFIX.4.2=019=3D433=0135=3Di=0134=3D30=0149=3DSENDER=0150=3DSUB=0152=3D= 20030410-18:09:08=0156=3DTARGET=01 57=3DTEST=01 117=3DQUOTEID=01 296=3D1=01 295=3D3=01 55=3DRBK=01 60=3D20030410-13:09:08=01 132=3D0=01 133=3D0.05=01 134=3D1=01 135=3D1=01 167=3DOPT=01 200=3D200304=01 201=3D1=01 202=3D30=01 299=3D0=01 336=3DW_AM1=01 55=3DRBK=01 60=3D20030410-13:09:08=01 132=3D10.2=01 133=3D10.7=01 134=3D1=01 135=3D1=01 167=3DOPT=01 200=3D200304=01 201=3D0=01 202=3D32.5=01 299=3D1=01 336=3DW_AM1=01 55=3DRBK=01 60=3D20030410-13:09:08=01 132=3D0=01 133=3D0.05=01 134=3D1=01 135=3D1=01 167=3DOPT=01 200=3D200304=01 201=3D1=01 202=3D32.5=01 299=3D2=01 336=3DW_AM1=01 302=3D1=01 304=3D0=01 311=3DRBK=01 301=3D1=01 10=3D063=01 private void Tick() { QuickFix42.MassQuote m =3D new QuickFix42.MassQuote(); m.setField(new QuoteID(mClient.mUserID)); m.setField(new QuoteResponseLevel(1)); //tell me only abou= t bad quotes foreach(group of quotes I am quoting known as the variable= p) { Group Qset =3D new Group(296, 0x1); Qset.setField(new QuoteSetID(mQuoteSetID.ToString())); Qset.setField(new UnderlyingSymbol(p.Series));= Qset.setField(new TotQuoteEntries(0)); foreach(quote in my quote group p known as Q) { Group Quotes =3D new Group(295, 0x= 1); //set all the quote fields Quotes.setField(new QuoteEntryID(i.ToString())); Quotes.setField(new Symbol(q.Symbo= l)); Quotes.setField(new SecurityType(q.SecurityType)); Quotes.setField(new MaturityMonthYear(q.strMaturityMonthYear)); Quotes.setField(new SecurityType(q.SecurityType)); Quotes.setField(new StrikePrice(q.StrikePrice)); Quotes.setField(new PutOrCall(q.Is= Call ? PutOrCall.CALL : PutOrCall.PUT )); Quotes.setField(new BidPx(q.BidPX)= ); Quotes.setField(new OfferPx(q.OfferPX)); Quotes.setField(new BidSize(q.BidSize)); Quotes.setField(new OfferSize(q.OfferSize)); Quotes.setField(new TransactTime(DateTime.Now)); Quotes.setField(new TradingSessionID(mClient.Parent.Key)); i++; Qset.addGroup(Quotes); } m.addGroup(Qset); mQuoteSetID++; } send m } ------------------------------------------------------- This SF.net email is sponsored by: Etnus, makers of TotalView, The debu= gger for complex code. Debugging C/C++ programs can leave you feeling lost a= nd disoriented. TotalView can help you find your way. Available on major U= NIX and Linux platforms. Try it free. www.etnus.com _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers = |