Стратегия RSI Tracking ADX - это стратегия отслеживания тренда, которая сочетает в себе индикатор RSI и индикатор ADX. Она использует индикатор RSI для определения условий перекупления и перепродажи, а индикатор ADX для измерения силы тренда, позволяя входить во время восходящих трендов, когда они не перекуплены, и выходить, когда тенденции ослабевают или становятся перекупленными.
Стратегия в основном использует комбинацию индикатора RSI и индикатора ADX для определения входов и выходов.
Условия въезда:
20-дневная SMA повышается;
ADX вырос более чем на 0,2 по сравнению с предыдущим днем, что указывает на тенденцию к укреплению;
RSI ниже 85 для предотвращения перекупа;
Или:
20-дневная SMA повышается;
ADX повышается, но меньше 0,2, что указывает на умеренную тенденцию;
СИО ниже 50, есть место для отскока.
Условия выхода:
RSI выше 75, состояние перекупления;
Легкий рост ADX, слабый тренд;
Или:
RSI выше 75, состояние перекупления;
Резкий рост ADX, сильный тренд;
Или:
20-дневная СМА падает.
Стратегия использует RSI для перекупленности/перепроданности и ADX для вхождения в тренд во время восходящего тренда, когда он не перекуплен, и выхода, когда он перекуплен или тренд ослаб.
Основными преимуществами этой стратегии являются:
Сочетание RSI и ADX позволяет более точно оценивать тренд и показатели перекупленности/перепроданности для улучшения входов и выходов.
ADX измеряет силу тренда, чтобы избежать выхода из консолидации.
RSI использует свободные параметры для отслеживания средне- и долгосрочных тенденций и снижения чрезмерной торговли.
Простая логика и простая реализация, подходящая для долгосрочных хозяйств.
Конфигурируемые параметры позволяют гибкость.
Основными рисками являются:
Задержка ADX может пропустить поворотные моменты тренда, что приведет к большим потерям.
Стоп-лосс может активироваться поздно во время скалистых падений цен, увеличивая потери.
Слишком слабые параметры RSI могут привести к слишком длительному перекуплению активов.
Слишком чувствительные параметры ADX могут ошибочно привести к выходу во время слабых тенденций.
Запасы могут вести себя ненормально во время смены рыночного режима.
Управление рисками:
Для повышения чувствительности используйте более короткие периоды ADX.
Более жесткий стоп-лосс для ограничения потерь.
Сокращение периодов RSI, чтобы избежать длительного перекупа.
Избегайте слишком чувствительных параметров ADX.
Ручное отключение при значительных изменениях на рынке.
Стратегия может быть оптимизирована путем:
Испытание периодов RSI для лучших параметров.
Оптимизация периодов ADX для способности улавливать тенденции.
Добавление других индикаторов, таких как MACD для подтверждения.
Тестирование комбинаций скользящих средних для улучшения записей.
Добавление прибыли и остановки потерь для повышения соотношения риск-вознаграждение.
Осуждать рыночные режимы, чтобы вручную отменить в переломные моменты.
Стратегия RSI Tracking ADX является эффективной, но простой стратегией отслеживания тренда. Она объединяет сильные стороны RSI и ADX для точного анализа тренда и перекупленности / перепроданности. Логика проста и легко реализуется с гибкостью оптимизации. Необходима осторожность в отношении задержки ADX и установки стоп-лосса. В целом она подходит для отслеживания тренда в среднесрочной и долгосрочной перспективе и может обеспечить стабильную прибыль.
/*backtest start: 2022-10-03 00:00:00 end: 2023-10-09 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Copyright by Reed Asset Management registered in Shanghai, China //该策略为上海蘆田资产管理有限公司制 //@version=2 strategy("[蘆田策略]ADX+RSI", overlay=true) //ADX adxlen = input(14, title="ADX Smoothing") dilen = input(14, title="DI Length") dirmov(len) => up = change(high) down = -change(low) truerange = rma(tr, len) plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange) minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange) [plus, minus] adx(dilen, adxlen) => [plus, minus] = dirmov(dilen) sum = plus + minus adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen) sig = adx(dilen, adxlen) plot(sig, color=red, title="ADX") //ADX+RSI Strategy Long Entry longEntry1 = sma(close, 20) > sma(close, 20)[1] //check if the ADX is rising longEntry2 = (adx(14, 14) - adx(14, 14)[1]) > 0.2 longEntry3 = rsi(close, 14) < 85 longEntry4 = (adx(14, 14) - adx(14, 14)[1]) > 0 longEntry5 = (adx(14, 14) - adx(14, 14)[1] ) < 0.2 longEntry6 = rsi(close, 14) < 50 longCondition1 = longEntry1 and longEntry2 and longEntry3 longCondition2 = longEntry1 and longEntry4 and longEntry5 and longEntry6 if(longCondition1 or longCondition2) strategy.entry("long", strategy.long) //ADX+RSI Strategy Long Exit longExit1 = rsi(close, 9) > 75 longExit2 = (adx(14, 14) - adx(14, 14)[1]) > 0 longExit3 = (adx(14, 14) - adx(14, 14)[1] ) < 0.2 longExit4 = (adx(14, 14) - adx(14, 14)[1]) > 0.2 longExit5 = sma(close, 20) < sma(close,20)[1] longExitCondition1 = longExit1 and longExit2 and longExit3 longExitCondition2 = longExit1 and longExit4 longStop1 = strategy.position_avg_price + 4 * tr longExitCondition3 = longExit5 longStop2 = sma(close, 20) strategy.close_all(when = longExitCondition1) if (longExitCondition2) strategy.exit("exit", "long", stop = longStop1) if (longExitCondition3) strategy.exit("exit", "long", stop = longStop2) //Strategy