RE: [Quickfix-developers] MarketDataRequest
Brought to you by:
orenmnero
From: Asad I. <asa...@st...> - 2003-09-22 20:39:29
|
Jorg: Thanks for the reply. I was using the C# version of quickfix1.6. The code below creates the message in the correnct format with the repeat= ing group starting with the NoRelatedSym field (146) and then symbols (55) af= ter that. However, the fromApp call back and OnMessage() callback are never called on the server side when I actually send the message. QuickFix43.MarketDataRequest mdr =3D new QuickFix43.MarketDataRequest(mdrqi,subrt,md); QuickFix43.MarketDataRequest.NoMDEntryTypes group =3D new QuickFix43.MarketDataRequest.NoMDEntryTypes(); group.set(new MDEntryType(MDEntryType.BID)); group.set(new MDEntryType(MDEntryType.OFFER)); group.set(new MDEntryType(MDEntryType.TRADE)); group.set(new MDEntryType(MDEntryType.OPENING_PRICE)); mdr.addGroup(group); QuickFix43.MarketDataRequest.NoRelatedSym syms; syms =3D new QuickFix43.MarketDataRequest.NoRelatedSym(); syms.set(new Symbol("AMD")); mdr.addGroup(syms); syms.set(new Symbol("INTC")); mdr.addGroup(syms); if i only use 1 symbol in the repeating group i.e remove the following li= nes from the code syms.set(new Symbol("INTC")); mdr.addGroup(syms); then the symbol is added before the NoRelatedSym field and thus the serve= r throws the FieldNotFound exception when I try to retreive the group from = the message in the OnMessage call back. Could it be a bug in the C# version o= r am I doing something wrong? I am going to try the same in Java to see if that works properly. Thanks again for your help Asad -----Original Message----- From: Joe...@we... [mailto:Joe...@we...] Sent: Monday, September 22, 2003 11:35 PM To: Asad Iqbal Cc: qui...@li... Subject: Re: [Quickfix-developers] MarketDataRequest > When I send a MarketDataRequest message using QuickFix 1.6 i get a reje= ct > saying missing filed 55 (Symbol) but when I look at the msg it actually= is > in there. However it is before Tag # 146 which is the NoRelatedSym fiel= d. > Can someone help please? In the MarketDataRequest, you can specify a list of securities using a repeating group. The structure of a repeating group is as follows: NoRelatedSym=3DN 1. Symbol=3DA ...other optional fields 2. Symbol=3DB ... ... N. Symbol=3DXX ... As you can see there are two requirements: The repeating group *always* starts with the field which tells the number (No...) of entries (here: NoRelatedSym). Then follow the N entries, which *always* start with the required field Symbol, followed by other optional fields which are needed to identify the specific security. In this way, no special start or end tags for the group and its entries are required. If tag 55=3DSymbol is before the tag 146=3DNoRelatedSym then it is simply outside the repeating group which is not defined for the MarketDataReques= t. Cheers, J=F6rg |