Re: [Quickfix-developers] Conditional Required Tag?
Brought to you by:
orenmnero
From: Hei C. <str...@ya...> - 2011-10-07 02:51:57
|
Nevermind. I found the issue. QuickFIX actually doesn't enforce anything so called "conditionally required". It is my code that tried to access tag 44 in Application::fromApp() callback, which is called inside Session::next(). Any part inside Application::fromApp() triggers a FieldNotFound exception will be considered "conditionally required tag is missing". Thanks. Cheers, Hei ________________________________ From: Hei Chan <str...@ya...> To: James Downs <jc...@co...> Cc: "qui...@li..." <qui...@li...> Sent: Thursday, October 6, 2011 6:25 PM Subject: Re: [Quickfix-developers] Conditional Required Tag? Hi, Thanks for your quick reply. How do I make QuickFIX not condititonally require tag 44 in an Execution Report message in response to a limit order? I already set "required" to "N" for tag 44 in Execution Report in the application dictionary. It doesn't seem working. Thanks in advance. Cheers, Hei ________________________________ From: James Downs <jc...@co...> To: Hei Chan <str...@ya...> Cc: "qui...@li..." <qui...@li...> Sent: Thursday, October 6, 2011 5:17 PM Subject: Re: [Quickfix-developers] Conditional Required Tag? Hei, In FIX, a conditionally required field is a field that is required only when another field in the message is set or set to a specific value. In this case, the BusinessMessageReject message (j) is communicating to you that the conditionally required field Price (44) is missing from the executionReport (RefMsgType (372)=8 with RefSeqNum(45) = 1077). The reject reason is given in tags 380=5 and 58=Conditionally Required Field Missing (44). Price (44) is CONDITIONALLY required when OrdType (40) is set to Limit (2) or any other order type that requires a price (stoplimit, limitOnClose...). I would suggest spending some quality time with the FIX Protocol Specifications. FIX 4.2 is a quick and fun read and will give you a basic understanding of the Protocol, order states and message recovery. Jim On Thu, Oct 6, 2011 at 6:38 PM, Hei Chan <str...@ya...> wrote: QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html >QuickFIX Support: http://www.quickfixengine.org/services.html > > > >Hi, > > >I wonder what's the difference between "conditional required tag" and "required tag". > > >I am using the latest QuickFIX C++, and QuickFIX generated the following in response to an execution report from my vendor: >20111006-23:17:37.049 : 8=FIXT.1.1^A9=171^A35=j^A34=1081^A49=[ccc]^A50=[bbb]^A52=20111006-23:17:37.049^A56=[xxx]^A57=[yyy]^A142=[aaa]^A45=1077^A58=Conditionally Required Field Missing (44)^A372=8^A380=5^A10=078^A > > >However, in the application dictionary file, I do set "required" to "N" for Price (tag 44). > > >Any idea? > > >Thanks in advance. > > > > >Cheers, >Hei >------------------------------------------------------------------------------ >All the data continuously generated in your IT infrastructure contains a >definitive record of customers, application performance, security >threats, fraudulent activity and more. Splunk takes this data and makes >sense of it. Business sense. IT sense. Common sense. >http://p.sf.net/sfu/splunk-d2dcopy1 >_______________________________________________ >Quickfix-developers mailing list >Qui...@li... >https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |