How to redefine QuickFix classes for custom groups

2019-08-08 17:11发布

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.

1条回答
成全新的幸福
2楼-- · 2019-08-08 17:48

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.

查看更多
登录 后发表回答