I am using QuickFix with Python to connect with an idiosyncratic data provider. They have defined a new repeating group NoChartData
, which I cannot read because the way I define a group in QuickFix is, for example, group = fix42.MarketDataIncrementalRefresh().NoMDEntries()
. When I replace NoMDEntries()
with NoChartData()
I get an attribute error because NoChartData()
does not exist.
I've got some vague idea that I need to rebuild the QuickFix classes, which I read about here:
http://quickfix-j.364392.n2.nabble.com/How-to-avoid-ordering-group-fields-td7132898.html
I found ant.jar in the quickfix/lib/jar folder but have no idea how to run it.
I have modified the Data Dictionary and everything should be fine if I can just figure out how to create a custom group. Maybe there is an easier way?
BTW: I know there is a related question on this site. This guy got downvoted and his question closed for asking a perfectly clear question but not explaining it: How to generate message classes from new custom FIX dictionary (But I need to do this in Python and so the associated links are not helpful.)
---UPDATE 24 SEP '14--
I have ant installed but am not sure how to use it! The obvious thing, to apply it to my Data Dictionary, does not have the desired result.
c:\quickfix\spec>ant -f FIX42_CTS.xml Buildfile: c:\quickfix\spec\FIX42_CTS.xml
BUILD FAILED c:\quickfix\spec\FIX42_CTS.xml:1: Unexpected element "{}fix" {antlib:org.apache. tools.ant}fix
Total time: 0 seconds
Maybe this question can help other QF users inexperienced with Java and Ant.
There's basic instructions on how to generate QF/j source here on the QF/j wiki's User FAQ: http://www.quickfixj.org/confluence/display/qfj/User+FAQ
(Strangely, this FAQ currently has two questions about this that are mostly the same. I will have to look into combining them. This is a little embarrassing, as it appears I am the only editor of that page. :) )
You'll have to edit your DataDictionary XML file. The structure of that file is pretty simple; spend a few minutes skimming through it so you understand the layout. (First is a big section on message definitions, followed by a big section of field definitions. You'll need to edit both sections to add your new Group.)
EDIT: Turns out you're not using a QF/j-derived build, so this answer is probably not that helpful for you.