← Zurück

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

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

Изучаю библиотеку на примере 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-минутки обрабатываются нормально.

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (6)

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

dimmon
dimmon Autor

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

Mikhail Sukhov
Mikhail Sukhov

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

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

dimmon
dimmon Autor

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

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

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

P.S.

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

Mikhail Sukhov
Mikhail Sukhov

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

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

Greene-nsk
Greene-nsk

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

dimmon
dimmon
dimmon Autor

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