Есть TimeFrameStrategy. Хочется, чтобы как в WealthLab'е обработка входящей информации происходила после формирования соответствующей таймфрейму свечи. Но, если запускать стратегию в любой момент времени, то, она начинает обрабатывать информацию исходя и этого времени. Т. е., если запустили в 12:45:30, то следующая итерация пойдет с 12:46:30(для минуток). А хочется, чтобы, следующая итерация началась именно в 12:46:00 и последующие стартовали соответственно в 12:47:00, 12:48:00 итд. Подскажите, пожалуйста, как это реализовать?
Комментарии (6)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
CandleSeries.WhenFinished
Извиняюсь, за тупой вопрос. Но ткните, пожалуйста, куда надо вставлять эту строчку в итеративной модели?
В метод OnProcess или OnStarted?
Как я уже упоминал, хочется, чтобы активация события "Интервал" в итоге происходила ровно в соответствии с таймфреймом. То есть, получается, нужно один раз попасть на окончание свечи и дальше повторять итерацию с постоянным заданным таймфреймом.
А зачем нужна таймфрейм стратегия, если свечки и так формируются с заданным периодом?
Просто, итеративная модель на данный момент проще воспринимается. Особенно после Wealth Lab'a.
Так как мне решить проблему?
Используйте Strategy, как базовый класс для своей стратегии, вместо TimeFrameStrategy.
В OnStartedдобавляется правило CandleSeries.WhenFinished.
Когда свечка завершается, выполняется какое то действие. Это и будет "итеративный вариант". В примерах есть SmaStrategy, посмотрите как там сделано.
Спасибо esper и Moadip. Вероятно, позже перейду к событийной модели.
Мне она, честно говоря, не очень нравится также из-за того, что событие окончания свечки приходит с задержкой 4-8 секунд. Это нормально? Или у меня какой-то глюк. Работаю через Квик.