Python Quickfix无法读取重复组

Python Quickfix无法读取重复组,python,quickfix,fix-protocol,Python,Quickfix,Fix Protocol,我正在Windows中使用带有python绑定的quickfix。我过去能够提出市场数据请求。我最近换了一个不同的API提供商(Cunningham,又名CTS),遇到了很多问题。然而,其中至少有一个似乎是quickfix内部的。这让我很困惑 当我发送市场数据请求时,我会得到回复。这是一个典型的35=W消息,一个市场快照 Quickfix拒绝此消息,因为标记269多次出现 当然,标记269是MDEntryType,它被假定为多次出现。还请注意,标记268,NoMDEntries,已定义,并表示组

我正在Windows中使用带有python绑定的quickfix。我过去能够提出市场数据请求。我最近换了一个不同的API提供商(Cunningham,又名CTS),遇到了很多问题。然而,其中至少有一个似乎是quickfix内部的。这让我很困惑

当我发送市场数据请求时,我会得到回复。这是一个典型的35=W消息,一个市场快照

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

当然,标记269是MDEntryType,它被假定为多次出现。还请注意,标记268,NoMDEntries,已定义,并表示组中有21个条目

我认为这是quickfix的内部功能,因为quickfix正在生成错误消息并将其发送回CTS。此外,此错误会在消息传递到
fromApp
函数之前中止消息。(我知道这一点,因为每当调用
fromApp
时,我的解析器都会将自己应用到消息中,但它们甚至没有收到此消息)

有什么想法吗?消息如下

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

CTS,传入> (8=固定值。4.2☺ 9=836 ☺ 35=W☺ 34=4 ☺ 49=克拉☺ 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=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=842 ☺ 1023=3 ☺ 269=1 ☺ 270=124218750 ☺ 271=908 ☺ 1023=4 ☺ 269=1 ☺ 270=124234375 ☺ 271=1482 ☺ 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=固定值。4.2☺ 9=102 ☺ 35=3 ☺ 34=4 ☺ 49=XXXX☺ 52=20140915-22:39:12.009 ☺ 56=克拉☺ 45=4 ☺ 58= 标记多次出现☺ 371=269 ☺ 372=W☺ 10=012 ☺ )

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

是的,这正是问题所在

如果没有DD,您的引擎就不知道重复组何时结束或开始。就它而言,没有重复组这样的东西

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

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

是的,这正是问题所在

如果没有DD,您的引擎就不知道重复组何时结束或开始。就它而言,没有重复组这样的东西


你需要一个DD,你需要确保它与你的交易对手的消息和字段集相匹配。如果他们添加了自定义字段或消息,你需要确保你的DD反映了这一点。

我意识到这个线程已经存在多年了,但我遇到了这个确切的问题,并最终解决了它,所以我将它放在这里,以帮助任何遇到此问题的人是

问题是我在配置中使用了
'DataDictionary=..”
参数。将其更改为
'AppDataDictionary=..”
解决了我的问题


Steve

我意识到这条线索已经存在多年了,但我遇到了这个确切的问题,并最终解决了它,所以我把它放在这里是为了帮助任何其他偶然发现这条线索的人

问题是我在配置中使用了
'DataDictionary=..”
参数。将其更改为
'AppDataDictionary=..”
解决了我的问题

史蒂夫