我找不到网上应该简单的任何实例。
如何在QuickFix中定义通用组?我正在使用Python绑定并定义一个MDIncrementalRefresh组,如下所示:
group = fix42.MarketDataIncrementalRefresh().NoMDEntries()
但是我试图读取一个名为NoChartData
的FIX4.2中不标准的组。因此我无法调用它,因为它在我的FIX引擎中不存在(我现在推迟重建QF - 请参阅How to redefine QuickFix classes for custom groups?)
我知道QF有一个构造函数,所以我可以创建一个通用的组对象并为其添加字段。有没有人知道如何动态定义组,而无需重建QF类?
由于
答案 0 :(得分:2)
Python并不是我的强项,但这应该是我的想法。您可以使用任意组计数器字段和任意组条目分隔符创建新组。
您在NoMDEntries
消息中提供MarketDataIncrementalRefresh
的示例将包含计数器字段= 268(NoMDEntries
)和条目分隔符= 278(MDEntryID
)。
在该示例中,您将以这种方式创建组:
group = quickfix.Group(268, 278)
要创建所需的非标准组,请将“268”替换为相应的组计数器字段编号,并将“278”替换为相应的条目分隔符。
要设置群组的字段,请使用以下内容(再次,作为MarketDataIncrementalRefresh
的示例):
// Set the MDEntryID, which is the group entry delimiter
group.setField(quickfix.StringField(278, "id1"))
// Set the DeskID
group.setField(quickfix.StringField(284, "tradedesk1"))