使用Python Quickfix OrderMassStatusReques

2024-09-30 16:29:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用PythonQuickfix创建{}。构建消息时,使用MassStatusReqType(3)时似乎需要Instrument类。在

从这里的文档http://fixwiki.org/fixwiki/OrderMassStatusRequest/FIX.4.4-5.0SP1 似乎我应该能够简单地创建一个仪器组,如下面的代码所示。在

可悲的是,这行不通。我评论过的选项也没有。在

任何帮助使这一方法发挥作用的人都将不胜感激!在

提前谢谢

def mass_status_request(self, product):
    #
    #   product is a class containing attributes code, instrument_type and exchange
    #
    mass_status_request = quickfix44.OrderMassStatusRequest()
    mass_status_request.setField(quickfix.MassStatusReqID("123"))
    mass_status_request.setField(quickfix.TargetSubID(product.instrument_type))
    mass_status_request.setField(quickfix.MassStatusReqType(3))

    # Create instrument group

    #mass_status_instruments = quickfix44.OrderMassStatusRequest().FieldMap()
    mass_status_instruments = quickfix44.Instrument()
    #mass_status_instruments = quickfix44.component().Instrument()
    #mass_status_instruments = quickfix44.Component().Instrument()
    #mass_status_instruments = quickfix44.OrderMassStatusRequest.Instrument()
    #mass_status_instruments = quickfix44.OrderMassStatusRequest().Instrument()
    #mass_status_instruments = quickfix44.Instrmt()
    #mass_status_instruments = quickfix44.Fieldmap().Group()

    # Done creating instrument group

    mass_status_instruments.setField(quickfix.Symbol(product.code))
    mass_status_instruments.setField(quickfix.SecurityExchange(product.exchange))
    mass_status_request.addGroup(mass_status_instruments)

    print "Sending Mass Status Quote Request for {} for Session Id {}".format(str(product), str(self.session_identifier))
    quickfix.Session.sendToTarget(mass_status_request, self.session_identifier)

Tags: selfrequeststatuscodeproductmassinstrumentquickfix
1条回答
网友
1楼 · 发布于 2024-09-30 16:29:09

在这种情况下,仪器不是一个组,而是一个“组件”。在

组件并不是真的。。。东西。它们就像修复数据字典中的宏。许多消息需要相同的字段集,因此DD没有在每个消息中指定相同的字段,而是定义了其他消息可以包含的仪器组件。在

QuickFIX的编程接口忽略了组件作为一个概念。消息不包括组件,它们包括在组件中定义的字段。所以您可以直接在消息中设置这些字段。在

删除代码中的所有工具,只需在消息中直接设置工具字段:

mass_status_request.setField(quickfix.Symbol(product.code))
mass_status_request.setField(quickfix.SecurityExchange(product.exchange))

相关问题 更多 >