Торговая стратегия с двунаправленным импульсным фильтром RSI-ADX

RSI ADX DI DM TR RMA
Дата создания: 2025-08-13 14:10:20 Последнее изменение: 2025-08-13 14:10:20
Копировать: 5 Количество просмотров: 229
2
Подписаться
319
Подписчики

Торговая стратегия с двунаправленным импульсным фильтром RSI-ADX Торговая стратегия с двунаправленным импульсным фильтром RSI-ADX

Обзор

Стратегия представляет собой двухстороннюю торговую систему, объединяющую относительно сильный слабый индекс (RSI) и средний направленный индекс (ADX). Стратегия идентифицирует сигнал перекупа и перепродажи через 8-циклический RSI, фильтрует силы тренда на 20 циклов ADX, чтобы поймать возможность обратного поворота в сильной тенденции. Система использует ручной способ расчета ADX, чтобы точно измерить силу тренда с помощью сглаживания направленного движения (DM) и реального диапазона (TR).

Стратегический принцип

Основная логика стратегии основана на взаимодействии двух технических индикаторов. Во-первых, используется 8-циклический RSI в качестве основного генератора торговых сигналов.

Во-вторых, стратегия вводит ADX в качестве фильтра интенсивности тренда. Расчетный процесс ADX включает в себя: расчет движения вверх ((upMove) и движение вниз ((downMove), определение движения вправо ((+DM) и движения вниз ((-DM), расчет показателей вправо ((+DI) и вниз ((-DI) с помощью RMA гладкой обработки, и, наконец, стандартизация значения разрыва DI, чтобы вычислить значение ADX только тогда, когда ADX больше 14, что означает, что рынок находится в явном трендовом состоянии, и тогда сигнал RSI считается действенным.

Механизм выхода использует обратные предельные значения RSI в качестве сигналов для позиций: многоголовые позиции находятся в позиции, когда RSI падает ниже 30, и пустые позиции находятся в позиции, когда RSI превышает 70. Такая конструкция гарантирует своевременный выход, когда тенденция может быть обращена.

Стратегические преимущества

  1. Двойная фильтрацияRSI обеспечивает точное время входа, а ADX гарантирует, что торговля происходит только в то время, когда тенденция ясна, что эффективно снижает ложные сигналы на колеблющихся рынках.

  2. Гибкая двусторонняя торговляСтратегия позволяет одновременно улавливать тенденции вверх и вниз, повышает эффективность использования капитала и дает возможность получить прибыль в различных рыночных условиях.

  3. Оптимизация параметров обоснована8-циклический RSI более чувствителен к изменениям рынка, чем традиционный 14-циклический; 20-циклический ADX обеспечивает стабильное определение тенденции; 14-циклический ADX является эффективным уровнем, проверенным рынком.

  4. Строгий контроль рискаУстановка позиции на 10% и четкие правила стоп-лосс-выхода эффективно контролируют риски по отдельным сделкам.

  5. Точность и надежностьРучная реализация ADX-вычислений, избежание возможных версий встроенных функций и обеспечение согласованности стратегий на разных платформах.

Стратегический риск

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

  2. Отсталость:ADX как индикатор трендового отслеживания имеет врожденную задержку и может быть подтверждена только в конце тренда. Можно рассмотреть в сочетании с ценовым поведением или индикатором объема торгов для вспомогательного суждения.

  3. Рыночные потрясения: Хотя ADX фильтрует частичные колебания, часто входящие и исходящие сигналы могут возникать, когда значение ADX приближается к порогу. Рекомендуется установить ADX-буферный диапазон, если вход требует ADX> 15, а во время удержания позиции допускается ADX> 13 .

  4. Экстремальные рыночные рискиВ быстрых односторонних ситуациях обратная операция может привести к большим убыткам. Рекомендуется увеличить максимальный лимит убытков или механизм временного остановки.

Направление оптимизации стратегии

  1. Изменение динамических параметровПрименение более длинных циклов в период высокой волатильности снижает шум, а более коротких - повышает чувствительность.

  2. Подтверждение многократных временных рамок: подтверждение трендов на более высоких временных рамках на основе сигналов текущих временных рамок, чтобы убедиться, что направление торговли соответствует основной тенденции.

  3. Оптимизация управления позициями: Динамически корректируйте позиции в зависимости от силы ADX, чем сильнее тренд, тем больше позиция. В то же время можно рассмотреть стратегию по наращиванию позиций в пирамиде, постепенно увеличивая позиции после подтверждения тренда.

  4. Оптимизация убытковВ дополнение к стоп-сигналу обратного сигнала RSI, добавляется следящий стоп на основе ATR, что дает достаточную волатильность для хранения позиции при сохранении прибыли.

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

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2024-08-13 00:00:00
end: 2025-08-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":5000000}]
*/

//@version=6
strategy("RSI & ADX Long/Short Strategy v6 (Manual ADX)", overlay=true, 
     margin_long=100, margin_short=100, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=10)

//--------------------
// Parameters
//--------------------
rsiLength     = 8
adxLength     = 20
adxThreshold  = 14.0

//--------------------
// RSI
//--------------------
rsiVal = ta.rsi(close, rsiLength)

//--------------------
// Manual ADX Calculation
//--------------------
upMove   = high - high[1]
downMove = low[1] - low

plusDM  = (upMove > downMove and upMove > 0)   ? upMove : 0
minusDM = (downMove > upMove and downMove > 0) ? downMove : 0

tr       = ta.rma(ta.tr(true), adxLength)
plusDI   = 100 * ta.rma(plusDM, adxLength) / tr
minusDI  = 100 * ta.rma(minusDM, adxLength) / tr
dx       = 100 * math.abs(plusDI - minusDI) / (plusDI + minusDI)
adxVal   = ta.rma(dx, adxLength)  // <-- Final ADX value

//--------------------
// Entry/Exit Conditions
//--------------------
longEntry  = ta.crossover(rsiVal, 70) and adxVal > adxThreshold
shortEntry = ta.crossunder(rsiVal, 30) and adxVal > adxThreshold

longExit  = ta.crossunder(rsiVal, 30)
shortExit = ta.crossover(rsiVal, 70)

//--------------------
// Orders
//--------------------
if longEntry
    strategy.entry("Long", strategy.long)
if longExit
    strategy.close("Long")

if shortEntry
    strategy.entry("Short", strategy.short)
if shortExit
    strategy.close("Short")

//--------------------
// Plots
//--------------------
plot(rsiVal, title="RSI(8)", color=color.new(color.blue, 0))
hline(70, 'RSI Overbought', color=color.red)
hline(30, 'RSI Oversold', color=color.green)

plot(adxVal, title="ADX(20)", color=color.new(color.orange, 0))
hline(adxThreshold, 'ADX Threshold', color=color.gray, linestyle=hline.style_dotted)