ARANEA
ARANEA личный блог
17 июня 2026, 16:00

ARANEA: Тепловая карта таймфремов на пример RSI - аналитика открытия сделки. Часть 8

 

В этой статье я разбираю всё на примере бычьей дивергенции RSI (сигнал на LONG). Но метод не привязан к конкретному индикатору или типу сигнала. На место RSI можно подставить MACD, Stochastic, Bollinger Bands, любую группу индикаторов или произвольный набор правил/фильтров. Задача везде одна: понять, как ваш фильтр ведет себя на разных таймфреймах одновременно. Меняются входные данные — логика остается той же.
 
Я занимаюсь оптимизацией торговых алгоритмов. Через мои руки прошли сотни стратегий — на RSI, на MACD, на кастомных фильтрах и других десятках индикаторов и их комбинаций. Главная причина слива не меняется: алгоритм заходит в сделку на основании одного графика и не проверяет, подтверждают ли его остальные. Карты таймфреймов нет.
ARANEA: Тепловая карта таймфремов на пример RSI - аналитика открытия сделки. Часть 8



Бычью дивергенцию RSI хейтят. Стабильно. Трейдер видит: цена ушла ниже, а RSI нарисовал более высокий минимум. Заходит в LONG. Ловит стоп. Объявляет метод мусором.Но проблема не в индикаторе. Проблема в том, на каком таймфрейме сигнал считан — и что в этот момент происходит на соседних.


Сегодня разберем: математику бычьей дивергенции RSI, конфликт таймфреймов и метод построения карты, которая решает проблему. Повторюсь: та же логика работает для MACD, Stochastic, групп индикаторов и любых правил фильтрации.

1. Цена и индикатор — два параллельных уравнения
ARANEA: Тепловая карта таймфремов на пример RSI - аналитика открытия сделки. Часть 8



На примере бычьей дивергенции RSI это видно особенно чисто.
Цена — дискретный временной ряд. Новый минимум ниже предыдущего — это факт: Low[0] < Low[1].
RSI — производная. Считает не координату, а скорость. Упрощенная формула:

RSI = 100 — (100 / (1 + (Avg_Gain / Avg_Loss)))
Avg_Gain — средний прирост за N периодов.
Avg_Loss — среднее падение за те же N периодов.

Смоделируем бычью дивергенцию (LONG):

Предыдущий минимум: свеча пролетела вниз с сильным импульсом. Close[1] — Open[1] — большое отрицательное число. RSI ушел глубоко вниз, скажем, до 25.

Текущий минимум: цена сходила еще ниже (обновила Low), но закрылась почти на уровне открытия — длинная нижняя тень, узкое тело. Close[0] — Open[0] ~ 0.

Что видит RSI? Последнее падение — копейки. В окне расчета еще сидит старое жирное падение от первого минимума. Но сейчас Avg_Loss перестал расти, а Avg_Gain начал подрастать на отскоке. Итог: RSI идет вверх.

На графике цены — новый минимум (ниже). На индикаторе — более высокий минимум. Это и есть бычья дивергенция.

Математически: скорость падения упала при снижении координаты. Продавцы выдохлись. Физика, а не магия.

Та же логика применима к MACD (схождение скользящих при новом минимуме цены), к Stochastic (положение закрытия относительно диапазона High-Low), к любому осциллятору. Везде индикатор — функция от цены, не сама цена. И везде конфликт между значением функции и значением аргумента порождает сигнал.

2. Почему сигнал есть на одном таймфрейме и отсутствует на другом

Причина — разное окно расчета.

Период 14 для разных таймфреймов:
1H: 14 баров = 14 часов. Два торговых дня. Шум отфильтрован. Падение импульса видно четко.
15m: 14 баров = 3.5 часа. Локальный микропамп, невидимый на часовике, здесь может занимать треть окна.
5m: 14 баров = 70 минут. Шум доминирует над трендом.

Ситуация: на 1H сформирована бычья дивергенция RSI — сигнал на LONG. Переключаетесь на 15m — индикатор в нейтральной зоне, никакого сигнала.

Причина: на 15-минутке Avg_Gain и Avg_Loss считаются по другому набору приростов и падений. Локально падение еще продолжается. Алгоритм на 15m не видит, что продавцы выдохлись.

Если у вас вместо RSI — MACD, картина та же. На одном ТФ гистограмма уже развернулась вверх, на другом — продолжает снижаться. Если группа индикаторов — на старшем ТФ три из трех дают сигнал LONG, на младшем — один из трех. Конфликт частот не зависит от конкретного индикатора.

Именно здесь теряются деньги: вход в LONG по старшему ТФ без подтверждения с младших. Цена еще может сходить вниз на младших частотах и собрать стопы.

3. Сила сигнала — это количество подтверждающих таймфреймов
ARANEA: Тепловая карта таймфремов на пример RSI - аналитика открытия сделки. Часть 8



Правило фильтра имеет разный вес в зависимости от того, сколько частот его подтверждают. Без привязки к конкретному индикатору:

Слабый сигнал: Бычья дивергенция только на 1H. Младшие ТФ — нейтрально или продолжают падать.
Фундаментально продавцы выдыхаются, но внутридневные участники еще разгоняют падение. Вход в LONG — высокая вероятность стопа на младшем таймфрейме.

Средний сигнал:Бычья дивергенция на 1H и 30m. Младшие молчат.
Процесс пошел, но синхронизации с мелкими частотами нет. Вход возможен, но с пониженным плечом и расширенным стопом.

Сильный сигнал (резонанс):Бычья дивергенция подтверждена на 5m, 15m, 30m, 1H, 4H.
Все частоты синхронизировались. Продавцы выдохлись на всех уровнях одновременно. Против вас нет ни одной группы участников, у которых «еще падаем». Максимальная вероятность отработки LONG.

Без автоматизированного анализа вы не видите эту картину. Вы смотрите на 1-2 графика. Рынок живет на сотнях таймфреймов. Неважно, RSI у вас, MACD или кастомный фильтр — конфликт частот везде одинаков.

4. Объем вычислений: почему это не считается руками

Построим границы задачи.

Исходные данные:

Один актив.
Первичные данные: минутные свечи. Один массив. Всё.
Основной торговый таймфрейм: 1H.
Проверяемый диапазон: от 5m до 1440m.
Шаг перебора: 5 минут.

Количество таймфреймов для проверки:
5m, 10m, 15m… 1440m = 288 уникальных таймфреймов.

Почему CPU.
Все 288 таймфреймов не нужно скачивать с биржи отдельными файлами. Это архитектурное безумие: 288 файлов на инструмент, и каждый еще множится на сдвиги выравнивания.

Правильный подход: есть один массив минуток. Из него на лету собирается любой нужный таймфрейм. Алгоритм сборки: берем 5 минуток — получаем 5m. Берем 15 минуток — 15m. Берем 60 минуток — 1H. И так для любого N от 1 до 1440.

Операция сборки баров из минуток — последовательная. Нужно пройти N минуток подряд, взять Open первой, Close последней, High и Low по диапазону. Это чистая CPU-задача. Однопоточный перебор с накоплением. GPU здесь не нужен: передача данных в память видеокарты и обратно съест весь выигрыш, а распараллеливание не даст преимущества на последовательном проходе.

Где возникает вычислительная сложность.

Не в сборке баров. В том, что для каждого из 288 ТФ нужно на каждом баре пересчитать индикатор:

Для RSI: Avg_Gain и Avg_Loss по окну из 14 баров.
Для MACD: быстрая и медленная EMA, сигнальная линия, гистограмма.
Для группы индикаторов: пересчет всей группы для каждого ТФ.

Дальше — больше:
Сдвиг начала отсчета на 1 минуту меняет структуру свечей. Нужно проверить каждый ТФ с несколькими вариантами выравнивания.
Для каждого ТФ ищутся сигналы (бычья дивергенция) и сравниваются с основным ТФ.
Всё считается не для одной точки, а по всему историческому диапазону.

На выходе — тепловая карта:

Таймфрейм Зона 1 Зона 2 Зона 3… Зона N

5m Нет Да Нет… Да
15m Да Да Нет… Нет
30m Да Нет Да… Да
1H (осн) Да Да Нет… Да
4H Нет Да Да… Нет

Каждая ячейка — ответ: «В этой зоне рынка, на этом таймфрейме, бычья дивергенция разрешает LONG?»

Количество ячеек — тысячи. Каждая требует пересчета индикатора по своему окну данных, собранному из минуток.

Python vs Go.
Python на таком объеме встает намертво. Не часы. Не дни. Недели на один инструмент. С форвард-тестом и перебором параметров — месяцы. Причина не в языке как таковом, а в накладных расходах на интерпретацию каждого вызова, в том что библиотеки тех. анализа не заточены под пересчет сотен ТФ на лету, и в GIL, который душит любую попытку распараллеливания на CPU.

Go выигрывает здесь у всех языков. Легковесные горутины, минимальные накладные расходы на конкурентность, управление памятью без пауз на GC в критических секциях. Но есть нюанс: победить на этом классе задач можно только при наличии многоуровневой системы. Одна горутина на сборку баров, другая на пересчет индикатора, третья на проверку фильтра — и всё это должно работать не вразнобой, а с четкой иерархией: уровень минутных данных → уровень агрегации ТФ → уровень индикаторов → уровень сигналов → уровень итоговой карты.

Именно такая архитектура заложена в Aranea. Многоуровневая система, где каждый слой получает данные от нижнего, обсчитывает свою часть и передает выше. Без этого любая горутина начинает жить своей жизнью, и вы получаете рассинхрон между сигналом на 1H и сигналом на 15m — ровно то, из-за чего стратегия сливает.

Один массив минуток в памяти → многоуровневая сборка → пересчет индикаторов → проверка фильтров → тепловая карта таймфреймов. И всё это за минуты, а не за месяцы.

5. Что дает тепловая карта таймфреймов
ARANEA: Тепловая карта таймфремов на пример RSI - аналитика открытия сделки. Часть 8



Зоны ложных допусков. Таймфреймы, где бычья дивергенция есть, но остальные частоты не подтверждают. Исключаются из LONG.

Зоны резонанса. Комбинации, где бычья дивергенция подтверждена на всех частотах. Точки входа в LONG с максимальной вероятностью отработки.

Переиспользуемость. Карта строится под правило фильтра, не под конкретный индикатор. Построили для «бычья дивергенция + подтверждение по ТФ» — работает для RSI, MACD, Stochastic. Заменили индикатор — та же методология, новое окно расчета, новая карта.

Анализ, не подгонка. Карта выявляет статистически значимые зоны на всей истории. Это не оптимизация параметров под кривую.

6. Вывод

Бычья дивергенция RSI — только пример. Та же проблема у MACD, Stochastic, Bollinger Bands и любых пользовательских фильтров. Индикатор дает сигнал LONG на одной частоте, молчит на другой, и трейдер теряет деньги, не понимая почему.

Но анализ одного индикатора на 288 таймфреймах — это только первый слой задачи. Тот слой, с которого всё начинается.

Дальше масштабирование выглядит так:

Слой 1: Формы индикатора.

Один и тот же RSI может давать сигналы в разных формах. Бычья дивергенция. Конвергенция. Выход из зоны перепроданности. Пробой трендовой линии на самом индикаторе. Каждая форма — это отдельное правило фильтра. И каждая форма требует своей тепловой карты таймфреймов. Один индикатор × 4 формы = 4 полных цикла расчета по 288 ТФ.

Слой 2: Система открытия позиции.

Одна сделка, усреднение, серия входов, хедж-торговля — всё это не просто механики, а логические формулы, которые должны быть заложены в оптимизацию до начала расчетов. Не «сначала посчитаем сигналы, а потом придумаем, как входить». Формула входа определяет, какие именно данные нужны от карты таймфреймов и в каком формате. Заложили формулу «усреднение на младших ТФ» — получили одну матрицу итоговых данных. Заложили «хедж между 1H и 15m» — получили совершенно другую разметку разрешенных и запрещенных состояний. Без этого карта таймфреймов — просто красивая таблица. С формулой — готовое торговое правило.

Итоговая размерность задачи:

Один индикатор × N форм × логическая формула входа × 288 ТФ × сдвиги выравнивания × полный исторический диапазон.
Каждый новый слой умножает количество проверяемых комбинаций. Ручной анализ отваливается на первом же слое. Python — на втором, и это недели вычислений. Go с многоуровневой архитектурой Aranea держит все слои в одном прогоне за минуты.

Если ваша стратегия «почти работает», но стабильно сливает на ложных входах — проблема с высокой вероятностью в карте таймфреймов на одном из слоев. Метод один для всех индикаторов и систем входа. Приносите алгоритм. Разберем ваши частоты на всех слоях.

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн