Python 快速修复:如何从消息中获取符号(标志55)?
我正在使用Python API运行QuickFix,并使用FIX4.2连接到TT-FIX适配器 我正在登录并发送两种工具的市场数据请求。这很好,来自仪器的数据也如预期的那样。我可以从这些信息中得到各种各样的信息 但是,我在获取符号(标志55)字段时遇到问题 这适用于我收到的第一条消息[初始市场数据快照(标志35=W)]。一旦我开始获得增量刷新(标志35=X),我就无法再获得符号字段。收到的每条消息都会导致“字段未找到”错误 这让我很困惑,因为在日志中,无论消息类型是W还是X,符号字段始终存在 认为符号在刷新消息的标题中,我在35=W时尝试了Python 快速修复:如何从消息中获取符号(标志55)?,python,quickfix,fix-protocol,Python,Quickfix,Fix Protocol,我正在使用Python API运行QuickFix,并使用FIX4.2连接到TT-FIX适配器 我正在登录并发送两种工具的市场数据请求。这很好,来自仪器的数据也如预期的那样。我可以从这些信息中得到各种各样的信息 但是,我在获取符号(标志55)字段时遇到问题 这适用于我收到的第一条消息[初始市场数据快照(标志35=W)]。一旦我开始获得增量刷新(标志35=X),我就无法再获得符号字段。收到的每条消息都会导致“字段未找到”错误 这让我很困惑,因为在日志中,无论消息类型是W还是X,符号字段始终存在 认
get.Field(ID)
,在35=X时尝试了get.header().getField(ID)
,但是这不起作用
有人能帮我弄清楚这是怎么回事吗?我希望能够明确地告诉我的计算机它在看什么仪器
谢谢你的问题很简单,但你也有一些误解 1) 符号将永远不会出现在标题中。这是一个身体领域 2) 在X消息中,符号位于重复组中。首先必须使用
msg.GetGroup()
获取组对象,然后从中获取符号。看,从电视上看
3) 在W消息中,符号不在组中。这就是为什么它对你有用
很明显,您对QuickFIX和FIX都是新手。我认为您应该花几分钟时间浏览本课程的“处理消息”部分
此外,该网站可以成为你最好的朋友。Hi@Grant,是的,我对一切都不熟悉,编程本身。我自己解决了大约四十个问题,只有当我完全被难倒的时候才会问。我感谢你的帮助。我一直在从重复组中获取数据,一直在上下查看QuickFix文档,并一直访问FIXimate。只是想让你知道我不是想让别人帮我解决问题。我不认为这个符号在一个组中,因为在我的日志中,它从未重复过。这一定是一种怪癖,或者可能是滚动我没有看到重复的几条消息。再次感谢。重复组的大小可能为1,例如,它实际上没有重复:)请查看字段268;它告诉MDIncGroup中有多少个MDEntries。我打赌你正在解析的特定消息的值是268=1。(如果我的答案解决了你的问题,别忘了将其标记为“已接受”。也许还可以投票表决。)我确信这就是答案,因为我的代码适用于35=W。我还没有测试,但知道你已经解决了它。(我看了一下日志,果然是268=1。)另外,我需要15个声誉来提高投票率,否则我会提高投票率,以及你对我之前问题的帮助。谢谢
import quickfix as fix
def fromApp(self, message, sessionID):
ID = fix.Symbol()
message.getField(ID)
print ID