Стратегия отслеживания RSI ADX


Дата создания: 2023-10-10 10:32:48 Последнее изменение: 2023-10-10 10:32:48
Копировать: 1 Количество просмотров: 883
1
Подписаться
1617
Подписчики

Обзор

Стратегия RSI Track 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. RSI меньше 50, есть пространство для отскока.

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

  1. Если RSI больше 75, это означает перекуп;
  2. В то же время, по сравнению с прошлым годом, в этом году показатели ADX выросли в два раза.

Или:

  1. Если RSI больше 75, это означает перекуп;
  2. ADX значительно повысился, тенденция сильна;

Или:

20-й SMA переходит в падение.

Эта стратегия использует 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, проверка влияния параметров DI и ADX на способность стратегии улавливать тенденции.

  3. Другие показатели, такие как MACD, используются в качестве вспомогательного решения.

  4. Оптимизируйте время входа, тестируя различные комбинации равномерных линий.

  5. Тестирование присоединения к стратегии стоп-стоп-лосс, повышение риска к прибыли.

  6. Для оценки состояния индекса большого количества, при переходе большого количества, приостанавливать стратегию вручную.

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

RSI следить за ADX стратегия в целом является более простой и практичной стратегии для отслеживания длинной линии тренда. Он одновременно сочетает в себе преимущества двух индикаторов RSI и 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