Стратегия торговли ETF по отслеживанию тенденции реверсионного RSI

Автор:Чао Чжан, Дата: 2024-01-22 17:15:18
Тэги:

img

Обзор

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

Принцип стратегии

Основная логика этой стратегии основана на принципе обратного движения индикатора RSI. Индикатор RSI рассчитывает среднюю амплитуду подъемов и падений за определенный период времени, чтобы судить, находится ли торговая разновидность в состоянии перекупления или перепродажи. RSI выше 70 представляет собой перекупленные условия, в то время как RSI ниже 30 представляет собой перепроданные условия. В этот момент может произойти обратная тенденция.

Эта стратегия использует этот принцип, устанавливая триггер покупки, когда сегодняшний RSI ниже регулируемого параметраTodaysMinRSI, и индекс RSI 3 дня назад ниже регулируемого параметраDay3RSIMaxЭто указывает на то, что цена может находиться в краткосрочном перепроданном регионе и возможен отскок.

Механизм выхода из стратегии - это когда индикатор RSI снова превышает пороговое значение регулируемого параметра.Exit RSI, считается, что отскок закончился, и позиции должны быть закрыты.

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

Анализ преимуществ

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

Риски и решения

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

Руководство по оптимизации

  • Включение других индикаторов, таких как KDJ, Bollinger Bands и т. д., для формирования комбинаций индикаторов, улучшающих точность сигнала.
  • Добавьте движущиеся стратегии стоп-лосса, чтобы сделать уровень стоп-лосса динамичным, уменьшая потери.
  • Добавить модули размещения позиций или управления деньгами для контроля риска по сделке.
  • Оптимизируйте параметры и обратные тесты для различных сортов, чтобы получить наборы параметров, подходящих для каждого сорта.

Резюме

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


/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// @version = 5
// Author = TradeAutomation


strategy(title="R3 ETF Strategy", shorttitle="R3 ETF Strategy", overlay=true)


// Backtest Date Range Inputs // 
StartTime = input(defval=timestamp('01 Jan 2012 05:00 +0000'), title='Start Time')
EndTime = input(defval=timestamp('01 Jan 2099 00:00 +0000'), title='End Time')
InDateRange = true

// Calculations and Inputs //
RSILen = input.int(2, "RSI Length")
RSI = ta.rsi(close, RSILen)
TodaysMinRSI = input.int(10, "Today's Min RSI for Entry", tooltip = "The RSI must be below this number today to qualify for trade entry")
Day3RSIMax = input.int(60, "Max RSI 3 Days Ago for Entry", tooltip = "The RSI must be below this number 3 days ago to qualify for trade entry")
EMA = ta.ema(close, 200)

// Strategy Rules //
Rule1 = close>ta.ema(close, 200)
Rule2 = RSI[3]<Day3RSIMax and RSI<TodaysMinRSI
Rule3 = RSI<RSI[1] and RSI[1]<RSI[2] and RSI[2]<RSI[3] 
Exit = ta.crossover(RSI, input.int(70, "Exit RSI", tooltip = "The strategy will sell when the RSI crosses over this number"))

// Plot //
plot(EMA, "200 Day EMA")

// Entry & Exit Functions //
if (InDateRange)
    strategy.entry("Long", strategy.long, when = Rule1 and Rule2 and Rule3)
//    strategy.close("Long", when = ta.crossunder(close, ATRTrailingStop))
    strategy.close("Long", when = Exit)
if (not InDateRange)
    strategy.close_all()
    

Больше