[Quickfix-developers] Absence of Symbol in FIX44::NewOrderSingle constructor
Brought to you by:
orenmnero
From: K. F. <kfr...@gm...> - 2013-02-15 22:16:01
|
Hello List! The constructor for FIX44::NewOrderSingle: NewOrderSingle( const FIX::ClOrdID& aClOrdID, const FIX::Side& aSide, const FIX::TransactTime& aTransactTime, const FIX::OrdType& aOrdType ) takes fewer arguments than that for FIX42::NewOrderSingle: NewOrderSingle( const FIX::ClOrdID& aClOrdID, const FIX::HandlInst& aHandlInst, const FIX::Symbol& aSymbol, const FIX::Side& aSide, const FIX::TransactTime& aTransactTime, const FIX::OrdType& aOrdType ) in particular, not including the Symbol, even though the instrument to be traded is a required field. I'm guessing this has something to do with the FIX 4.2 required field: <field name='Symbol' required='Y' /> being replaced with the FIX 4.4 required component: <component name='Instrument' required='Y' /> I have two questions: First, what is going on here? Second, what is the "right" way to construct a FIX44::NewOrderSingle? I have been calling the shorter constructor: FIX44::NewOrderSingle order (/* doesn't include Symbol */ ); order.set (FIX::Symbol (mySymbol)); This works, but it seems like I am mixing styles, using both a constructor and setters. Is this construct / set approach the cleanest way to go? (The same issue applies to other messages, but NewOrderSingle is a typical example.) Thanks for any insight. K. Frank |