如何访问QuickFix的通用组api?

时间:2014-09-25 19:47:46

标签: python quickfix fix-protocol

我找不到网上应该简单的任何实例。

如何在QuickFix中定义通用组?我正在使用Python绑定并定义一个MDIncrementalRefresh组,如下所示:

group = fix42.MarketDataIncrementalRefresh().NoMDEntries()

但是我试图读取一个名为NoChartData的FIX4.2中不标准的组。因此我无法调用它,因为它在我的FIX引擎中不存在(我现在推迟重建QF - 请参阅How to redefine QuickFix classes for custom groups?

我知道QF有一个构造函数,所以我可以创建一个通用的组对象并为其添加字段。有没有人知道如何动态定义组,而无需重建QF类?

由于

1 个答案:

答案 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"))