Я использую Quickfixn с FIXT1.1 в качестве TradeClient для получения данных о валютном рынке из 360T.
Я получаю эту ошибку «Тег появляется более одного раза» 8 = FIXT.1.19 = 14835 = 334 = 1249 = XXXXXXX50 = XXXXXXX.EDF.API52 = 20200804-16: 22: 11.47156 = 360T_SEP142 = QUOTE145 = 1258 = Тег появляется более одного раза 371 = 423372 = 373 = 1310 = 117
Я использую прикрепленный FIX50. xml файл для AppDataDictionary. Я использую файлы словаря данных FIX50. xml и FIXT11. xml на github / Quickfixn. Я перепробовал все решения этой ошибки в Stack Overflow. Не удалось. Любая помощь будет принята с благодарностью.
tradeclient.cfg
[DEFAULT]
PersistMessages=Y
ConnectionType=initiator
UseDataDictionary=Y
FileStorePath=store
FileLogPath=log
[SESSION]
ConnectionType=initiator
BeginString=FIXT.1.1
DefaultApplVerID=FIX.5.0
TransportDataDictionary= C:\Projects\FixApi\QuickFIXn\spec\fix\FIXT11.xml
AppDataDictionary= C:\Projects\FixApi\QuickFIXn\spec\fix\FIX50.xml
SenderCompID=XXXXXXX
SenderSubID=XXXXXXX.EDF.API
TargetCompID=360T_SEP
SenderLocationID=QUOTE1
SocketConnectHost= XXX.XXX.XX.XX
SocketConnectPort= XXXXX
StartTime=00:01:00
EndTime=23:59:00
HeartBtInt=20
ReconnectInterval=30
ResetOnLogon=Y
ResetOnLogout=Y
ResetOnDisconnect=Y
TradeClientApp.cs
private QuickFix.FIX50.MarketDataRequest QueryMarketDataRequest(string reqId)
{
MDReqID mdReqID = new MDReqID(reqId);
SubscriptionRequestType subType = new SubscriptionRequestType(SubscriptionRequestType.SNAPSHOT_PLUS_UPDATES);
MarketDepth marketDepth = new MarketDepth(0);
QuickFix.FIX50.MarketDataRequest.NoMDEntryTypesGroup marketDataEntryGroup = new QuickFix.FIX50.MarketDataRequest.NoMDEntryTypesGroup();
marketDataEntryGroup.Set(new MDEntryType(MDEntryType.MID_PRICE));
QuickFix.FIX50.MarketDataRequest.NoRelatedSymGroup symbolGroup = new QuickFix.FIX50.MarketDataRequest.NoRelatedSymGroup();
symbolGroup.Set(new Symbol(reqId));
QuickFix.FIX50.MarketDataRequest message = new QuickFix.FIX50.MarketDataRequest(mdReqID, subType, marketDepth);
message.AddGroup(marketDataEntryGroup);
message.AddGroup(symbolGroup);
return message;
}