CandleManager.Container.AddCandles не вызывает CandlesStarted
Atom Ответить
10.01.2012


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

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

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



Спасибо:




2 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 10.01.2012
Ответить


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


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

pehas

Фотография
Дата: 10.01.2012
Ответить


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);
            }
Автор топика
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy