PS Немного не в тему, но глюк CandleManager с альфовским коннектором, для меня лично, создает больше потенциальных проблем чем синхронность-асинхронность ордеров
В Альфе свой механизм свечек, у трейдера надо регистрировать свечки и будут приходить события о начале/изменении/завершении свечки. Что за глюк с CandleManager, можно описание?
копипастю свои записи из топика пожеланий:
Ковыряюсь в процессах, меня терзают смутные сомнения что ошибка в самом коннекторе, событие ProcessHistoryCandles отрабатывается отлично, и свечки, которых не видно в кандле менеджере стратегии, успешно проходят через CandlesChanged.SafeInvoke(token, new [] ); Куда они дальше идут я не вижу, но есть подозрение что это место сбоит. Можно предположить что по неким причинам в хранилище складываются только свечки с последнего секьюрити. Причем первую свечку успешно выдаем всем, а вот следующую только последнему секьюрити зарегестрированному.
Все-ж CandleManager неправильно выбирает свечки из коннектора.
trader.CandlesFinished += (t, candlesLocal) =>
{
...
// вот это НЕ работает
var candles = candleManager.GetTimeFrameCandles(strategy.Security, timeFrame, bounds);
// это работает
var candles2 = trader.GetLocalHistoryData(strategy.Security, timeFrame, bounds);
....
}
Выход сейчас один, напрямую по событию конца свечи скармливать в стратегию напрямую данные, в обход кэндле-менеджера. Надеюсь баг локализован окончательно и не заживется долго )
CandleManager не имеет ничего общего с реализацией механизма получения свечек через альфа-трейдер - понятно, что GetTimeFrameCandles не будет работать при этом.