简体   繁体   English

如果字段 55 在 FIX 传入消息中多次出现,如何使用 QuickFIX 允许和解析 FIX 消息?

[英]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/瑞士法郎|...等

  • How can I allow QuickFix a field to appear multiple times?如何允许 QuickFix 字段多次出现?
  • Once I recieve the message what is the best way to read it?一旦我收到消息,阅读它的最佳方式是什么? I am using QuickFIX/n.我正在使用 QuickFIX/n。

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM