Wap*_*iti 2 python quickfix fix-protocol
我正在使用Python API运行QuickFix,并使用FIX4.2连接到TT FIX适配器
我正在登录并发送针对两种工具的市场数据请求。这样就可以正常工作,并且可以从仪器中获得预期的数据。我可以从消息中获取各种信息。
但是,我在获取符号(标志55)字段时遇到麻烦。
import quickfix as fix
def fromApp(self, message, sessionID):
ID = fix.Symbol()
message.getField(ID)
print ID
Run Code Online (Sandbox Code Playgroud)
这适用于我收到的第一条消息[初始市场数据快照(标志35 = W)]。一旦开始进行增量刷新(标志35 = X),就无法再获取“符号”字段。每条到达的消息都会导致“未找到字段”错误。
这使我感到困惑,因为在日志中,无论消息类型是W还是X,符号字段始终存在。
认为符号在刷新消息的标题中,我尝试get.Field(ID)在35 = W和get.Header().getField(ID)35 = X时使用,但是这不起作用。
有人可以帮我弄清楚这里发生了什么吗?我希望能够明确告诉我的计算机正在查看什么仪器。
谢谢
您的问题很简单,但是您也混入了一些误解。
1)符号将永远不会出现在标题中。这是一个身体领域。
2)在X条消息中,符号位于重复组中。你首先必须得到与群对象msg.GetGroup(),然后得到的符号是。请从重复组文档页面中查看此示例代码。
3)在W消息中,该符号不在组中。这就是为什么它在那里为您工作的原因。
显然,您对QuickFIX和FIX而言一般来说都是新手。我认为您应该花几分钟时间浏览docs的“使用消息”部分。
此外,FIXimate网站可以成为您最好的朋友。