
Esta estratégia é uma estratégia de negociação de ETFs para rastrear a tendência de reversão baseada em um índice relativamente forte (RSI). Ela usa o indicador RSI para avaliar os excessos de compra e venda de curto prazo, realizando entradas e saídas de reversão, além de combinar a média móvel de 200 dias para determinar a direção da tendência geral.
A lógica central da estratégia baseia-se no princípio da inversão do indicador RSI. O indicador RSI determina se a variedade de negociação está em um estado de sobrecompra ou de sobrevenda, calculando a média de alta e baixa durante um período de tempo. Quando o RSI está acima de 70 significa sobrecompra e quando o RSI está abaixo de 30 significa sobrevenda.
Esta estratégia usa este princípio para definir o RSI do dia abaixo do parâmetro ajustávelTodaysMinRSIE há 3 dias o RSI estava abaixo dos parâmetros ajustáveis.Day3RSIMaxIsso significa que o preço pode estar em uma área de oversold de curto prazo, com possibilidade de rebote. Ao mesmo tempo, é necessário que o RSI tenha uma tendência de queda em 3 dias, ou seja, o RSI continue a cair para comprar, evitando uma falsa rebote.
O mecanismo de saída da estratégia é quando o indicador RSI excede novamente o parâmetro ajustávelExit RSIQuando o valor de uma posição cai, considera-se que a reversão terminou e, nesse momento, a saída de posição é feita.
A estratégia também introduziu a média móvel de 200 dias como um critério de tendência geral. A operação de compra só pode ser realizada quando o preço está acima da linha de 200 dias. Isso ajuda a garantir que a compra seja feita apenas na fase de tendência ascendente, evitando o risco de negociação contracorrente.
Esta estratégia utiliza o princípio clássico do ponto de compra e venda do indicador RSI para realizar entradas e saídas de reversão, julgando áreas de sobrevenda e sobrevenda. Ao mesmo tempo, considerando o julgamento de grandes tendências e o espaço de otimização de parâmetros, é uma estratégia de ETF de reversão de curto prazo de alta confiabilidade. Com otimização adicional, pode ser uma estratégia quantitativa com efeito real.
/*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()