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


CandleManager.Container.AddCandles не вызывает CandlesStarted
Atom Reply
1/10/2012


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

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

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



Thanks:




2 Answers
Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 1/10/2012
Reply


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


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

pehas

Avatar
Date: 1/10/2012
Reply


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);
            }
Topic starter
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy