← Zurück

Поломался запуск экспорта кастомных таблиц DDE в 4.3.13

Когда запускаем экспорт одиночной таблицы через quikTrader.StartExport(table), все нормально, экспорт стартует. Для всех последующих таблиц запуск экспорта не срабатывает. В лог пишется:

2015/10/05 16:09:54.210|Debug  |QuikTrader|BP:MarketData,T(L)=2015.10.05 16:09:54.210,Sec=S#:@, Native:,Type:,Sec=S#:@, Native:,Type:,Types=Level1,IsSubscribe=True,TransId=0,OrigId=0
2015/10/05 16:09:54.538|Debug  |QuikTrader|BP:MarketData,T(L)=2015.10.05 16:09:54.538,Sec=S#:@, Native:,Type:,Sec=S#:@, Native:,Type:,Types=Level1,IsSubscribe=True,TransId=0,OrigId=0
2015/10/05 16:09:54.538|Error  |QuikTrader|System.InvalidOperationException: Subscribed
2015/10/05 16:09:55.023|Debug  |QuikTrader|BP:MarketData,T(L)=2015.10.05 16:09:55.037,Sec=S#:@, Native:,Type:,Sec=S#:@, Native:,Type:,Types=Level1,IsSubscribe=True,TransId=0,OrigId=0
2015/10/05 16:09:55.037|Error  |QuikTrader|System.InvalidOperationException: Subscribed

Заметил что в логе MarketData одинаковый, но таблицы я экспортирую разные.

Kommentare (2)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

А что говорит ГитХаб?😉

Валентин Лебедев
Валентин Лебедев Autor

Как я понял полистав исходники, проблема возникает в BasketMessageAdapter.cs, exception выдает строка 310. Там перед тем как обработать входящее сообщение, из MarketDataMessage функцией CreateKey создается ключ к словарю _subscriptionStates, и если такой ключ уже есть, выдается ошибка. Проблема в том что в функции CreateKey не учитывается, что CustomExportMessage отличаются лишь своими внутренними свойствами. Как один из вариантов решения, можно в конструкторе CustomExportMessage задавать SecurityId с SecurityCode = имени таблицы.