使用Quickfix市场数据增量刷新时,Tag不止一次出现

时间:2014-05-30 11:26:00

标签: c#-2.0 quickfix

我已经实现了请求市场数据的修复客户端。我已成功登录到服务器但是当服务器向我们发送MarketDataIncrementalRefresh消息时,我的应用程序拒绝了消息"标签出现不止一次"它指示的标签是55.你能帮我解决一下吗? 它拒绝的信息是: 8 = FIX.4.2 9 = 196 35 = X 34 = 14 49 = Xenfin 56 = newchange.api -price 52 = 20140528-08:54:32.144 262 = 156 268 = 2 279 = 1 269 = 0 278 = B 55 = EUR / USD 270 = 1.36201 271 = 1000000.00 279 = 1 269 = 1 278 = A 55 = EUR / USD 270 = 1.36205 271 = 1000000.00 10 = 133

在我的配置文件中,我没有使用数据字典并设置了UseDataDictionary = N

2 个答案:

答案 0 :(得分:2)

这通常意味着您有配置或DataDictionary问题,或两者兼而有之。

配置问题:如果你在FIX5上,你的配置应该有UseDataDictionary=YDataDictionary=path/to/xml(或AppDataDictionary=TransportDataDictionary= )。

DataDictionary问题:您的对手方可能已在邮件中添加了自定义字段,并且您的DD尚未正确更新以反映这些字段。在解析重复组时,当QF / n解析器找到不属于该组的字段(每个DD)时,它会假定该组已结束。之后的任何字段都被视为在组外。

您需要编辑DD文件以反映对方对标准邮件集所做的任何更改。这可能包括添加自定义字段,可能包括重新排列字段顺序或向他们通常不属于的组添加字段。有关编辑DD的详细信息,请参阅此页面:
http://quickfixn.org/tutorial/custom-fields-groups-and-messages

答案 1 :(得分:1)

那是因为你有一个重复的小组,一次是出价,一次是报价

8=FIX.4.2  
9=196  
35=X  
34=14  
49=Xenfin  
56=newchange.api -price  
52=20140528-08:54:32.144  
262=156  
268=2   
279=1 269=0 278=B 55=EUR/USD 270=1.36201 271=1000000.00  
279=1 269=1 278=A 55=EUR/USD 270=1.36205 271=1000000.00   
10=133  

并且您没有正确处理它。