Re: [Quickfix-users] Using BATS specifications
Brought to you by:
orenmnero
From: Sev Z. <se...@gm...> - 2012-01-11 16:01:37
|
Change your FIX42.xml as follows: 1. add the BATS UCC message, like Joachim instructed below <message name="CancelCorrect" msgtype="UCC" msgcat="app"> <field name="ExecTransType" required="Y"/> <field name="ExecID" required="Y"/> <field name="ExecRefID" required="Y"/> <field name="OrderID" required="Y"/> <field name="ClOrdID" required="N"/> <field name="Symbol" required="Y"/> <field name="SymbolSfx" required="N"/> <field name="OpenClose" required="N"/> <field name="MaturityMonthYear" required="N"/> <field name="MaturityDay" required="N"/> <field name="PutOrCall" required="N"/> <field name="StrikePrice" required="N"/> <field name="Side" required="Y"/> <!-- TradeLiquidityIndicator is a BATS custom field 9730 --> <field name="ClearingFirm" required="N"/> <field name="ClearingAccount" required="N"/> <!-- Corrected Price is a BATS custom field 9620 --> <field name="LastShares" required="N"/> <field name="LastPx" required="N"/> <field name="OrigTime" required="N"/> <field name="TransactTime" required="N"/> </message> 2. BATS uses a totally different set of codes for ExecInst than the fix spec. Instead of entering the codes from BATS spec, I decided to open it up to any single char so comment out the original: <!-- <field number="18" name="ExecInst" type="MULTIPLEVALUESTRING"> <value enum="1" description="NOT_HELD"/> <value enum="2" description="WORK"/> <value enum="3" description="GO_ALONG"/> <value enum="4" description="OVER_THE_DAY"/> <value enum="5" description="HELD"/> <value enum="6" description="PARTICIPATE_DONT_INITIATE"/> <value enum="7" description="STRICT_SCALE"/> <value enum="8" description="TRY_TO_SCALE"/> <value enum="9" description="STAY_ON_BIDSIDE"/> <value enum="0" description="STAY_ON_OFFERSIDE"/> <value enum="A" description="NO_CROSS"/> <value enum="B" description="OK_TO_CROSS"/> <value enum="C" description="CALL_FIRST"/> <value enum="D" description="PERCENT_OF_VOLUME"/> <value enum="E" description="DO_NOT_INCREASE_DNI"/> <value enum="F" description="DO_NOT_REDUCE_DNR"/> <value enum="G" description="ALL_OR_NONE_AON"/> <value enum="I" description="INSTITUTIONS_ONLY"/> <value enum="L" description="LAST_PEG"/> <value enum="M" description="MIDPRICE_PEG"/> <value enum="N" description="NONNEGOTIABLE"/> <value enum="O" description="OPENING_PEG"/> <value enum="P" description="MARKET_PEG"/> <value enum="R" description="PRIMARY_PEG"/> <value enum="S" description="SUSPEND"/> <value enum="T" description="FIXED_PEG"/> <value enum="U" description="CUSTOMER_DISPLAY_INSTRUCTION"/> <value enum="V" description="NETTING"/> <value enum="W" description="PEG_TO_VWAP"/> </field> --> and replace with this so it can accept any CHAR <field number="18" name="ExecInst" type="CHAR"/> Also, make sure that you instruct QuickFix *NOT* to validate custom fields. I have these settings [DEFAULT] ConnectionType=initiator BeginString=FIX.4.2 CheckCompID=N CheckLatency=N StartTime=00:00:00 EndTime=00:00:00 HeartBtInt=5 MaxLatency=120 ReconnectInterval=1 UseDataDictionary=Y ValidateFieldsHaveValues=N ValidateFieldsOutOfOrder=N ValidateUserDefinedFields=N SocketNodelay=Y PersistMessages=Y LogonTimeout=60 On 1/11/2012 8:21 AM, Joachim Worringen wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > Am 11.01.2012 13:39, schrieb Techno13: >> QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html >> QuickFIX Support: http://www.quickfixengine.org/services.html >> >> >> Hello guys, >> can you give me few tips how i can make initiator application that use this >> specifications? >> http://batstrading.com/resources/membership/BATS_FIX_Specification.pdf >> >> I`m asking here because i`m total noob so my question is how exactly do i >> use this specifications. Do i have to chanage the data inside the FIX42.xml >> file or all of this have ot be checked on reaciving the message form the >> application? Or do i have to do both? >> >> Because if it is just to change the file it would made more sense to have a >> ready xml then the pdf. Sorry if the quastion is dumb but i`m lost and >> totally new here. > Yes, BATS could provide a quickfix-compatile XML. But they leave this > up to you. > > You can use the FIX 4.2 XML for BATS for all the parts of the BATS spec > that comply to 4.2. Only to support the BATS features that are > non-compliant with 4.2 (trade breaks), you need to extend the 4.2 XML > accordingly to generate something like a BATS-4.2 XML. > > Joachim > > > ------------------------------------------------------------------------------ > Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex > infrastructure or vast IT resources to deliver seamless, secure access to > virtual desktops. With this all-in-one solution, easily deploy virtual > desktops for less than the cost of PCs and save 60% on VDI infrastructure > costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox > _______________________________________________ > Quickfix-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-users |