← Voltar

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 тоже никак не реагирует на добавленные свечи..

Este tópico foi útil?

Compartilhar tópico

Comentários (2)

Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário

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);
            }