Стратегия ADX для отслеживания показателей RSI

Автор:Чао Чжан, Дата: 2023-10-10 10:32:48
Тэги:

Резюме

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

Логика стратегии

Стратегия в основном использует комбинацию индикатора RSI и индикатора ADX для определения входов и выходов.

Условия въезда:

  1. 20-дневная SMA повышается;

  2. ADX вырос более чем на 0,2 по сравнению с предыдущим днем, что указывает на тенденцию к укреплению;

  3. RSI ниже 85 для предотвращения перекупа;

Или:

  1. 20-дневная SMA повышается;

  2. ADX повышается, но меньше 0,2, что указывает на умеренную тенденцию;

  3. СИО ниже 50, есть место для отскока.

Условия выхода:

  1. RSI выше 75, состояние перекупления;

  2. Легкий рост ADX, слабый тренд;

Или:

  1. RSI выше 75, состояние перекупления;

  2. Резкий рост ADX, сильный тренд;

Или:

20-дневная СМА падает.

Стратегия использует RSI для перекупленности/перепроданности и ADX для вхождения в тренд во время восходящего тренда, когда он не перекуплен, и выхода, когда он перекуплен или тренд ослаб.

Преимущества

Основными преимуществами этой стратегии являются:

  1. Сочетание RSI и ADX позволяет более точно оценивать тренд и показатели перекупленности/перепроданности для улучшения входов и выходов.

  2. ADX измеряет силу тренда, чтобы избежать выхода из консолидации.

  3. RSI использует свободные параметры для отслеживания средне- и долгосрочных тенденций и снижения чрезмерной торговли.

  4. Простая логика и простая реализация, подходящая для долгосрочных хозяйств.

  5. Конфигурируемые параметры позволяют гибкость.

Риски

Основными рисками являются:

  1. Задержка ADX может пропустить поворотные моменты тренда, что приведет к большим потерям.

  2. Стоп-лосс может активироваться поздно во время скалистых падений цен, увеличивая потери.

  3. Слишком слабые параметры RSI могут привести к слишком длительному перекуплению активов.

  4. Слишком чувствительные параметры ADX могут ошибочно привести к выходу во время слабых тенденций.

  5. Запасы могут вести себя ненормально во время смены рыночного режима.

Управление рисками:

  1. Для повышения чувствительности используйте более короткие периоды ADX.

  2. Более жесткий стоп-лосс для ограничения потерь.

  3. Сокращение периодов RSI, чтобы избежать длительного перекупа.

  4. Избегайте слишком чувствительных параметров ADX.

  5. Ручное отключение при значительных изменениях на рынке.

Усовершенствования

Стратегия может быть оптимизирована путем:

  1. Испытание периодов RSI для лучших параметров.

  2. Оптимизация периодов ADX для способности улавливать тенденции.

  3. Добавление других индикаторов, таких как MACD для подтверждения.

  4. Тестирование комбинаций скользящих средних для улучшения записей.

  5. Добавление прибыли и остановки потерь для повышения соотношения риск-вознаграждение.

  6. Осуждать рыночные режимы, чтобы вручную отменить в переломные моменты.

Заключение

Стратегия 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


Больше