Свечи за сегодняшний день
Atom Ответить
29.05.2014


Есть какой-то корректный способ получить свечи за сегодняшний день?
Из примера Quick SampleSMA
Код
// начинаем вычислять скользящие средние
				foreach (var candle in candles)
				{
					ProcessCandle(candle);
					lastCandleTime = candle.OpenTime;
				}

				_candleManager.Start(series);

				// вычисляем временные отрезки текущей свечи
				var bounds = _timeFrame.GetCandleBounds(series.Security);

				candles = _candleManager.Container.GetCandles(series, new Range<DateTime>(lastCandleTime + _timeFrame, bounds.Min));

				foreach (var candle in candles)
				{
					ProcessCandle(candle);
				}

работает неправильно, candles = _candleManager.Container.GetCandles(series, new Range<DateTime>(lastCandleTime + _timeFrame, bounds.Min)); возвращает пустую коллекцию. Чтобы все таки получить свечи нужно дождаться события по свечи из квика. Покажите, пожалуйста, как правильно получить свечи и обработать ProcessCandle(candle);

Теги:


Спасибо:




1 Ответов
Валентин Лебедев

Фотография
Программист
Дата: 29.05.2014
Ответить


Например так:
Код
_candleManager.Start(series);
List<Candle> allCandles;
series
    .WhenCandlesFinished()
    .Do(candle =>
    {
        var bounds = _timeframe.GetCandleBounds(_series.Security);
        if (candle.OpenTime >= bounds.Min - _timeframe)
            allCandles = series.GetCandles<Candle>().ToList();
    })
    .Apply();

А вообще способов много, все зависит от конкретной ситуации в которой необходимо это получать.
Спасибо:


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

loading
clippy