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

时间:2018-07-31 15:11:44

标签: quickfix fix-protocol

我在here之前已经看到了这个问题 并已应用建议的解决方案,但仍想出

  

此消息未定义标签

我正在发送此消息:

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截获了错误格式的消息并从未发送过?

1 个答案:

答案 0 :(得分:1)

该拒绝不适用于您的市场数据请求。我可以从拒绝中的标签372=W得知这一点:

  

FIX 4.4:RefMsgType <372>字段

     

所引用的FIX消息的MsgType <35>(35)。

Source

MsgType W指向market data snapshot

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