Содержание статьи

Доказательства и область применения

Fidelity и TradingView объясняют значение RSI и дивергенцию; TA-Lib предоставляет реализацию для численного сравнения. Эти источники не устанавливают процент выигрышных сделок или прибыльность для предлагаемой здесь конфигурации.

Данные и рынкиИспользуйте цены закрытия и пивоты одного инструмента с одинаковой корректировкой. Сам RSI не использует объём; дополнительный признак объёма требует собственных сведений о происхождении данных.
Таймфреймы исследованияH=1 и ежедневные данные являются примерами для анализа. RSI14 на разных временных интервалах представляет собой различные последовательности доходности, возможности удержания и издержки исполнения.
Цена формирует более низкий минимум на отметке 98 по сравнению с 100, в то время как показательные метки RSI поднимаются от 25 до 33; затем цена пересекает отметку 103.2.Открыть иллюстрацию в полном размере
Цены, объемы и оба обозначения RSI являются синтетическими предположениями. RSI не пересчитывается из сокращенной последовательности цен, представленной на графике.

Практическая последовательность действий

Порядок действий: Обычная и скрытая дивергенция RSI: пивоты и подтверждение цены
Все шаги подробно описаны ниже. На каждом этапе нужно записывать причину отклонения при нехватке данных или невыполнении условий.
  1. Рассчитайте RSIЗафиксируйте начальные значения, сглаживание и необходимую начальную историю.
  2. Дождитесь двух пивотовОбъедините в пару подтверждённые экстремумы одного типа.
  3. Классифицируйте отношенияСравните цену, RSI и предыдущий контекст.
  4. Дождитесь подтверждения цены.Зафиксируйте промежуточный свинг и TTL.
  5. Измерьте чистую стоимостьСравните с базовым показателем, учитывающим только структурные изменения цен.

Снижение импульса — это не то же самое, что разворот тренда.

Компания Fidelity отмечает, что RSI может оставаться экстремальным значением во время сильного тренда [1]. Поэтому RSI выше 70 не является автоматической рекомендацией к продаже. Более высокий ценовой максимум при более низком RSI также может предшествовать дальнейшему росту; перед устойчивым разворотом может появиться несколько кандидатов на дивергенцию, а некоторые тренды никогда не меняются в течение горизонта стратегии.

RSI сравнивает сглаженные положительные и отрицательные изменения закрытий. TradingView описывает расчёт через RMA [2]. Здесь gain=max(C[t]−C[t−1],0), loss=max(C[t−1]−C[t],0); начальные значения — средние за 14 изменений, затем G=(13G+gain)/14 и та же рекурсия для L. При G+L>0 получаем RSI=100G/(G+L).

Цена и RSI не являются независимыми свидетелями: RSI рассчитывается на основе цены. Расхождение может указывать на полезную разницу между экстремальной ценой и путем, пройденным для ее достижения, но вторая метка, совпадающая с ценовой конфигурацией, не удваивает автоматически подтверждающие данные.

Для четырех вариантов необходимы явные привязки и контекст.

Базовый вариант объединяет соседние подтверждённые ценовые пивоты одного типа и берёт RSI на occurred_at каждого. Оценивайте пару лишь после подтверждения второго пивота. Не сдвигайте опору RSI на несколько баров к красивому экстремуму осциллятора. Отдельный детектор пивотов RSI потребовал бы окна сопоставления и доступности обоих детекторов.

Предлагаемые допуски: epsilon=0.1×ATR до второго пивота и d=5 пунктов RSI. Обычная бычья дивергенция — более низкий минимум цены и более высокий RSI; скрытая бычья — более высокий минимум цены и более низкий RSI в заранее установленном восходящем тренде. Медвежьи варианты обращают соответствующие отношения. Контекст должен быть известен до первой опоры.

Фильтры величины предотвращают превращение мельчайших числовых различий в метки расхождения, но их полезность необходимо проверить. Записывайте разницу исходных цен, разницу RSI и разделение в барах, чтобы можно было анализировать отклоненные кандидаты без повторного расчета на основе другой исторической выборки.

ВариантЦена на p2 относительно p1RSI в p2 по сравнению с p1Предложенный априорный контекст
Регулярный бычийНиже предыдущего значения более чем на epsilonВыше предыдущего значения более чем на dПредшествующий спад
Обычный медвежийВыше предыдущего значения более чем на epsilonНиже предыдущего значения более чем на dПредшествующий рост
Скрытая бычьяВыше предыдущего значения более чем на epsilonНиже предыдущего значения более чем на dПодтвержденный восходящий тренд
Скрытая медвежьяНиже предыдущего значения более чем на epsilonВыше предыдущего значения более чем на dПодтвержден нисходящий тренд
when p2 becomes confirmed:
    p1 = previous_confirmed_pivot_of_same_kind(p2)
    if p1 is None or RSI[p1.i] is missing or RSI[p2.i] is missing: return
    bull_regular = p2.price < p1.price-eps and RSI[p2.i] > RSI[p1.i]+d
    if bull_regular:
        trigger = highest_confirmed_swing_between(p1,p2)
        freeze_candidate(p1,p2,trigger,expires_in=10)
# Evaluate a close crossing only after activation.
# If the trigger was crossed before activation, reject or use a separate late-entry version.

Начальная история и граничные значения должны воспроизводиться

Исходный код TA-Lib поддерживает проверку начального значения и численного поведения [3], но выходные данные платформы не следует считать идентичными без сравнения. Предлагаемая конвенция плоской серии устанавливает RSI=50 с флагом плоской серии, когда G=L=0. Если L=0<G, то RSI=100; если G=0<L, то RSI=0. Проверяйте эти ветви явно.

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

Для численного теста после достаточной начальной истории подайте монотонно растущие закрытия, монотонно падающие и полностью постоянные. Затем добавьте один рост и одно снижение и пошагово сравните рекурсию. Различие RSI из-за инициализации нужно устранить до трактовки как разногласия в логике дивергенции.

Подтвержденное расхождение все еще может означать невыгодные условия для входа на рынок.

Условный пример: минимум p1=100 имеет RSI=25, минимум p2=98 — RSI=33. При ATR=2 допуск epsilon=0.2, а рост RSI на восемь пунктов превышает d=5. После подтверждения p2 ранее известный промежуточный свинг-максимум на 103 становится триггером. Позднее закрытие 103.3 превышает триггер с буфером 103.2.

Если ближайший исполнимый вход — 103.4, а стоп — 97.8, начальный ценовой риск — 5.6 пункта. Цель 2R равна 114.6, далеко от исходной дивергенции. Достижение 114.6 раньше стопа выполнило бы условную цель, но это не оценка исторической доли успеха.

Неудача без входа: после p2=98 цена продолжает движение от 97 до 94 и никогда не пересекает 103. Кандидат аннулируется или истекает. Альтернативная стратегия, предполагающая покупку непосредственно вблизи 98, должна учитывать собственные убытки; она не может заимствовать результаты версии, ожидающей структурного триггера.

Возможен убыток и после входа: ордер на пробое исполняется, затем цена проходит обратно ниже структурного минимума. Детектор может правильно установить связь двух опор, а торговая гипотеза — принести убыток. Отдельно показывайте корректность детектора, триггера и реализованный результат.

Активация, аннулирование и пересекающиеся кандидаты

Предлагаемый TTL — десять баров после подтверждения. До входа новый минимум ниже p2−buffer аннулирует обычного бычьего кандидата. После входа действуют зарегистрированные правила стоп-маркет ордера и выхода по времени. Неэкономичный из-за гэпа сетап можно отклонить до отправки ордера, но нельзя стереть уже исполненный ордер.

Несколько комбинаций опорных точек могут выражать одну и ту же основную идею. Базовая линия объединяет смежные точки разворота одного типа и создает идентификатор события на основе их идентификаторов. Дивергенция трех минимумов — это отдельная модель с большим количеством вариантов, а не три независимые сделки только потому, что можно провести три линии.

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

Придайте объему роль, поддающуюся независимой проверке.

Одна гипотеза — меньшая активность на снижении к p2 и повышенная при ценовом пробое. Сравнивайте средний объём за бар или RVOL для одинакового времени сессии, не суммы отрезков разной длительности. Малое смещение цены при высоком объёме само не доказывает поглощения.

Сравните три ветви: только структурный ценовой триггер; тот же триггер с дивергенцией; затем добавленный фильтр объёма. Стоп, размер и исполнение одинаковы. Это отделяет вклад связи осциллятора от активности и не приписывает каждое улучшение последнему индикатору.

Проверьте издержки в подвыборке высокого объёма. Фильтр может выбирать новостные пробои с более широкими спредами или худшими гэпами. Показывайте отклонённых кандидатов и число возможностей, не только долю побед среди исполненных сделок.

Протестируйте каждое семейство дивергенций отдельно.

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

Тесты должны подтвердить: p2 можно нарисовать на прошлом баре, но сигнал не появляется до подтверждения; RSI берётся ровно на совпадающих временных метках цены. Включите постоянные ряды, недостаточную начальную историю, пересекающихся кандидатов и зеркальные медвежьи данные.

Измеряйте число кандидатов, доли срабатываний и отмен, время ожидания, чистый доход на событие и экспозицию портфеля. Проверьте стресс-сценарии спредов и гэпов через стоп: вход после пробоя может быть намного хуже сигнального закрытия. Если дивергенция усложняет модель без улучшения зарегистрированного результата вне разработки, структурный базовый вариант остаётся полезным итогом.

Частые ошибки

Совпадение точек на глаз

Выбор удобного минимума RSI около каждого минимума цены без фиксированного окна не воспроизводим.

Повторяющиеся расхождения во время тренда

Динамика может замедлиться, в то время как цена будет продолжать резко двигаться в том же направлении.

Смешивание скрытых и обычных вариантов

Их гипотезы, основанные на контексте, различаются; обобщенные статистические данные могут скрывать противоположное поведение.

Список проверки перед использованием метода

Отмечайте пункты после проверки на своих данных. Прогресс сохраняется в этом браузере и не подтверждает прибыльность стратегии.

0/8 пунктов

Частые вопросы

Может ли дивергенция определить дно до того, как это подтвердит точка разворота?

Только с использованием предварительного кандидата, который может исчезнуть. Этот базовый вариант ожидает подтверждения, поэтому его опубликованная история остается стабильной.

Следует ли заменить RSI на MACD?

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

Источники исследования

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

  1. Relative Strength IndexFidelity. Изучены дивергенция и ограничения трактовок перекупленности и перепроданности. Проверено: .
  2. Relative Strength IndexTradingView. Изучены формула RMA и интерпретация RSI. Проверено: .
  3. TA-Lib RSI implementationTA-Lib. Изучен исходный код расчёта; сам код индикатора не является готовой прибыльной торговой стратегией. Проверено: .

Связанные методы

Примечание о рисках

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

Проверьте правила, прежде чем рисковать реальным капиталом

Проверьте возможности приложения, данные и каждую смоделированную сделку; сложные детекторы могут потребовать отдельной реализации.

Скачать Backtest в App Store