- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有这个从我的服务提供商那里得到的示例响应。他们定义了已经定义的标签(我已经从 FIXimate 中检查过)。
8=FIXT.1.19=108135=IB49=NSECM56=MTBM34=1924=1115=21828=61826=Nifty CPSE1815=2294.51816=2310.151817=2286.551818=2276.751819=2294.21820=1967852601488651821=262231822=257851823=0.771824=2799.551825 =2139.51827=-1826=Nifty GrowSect 151815=7037.751816=7070.351817=7023.651818=6990.61819=7042.91820=7768216282514231821=782041822=750561823=0.751824=7354.551825=5942.151827= 1826=Nifty50 Value 201815=5444.71816=5465.61817=5417.41818=5413.61819=5425.91820=1.90667550936387E +151821=1348851822=1341791823=0.231824=5563.81825=4171.651827=-1826=Nifty Mid Liq 151815=4133.551816=4206.551817=4133.551818=4107.21819=4205.41820=1573956262705091821=428041822=442911823=2.391824=4677.051825=3770.551827=-1826=Nifty Pvt Bank1815= 15385.21816=15415.51817=15339.751818=15248.81819=15377.71820=9015155094048031821=589741822=592681823=0.851824=16152.151825=13298.31827=+1826=NIFTY MIDCAP 1001815=19184.851816=19326.31817=19184.851818=19046.551819=19314.251820=7127426889917151821=1858871822=1884631823=1.411824=21840 .851825=17700.91827=-10=174
问题是我无法读取重复组。我将自定义组创建为
noIndexRecords = int(message.getField(1828))
if noIndexRecords > 0:
group = fix.Group(1828, 1826, )
message.getGroup(num=1, group=group)
但这显示了一个 FieldNotFound
错误。我已将规范文件 FIX50SP2.xml
更改为:
添加的字段:
<field number='1815' name="OpenIndex" type="PRICE"/>
<field number='1816' name="HighIndex" type="PRICE"/>
<field number='1817' name="LowIndex" type="PRICE"/>
<field number='1818' name="CloseIndex" type="PRICE"/>
<field number='1819' name="IndexValue" type="PRICE"/>
<field number='1820' name="MarketCapitalization" type="DOUBLE"/>
<field number='1821' name="NoOfDownMoves" type="INT"/>
<field number='1822' name="NoOfUpMoves" type="INT"/>
<field number='1823' name="PercentageChange" type="DECIMAL"/>
<field number='1824' name="YearlyHigh" type="PRICE"/>
<field number='1825' name="YearlyLow" type="PRICE"/>
<field number='1826' name="IndexName" type="STRING"/>
<field number='1827' name="NetChangeIndicator" type="CHAR"/>
<field number='1828' name="NumberOfRecords" type="INT"/>
<field number='8288' name='NoIndexRecords' type='NUMINGROUP'/>
已添加消息类别:
<message name='IndexBroadcast' msgtype="IB" msgcat="app">
<field name="NumberOfRecords" required="N"/>
<component name="NoIndexRecord" required="N"/>
组件定义为:
<component name="NoIndexRecord">
<group name='NoIndexRecords' required='N'>
<field name='IndexName' required='Y'/>
<field name='SecurityID' required='N'/>
<field name='OpenIndex' required='N'/>
<field name='HighIndex' required='N'/>
<field name='LowIndex' required='N'/>
<field name='CloseIndex' required='N'/>
<field name='IndexValue' required='N'/>
<field name='MarketCapitalization' required='N'/>
<field name='NoOfDownMoves' required='N'/>
<field name='NoOfUpMoves' required='N'/>
<field name='PercentageChange' required='N'/>
<field name='YearlyHigh' required='N'/>
<field name='YearlyLow' required='N'/>
<field name='NetChangeIndicator' required='N'/>
</group>
</component>
我经历了不同的讨论和论坛,但无法找到解决方案。类似的问题是 unanswered .
感谢任何帮助。谢谢
最佳答案
I have made changes to specifications file
FIX50SP2.xml
我假设您指的是文件 spec/FIX50SP2.xml的 QuickFIX C++ Fix Engine Library .为此,我认为您需要 recompile the quickfix-engine .除非您正在 fork QuickFix 引擎项目,否则这可能不是您想要的。
尝试定义您的字段 like this :
import quickfix
class MarketCapitalizationField(quickfix.DoubleField):
number = 1820
def __init__(self, data=None)
args = (self.number,) if data is None else (self.number, data)
super(MarketCapitalizationField, self).__init__(*args)
class IndexNameField(quickfix.StringField):
number = 1826
def __init__(self, data=None)
args = (self.number,) if data is None else (self.number, data)
super(IndexNameField, self).__init__(*args)
class NumberOfRecordsField(quickfix.IntField):
number = 1828
def __init__(self, data=None)
args = (self.number,) if data is None else (self.number, data)
super(NumberOfRecordsField, self).__init__(*args)
...然后像这样阅读您的消息:
noIndexRecords = int(message.getField(NumberOfRecords.number))
for idx in range(1, noIndexRecords+1):
message.getGroup(i, group)
group.getField(MarketCapitalizationField.number)
group.getField(IndexNameField.number)
关于python - Quickfix 读取自定义重复组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52367660/
quickfix 中消息存储结构的目的是什么?我知道您可以通过消息存储接口(interface)记录所有传入和传出的修复消息,并且 quickfix 提供了多种实现,例如文件存储等。 我的问题是,除了
我目前在使用开源 QuickFix 引擎时遇到了一个奇怪的问题。我们的经纪商正在发送一些 MsgType = 8(执行报告)的测试交易,我们的 QuickFix 引擎立即回复异常,并显示“不支持的消息
QuickFIX/J 包含创建四个数据库表的 SQL 脚本: session 消息 messages_log 事件日志 我找不到任何描述每个表格用途的文档。 它们有什么用,什么时候写入,它们中的任何一
我们似乎无法使用 QuickFix 处理某些群组消息。 我正在尝试使用 QuickFix (C++) 建立与 ICE 交换的连接。我创建了一个自定义数据字典来处理 ICE 的非标准消息。要处理的第一条
一个Quickfix客户端使用 XML spec files 验证传入消息。如果消息验证失败,quickfix 会自动发送拒绝响应。 AFAIK 在这种情况下,quickfix 不会调用传入消息的标准
当我登录时,我正在发送一个应用程序消息请求 (BW) 并且服务器响应多种类型的消息,但是对于安全状态消息,它返回暂停原因异常。我有 2 个 onMessage 函数,这些用于安全定义报告和安全定义更新
我是 FIX 世界的新手。我正在用 Java 编写一个处理 FIX 消息的应用程序,为此我正在使用 QuickFIX/J。我已经从主页 (http://quickfixengine.org/) 下载了
我正在尝试决定使用哪个版本,希望收到有关此主题的任何反馈。最好能得到一些优缺点。 到目前为止我所做的研究是 quickfix/n 版本会运行得更快并且可能更容易实现,但似乎确实有一些 quickfix
我正在使用 QuickFIX/J版本 1.6.4 内 Apache Camel 2.17.0,我收到 session 消息 Disconnecting: Encountered END_OF_STRE
QuickFix/J 提供将其日志存储在数据库中的功能。 是否可以将另一列(业务 ID) append 到其中一个表,从而不会在 QuickFix/J 的内部消息记录中引起问题? 如果可能的话,也请提
QuickFIX 似乎没有日志轮换功能。有没有可能以某种方式做到这一点? 最佳答案 This post shows the rotation might have been released long
我是 FIX 技术的新手,正在开发 FIX 应用程序。每当我发送 NewOrderSingle消息,我收到一个错误。 我在 C# 中使用 QuickFix 引擎并创建 RequestPlaceOrde
我试图了解QuickFIX配置文件中的StartTime和EndTime设置。我正在使用QuickFIX .Net来实现买方FIX客户端(设置为启动器)。 默认情况下,StartTime和EndTim
我们的快速修复连接传入消息存在一些问题。我们使用字典是因为消息中存在重复组,但这意味着 QuickFix 对传入消息应用严格的验证。但我遇到了服务器在没有警告的情况下更改其消息格式的问题。传入消息突然
我正在构建一个重播日志的工具。手动解析日志很烦人,所以我想知道是否有一种方法可以简单地从日志中加载消息。 此外,我并不反对仅使用第三方重放工具(如果存在)。 最佳答案 首先以任何您想要的方式读取日志文
在与 QuickFix 库捆绑在一起的 FIX.4.4 数据字典 XML 中,某些字段似乎被标记为必填字段,而这些字段可能不应该符合 FIXimate 中描述的协议(protocol)规范。 例如:
FIX 协议(protocol)是否允许在消息和重复组中重复使用相同的标记? IE。我可以有类似的东西 ...
我有一个 FixMessage,我想手动计算校验和。 8=FIX.4.2|9=49|35=5|34=1|49=ARCA|52=20150916-04:14:05.306|56=TW|10=157| 这
FIX 协议(protocol)是否允许在消息和重复组中重复使用相同的标记? IE。我可以有类似的东西 ...
本文整理了Java中quickfix.field.XmlData类的一些代码示例,展示了XmlData类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是
我是一名优秀的程序员,十分优秀!