QuikTrader и реконнект
Atom
06.12.2018


Обнаружилась проблема с QuikTrader
Библиотека работает через QuikTrader-LUA-Quik. При разрыве соединения со стороны квика (например, при сетевой ошибке) после восстановления связи QuikTrader самостоятельно подключается, все восстанавливается кроме подписки на свечи. События connector.Connected не возникает. Это лечится подпиской на свечи заново, например так:
Код
(connector as QuikTrader).NewMessage+= (mes)=>
{
if (mes is ConnectMessage)
{
if (_strategy != null && _strategy.CandleSeries != null)
{
((Connector)connector).SubscribeCandles(_strategy.CandleSeries, DateTime.Today.AddDays(-1));
((Connector)connector).CandleSeriesProcessing += DrawCandle;
}
}
};


Другая проблема, более глобальная. После ночи (когда квик работает, но брокер рубит соединения), утром все восстанавливается, переподключается, НО:
ни одно событие на сделки не обрабатывается
order.WhenNewTrade(Connector).Do(NewTrade).Apply() - внутри стратегии, NewTrade не вызывается
connector.NewMyTrade - не возникает

При этом события на ордеры возникают, connector.NewOrder и другие

В итоге, после ночи запущенная стратегия выставляет ордера, они исполняются, но сама стратегия и коннектор не знают об исполнении.
Это печально



Спасибо:




Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy