← Atrás

CandleManager.Container.AddCandles не вызывает CandlesStarted

Приветствую, Собственно сабж. Почему не обрабатываются свечи добавленные так


var _cm = new CandleManager(_trader);
var candleToken = this._cm.RegisterTimeFrameCandles(security, this._timeFrame);
_cm.Container.AddCandles(candleToken, newCandles);

Не вызываются события CandlesStarted, CandlesChanged IndicatorManager у которого источником является этот же CandleManger тоже никак не реагирует на добавленные свечи..

¿Le resultó útil este tema?

Compartir tema

Comentarios (2)

Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario

Mikhail Sukhov
Mikhail Sukhov

pehas: Приветствую, Собственно сабж. Почему не обрабатываются свечи добавленные так

А что ожидалось от кода? Свечки (откуда получены?) добавляются в контейнер. А дальше что?

pehas
pehas Autor

Mikhail Sukhov: А что ожидалось от кода? Свечки (откуда получены?) добавляются в контейнер. А дальше что?

У меня есть индикатор, зарегистрированный через IndicatorManager


var candlesToken = _CM.RegisterTimeFrameCandles(security, this._timeFrame);
var highSource = new CandleTokenIndicatorSource(candlesToken, candle => candle.HighPrice);
var indToken = indicatorManager.RegisterIndicator(new Highest { Length = 10 }, highSource);

Я так понимаю, что по логике, при добавлении новых свечей в candlesToken, индикатор менеджер должен их обработать.


_CM.Container.AddCandles(candlesToken, this.historyCandles);

Но он этого не делает. Поэтому приходится вызывать Process(c) для каждой свечи отдельно


            foreach (Candle candle in this.historyCandles)
            {
                var IHihgVal = new CandlePartIndicatorValue(candle, candle.HighPrice);
                indToken.Indicator.Process(IHihgVal);
            }