За время разработки платформы для создания торговых стратегий мы столкнулись с интересной особенностью.
Практически все современные платформы позволяют использовать индикаторы разных таймфреймов. Например, можно построить условия:
На первый взгляд этого достаточно. Но когда начинаешь строить более сложные алгоритмы, возникает вопрос:
Почему сравнивать можно индикатор с константой, а не с таким же индикатором другого таймфрейма?Абсолютные значения подходят не для всех индикаторов
Для осцилляторов вроде RSI всё относительно понятно.
У него есть естественный диапазон значений от 0 до 100. Поэтому условия:
имеют универсальный смысл практически на любом рынке.
Но существует большая группа индикаторов, абсолютное значение которых само по себе почти ничего не означает.
Самый очевидный пример — скользящие средние.
EMA20 > 100
Что означает такое условие?
Для Bitcoin это может быть актуально только на определенном этапе его истории.
Для Ethereum — уже совсем другая ситуация.
Для индекса, фьючерса или акции это число вообще не несет универсального смысла.
Фактически значение EMA определяется ценой инструмента. Поэтому фиксированное число в большинстве случаев становится не торговым условием, а просто случайным уровнем, привязанным к конкретному активу.
Может быть интереснее сравнивать не с числом, а между собой?В процессе разработки мы начали экспериментировать с другим подходом.
Вместо проверки абсолютных уровней сравнивать одинаковые индикаторы, рассчитанные на разных таймфреймах.
Например:
Такой подход уже описывает не абсолютную цену и не фиксированный уровень, а отношение поведения рынка на разных временных горизонтах.
Особенно интересными оказались стратегии, где младший таймфрейм начинает менять направление раньше старшего.
Фактически появляется возможность анализировать не просто значение индикатора, а скорость изменения рыночной структуры.
Но здесь возникает другая проблемаЕсли сравнивать разные таймфреймы, очень легко получить ложные сигналы.
Например, пятиминутная свеча уже закрылась, а пятнадцатиминутная еще формируется.
Если использовать текущее значение старшего таймфрейма, стратегия начинает принимать решения на основе незакрытой свечи, что может существенно отличаться от результата, который потом покажет бэктест.
Поэтому при реализации такого подхода нам пришлось отдельно решать вопрос синхронизации таймфреймов, чтобы сравнение всегда происходило между корректными, уже сформированными значениями индикаторов.
Именно эта задача оказалась значительно сложнее, чем само добавление нового условия в конструктор.
Вопрос к сообществуИнтересно узнать мнение тех, кто занимается алгоритмической торговлей.
Используете ли вы в своих стратегиях сравнение одного и того же индикатора на разных таймфреймах?
Если да, поделитесь:
Мы реализовали этот подход в своей платформе и сейчас собираем обратную связь от первых пользователей. Будет интересно услышать мнение сообщества: насколько подобная возможность действительно востребована в реальной торговле, чего, на ваш взгляд, ей не хватает и какие сценарии использования вы бы хотели проверить.

Если тема покажется интересной, можно посмотреть, как это реализовано, и при желании присоединиться к закрытому тестированию платформы.
Например,
Колби Энциклопедия технических индикаторов.
Нюансы в первом приближении не имеют значения. Я спокойно торгую на минутках системы с частотой входа, допустим, раз в неделю.