[英]How to allow and parse FIX message with QuickFIX if Field 55 appears multiple times in FIX incoming message?
This particular broker does not provide a DataDictionary so I have to create my own based on their documentation.这个特定的代理不提供 DataDictionary,所以我必须根据他们的文档创建自己的。
This is how they send a particular message:这是他们发送特定消息的方式:
FIX.4.4|9=709|35=y|34=53|49=DUMMYBROKER|56=<client_ID>|52=20210211- 12:12:37.358847|55=AUD/CAD|55=AUD/CHF|55=AUD/JPY|55=AUD/NZD|55=AUD/USD|55= CAD/CHF|55=CAD/JPY|55=CHF/JPY|55=EUR/AUD|55=EUR/CAD|55=EUR/CHF|... etc FIX.4.4|9=709|35=y|34=53|49=DUMMYBROKER|56=<client_ID>|52=20210211- 12:12:37.358847|55=AUD/CAD|55=AUD/CHF|55= AUD/JPY|55=AUD/NZD|55=AUD/USD|55= CAD/CHF|55=CAD/JPY|55=CHF/JPY|55=EUR/AUD|55=EUR/CAD|55=EUR/瑞士法郎|...等
This would probably provide me the last symbol only:这可能只会为我提供最后一个符号:
var symbolstring = message.GetString(Tags.Symbol);
This is how the SecurityList is defined in the DataDictionary:这就是在 DataDictionary 中定义 SecurityList 的方式:
<message name="SecurityList" msgtype="y" msgcat="app">
<group name="NoMDEntries" required="Y">
<field name="Symbol" required="N"/>
</group>
</message>
I have tried changing "Y"/"N" in all variations, but it still cannot absorb the message properly.我已经尝试在所有变体中更改“Y”/“N”,但它仍然无法正确吸收信息。
This message is invalid FIX, and is simply not parseable by QuickFIX/n (or any QF engine).此消息是无效的 FIX,QuickFIX/n(或任何 QF 引擎)根本无法解析。
A repeating group must start with a counter field which tells the receiver how many instances of that group will follow.重复组必须以计数器字段开头,该字段告诉接收者该组将跟随多少个实例。 Their message doesn't have that counter field.他们的消息没有那个计数器字段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.