Регистрация свечей разных таймфреймов в стратегии
Atom Ответить
15.03.2011


Доброго времени суток!

Изучаю библиотеку на примере SampleSamartSma. На данный момент необходимо модифицировать стратегию, чтобы учитывались и 5минутные свечи и тиковые.

В MainWindow.xaml.cs регистрирую оба таймфрейма:
Код

//Регистрирую основной таймфрейм
_candleManager.RegisterTimeFrameCandles(_lkoh, _timeFrame);
//Регистрирую тиковый таймфрейм
_candleManager.RegisterTimeFrameCandles(_lkoh, TimeSpan.FromTicks(1));


в классе самой стратегии (за основу взят RSI) пишу следующее:
Код

var tickCandle = m_candleManager.GetLastTimeFrameCandle(base.Security, TimeSpan.FromTicks(1));
if (tickCandle == null)
{
return StrategyProcessResults.Continue;
}


Однакоже tickCandle всегда Null, хотя сделки проходят, на графике свечки меняются. 5-минутки обрабатываются нормально.

Что сделано не так? Что я упустил?

Теги:


Спасибо:




6 Ответов
dimmon

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


Никто не сталкивался с похожей проблемой?
Автор топика
Спасибо:

Mikhail Sukhov

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


dimmon Перейти
Никто не сталкивался с похожей проблемой?


Если вы пример изменили, выложите исходники измененные сюда. Это существенно упростит поиск.
Спасибо:

dimmon

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


Mikhail Sukhov Перейти
Если вы пример изменили, выложите исходники измененные сюда. Это существенно упростит поиск.


Выкладываю исходники здесь - RsiBot

Бьюсь уже несколько дней над тем, как получать и тиковые и 5-минутные свечи в одной стратегии. Надеюсь на помощь.

P.S.

Михаил, спешу поблагодарить Вас за создание такой колосальной библиотеки :) Труд проделан героический ;)
Автор топика
Спасибо:

Greene-nsk

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


Помню у меня были проблемы, когда в одном candleManager регистрировал несколько бумаг и таймфреймов. Не знаю, бага это или фича.
В результате сделал на каждую пару бумага-таймфрейм по отдельному candleManager и все работает. Я собираю их в лист и когда какая-нибудь таймфрейм-бумага нужна, зову:
candleManager = CandleManagersList.First(cm => cm.IsTimeFrameCandlesRegistered(security, securityTimeFrame));
Спасибо: dimmon

Mikhail Sukhov

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


dimmon Перейти

Бьюсь уже несколько дней над тем, как получать и тиковые и 5-минутные свечи в одной стратегии. Надеюсь на помощь.


Ошибку нашел. У меня, все как написал ниже Greene-nsk.
Спасибо: dimmon

dimmon

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


Спасибо, воспользовался Вашими советами. Отработало :)
Автор топика
Спасибо:


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

loading
clippy