QuickFix - 未为此消息定义标签 - Celer tech

QuickFix - Tag not defined for this message - Celer tech

我以前看过这个问题 并应用了建议的解决方案,但仍想出

Tag not defined for this message

我正在发送此消息:

toapp : 8=FIX.4.4|9=151|35=V|34=2|49=Test|52=20180731-14:35:54.947|56=UAT-Test|55=EUR/USD|63=SP|115=Username|167=FOR|207=XCEL|262=1|263=1|264=0|265=0|461=SPOT|10=074|

并取回这个

toadmin : 8=FIX.4.4|9=134|35=3|34=3|49=Test|52=20180731-14:35:54.982|56=UAT-Test|45=2|58=Tag not defined for this message type|371=264|372=W|373=2|10=090|

marketdatarequest 在数据字典中的条目是:

<message name="MarketDataRequest" msgtype="V" msgcat="app">
<field name="MDReqID" required="Y"/>
<field name="SubscriptionRequestType" required="Y"/>
<field name="MarketDepth" required="Y"/>
<field name="Symbol" required="Y"/>
<field name="SecurityType" required="Y"/>
<field name="MDUpdateType" required="Y"/>
<field name="CFICode" required="Y"/>
<field name="SettlType" required="Y"/>
<field name="OnBehalfOfCompID" required="N"/>
<field name="SecurityExchange" required="Y"/>
</message>

...

<field number="264" name="MarketDepth" type="INT"/>

我遇到的所有其他 FIX 实现也有 NoMDEntryTypesNoRelatedSym 组,这并不奇怪,但这是规范所要求的。

另外,如果我发送了一条 toapp 消息并收到了没有 fromapp/fromadmin 消息的 toadmin 消息,这是否意味着 quickfix 截获了错误格式的消息并且从未发送过它,这是否正确?

拒绝不是针对您的市场数据请求。我可以从拒绝中的标签 372=W 中看出这一点:

FIX 4.4 : RefMsgType <372> field

The MsgType <35> (35) of the FIX message being referenced.

Source

MsgType W 指的是 market data snapshot.

根据您提供的信息,我可以推断您发送的 MarketDataRequest (35=V) 可能会成功运行。您要连接的服务器使用快照 (35=W) 进行回复,然后您的 FIX 引擎会自动拒绝响应它们,因为它们的快照包含您不期望的标记 264。