2

我无法解析此市场数据增量刷新消息(修复 4.3):

8=FIX.4.3|9=187|35=X|34=4|49=XDEMO|52=20130224-22:31:05.283|56=demo310262=A|268=2|279=2|269=0|278=0014vd32|55=EUR/USD|290=1|64=20130227|279=0|269=0|278=0014vdb2|270=1.31934|271=1000000|290=1|546=3|10=124

Quickfix/j 给了我以下信息:

quickfix.FieldException:重复组的 NumInGroup 计数不正确,字段 = 268

我知道这是一个重复的组问题,但我不太确定如何更改我的规范以解析此消息。

4

1 回答 1

4
Group: 268=2|
  Item 1: 279=2|269=0|278=0014vd32|55=EUR/USD|290=1|64=20130227|
  Item 2: 279=0|269=0|278=0014vdb2|270=1.31934|271=1000000|290=1|546=3|

默认情况下,字段 64 不是 NoMDEntries (268) 重复组的一部分。当解析器达到 64 时,它认为它已经超过了重复组的末尾,并且组的第一个也是唯一的项目在第一个 290 处结束。

看了几分钟后,DataDictionary xml 文件很容易理解。假设您的发件人有意将 64 放在该组中,您只需找到消息 X (MarketDataIncrementalRefresh) 的定义并将字段 64 (FutSettDate) 添加到该组中的适当位置。(这个组或其中的一部分可能在一个组件中定义,但我想你会弄明白的。)

注意:字段的顺序很重要。确保将其添加到 290 (MDEntryPositionNo) 之后的一行以及可能出现在组项目中的任何其他可选字段之前或之后。

我猜 64 不是您的交易对手所做的唯一 DD 修改。您需要与您的交易对手核实,以便您可以进行所有必要的 DD 更改。

于 2013-02-25T04:47:34.950 回答