Эта стратегия - это стратегия отслеживания обратного тренда на основе индекса относительной силы (RSI). Она оценивает краткосрочные условия перекупа и перепродажи с помощью индикатора RSI для совершения обратных входов и выходов. Между тем, она использует 200-дневную скользящую среднюю для определения общего направления тренда.
Основная логика этой стратегии основана на принципе обратного движения индикатора RSI. Индикатор RSI рассчитывает среднюю амплитуду подъемов и падений за определенный период времени, чтобы судить, находится ли торговая разновидность в состоянии перекупления или перепродажи. RSI выше 70 представляет собой перекупленные условия, в то время как RSI ниже 30 представляет собой перепроданные условия. В этот момент может произойти обратная тенденция.
Эта стратегия использует этот принцип, устанавливая триггер покупки, когда сегодняшний RSI ниже регулируемого параметраTodaysMinRSI
, и индекс RSI 3 дня назад ниже регулируемого параметраDay3RSIMax
Это указывает на то, что цена может находиться в краткосрочном перепроданном регионе и возможен отскок.
Механизм выхода из стратегии - это когда индикатор RSI снова превышает пороговое значение регулируемого параметра.Exit RSI
, считается, что отскок закончился, и позиции должны быть закрыты.
Стратегия также вводит 200-дневную скользящую среднюю для оценки общего направления тренда. Только когда цена выше 200-дневной линии, можно делать длинные ордера на вход. Это помогает обеспечить только покупку в фазах восходящего тренда и избегает рисков торговли контртендом.
Эта стратегия использует классические точки входа и выхода 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()