我在Windows中使用带有Python绑定的quickfix。我过去曾提出过市场数据请求。我最近改用了其他API提供程序(Cunningham,又名CTS),遇到了很多问题。但是,其中至少有一个似乎在quickfix内部。这让我感到困惑。

发送市场数据请求时,我会返回响应。这是典型的35 = W消息,即市场快照。

Quickfix拒绝此消息,因为标签269出现多次!

当然,标签269是MDEntryType,它应该出现多次。还要注意,定义了标签268 NoMDEntries,并说该组中有21个条目。

我认为这是quickfix的内部功能,因为quickfix会生成错误消息并将其发送回CTS。同样,此错误会中止消息,然后再将其传递给fromApp函数。 (我知道,因为每当调用fromApp时将自己应用于消息的解析器甚至都没有得到此消息)。

有任何想法吗?该消息如下。

(编辑-我已经关闭了配置文件中的数据字典-可能与此有关吗?)

CTS,传入>
  (8 = FIX.4.2☺9 = 836 = 35 = W☺34 = 4☺49 = CTS☺56 = XXXXX☺52 = 20140915-22:39:11.963☺48 = XDLCM
E_F ZN(Z14)☺387 = 2559☺965 = 2☺268 = 21☺269 = 0☺270 = 124156250☺271 = 646☺1023 = 1☺269 = 0☺270 =
124140625☺271 = 918☺1023 = 2☺269 = 0☺270 = 124125000☺271 = 1121☺1023 = 3☺269 = 0☺270 = 124109375
 271 271 = 998☺1023 = 4☺269 = 0☺270 = 124093750☺271 = 923☺1023 = 5☺269 = 0☺270 = 124078125☺271 = 1689☺
1023 = 6☺269 = 0☺270 = 124062500☺271 = 2011☺1023 = 7☺269 = 0☺270 = 124046875☺271 = 1782☺1023 = 8☺2
69 = 0☺270 = 124031250☺271 = 2124☺1023 = 9☺269 = 0☺270 = 124015625☺271 = 1875☺1023 = 10☺269 = 1☺27
0 = 124171875☺271 = 422☺1023 = 1☺269 = 1☺270 = 124187500☺271 = 577☺1023 = 2☺269 = 1☺270 = 12420312
5 271 271 = 842☺1023 = 3☺269 = 1☺270 = 124218750☺271 = 908☺1023 = 4☺269 = 1☺270 = 124234375☺271 = 1482
 23 1023 = 5☺269 = 1☺270 = 124250000☺271 = 1850☺1023 = 6☺269 = 1☺270 = 124265625☺271 = 1729☺1023 = 7☺
269 = 1☺270 = 124281250☺271 = 2615☺1023 = 8☺269 = 1☺270 = 124296875☺271 = 1809☺1023 = 9☺269 = 1☺27
0 = 124312500☺271 = 2241☺1023 = 10☺269 = 4☺270 = 124156250☺271 = 1☺10 = 140☺)

CTS,事件>
  (消息4被拒绝:标记多次出现:269)

CTS,传出>
  (8 = FIX.4.2☺9 = 102☺35 = 3☺34 = 4☺49 = XXXX☺52 = 20140915-22:39:12.009☺56 = CTS☺45 = 4☺58 =
标签出现多次(☺371 = 269☺372 = W☺10 = 012☺)

最佳答案

(编辑-我已经关闭了配置文件中的数据字典-可能与此有关吗?)


是的,这就是问题所在。

没有DD,您的引擎将不知道重复组何时结束或开始。就其而言,不存在重复分组的问题。

您需要一个DD,并且需要确保它与交易对手的消息和字段集匹配。如果他们添加了自定义字段或消息,则需要确保您的DD能够反映出来。

10-01 00:13