← Zurück

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (2)

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

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