A estratégia de reversal breakout oversold RSI é uma estratégia de negociação algorítmica que usa o indicador de força relativa (RSI) para determinar situações de sobrevenda e vai longo quando os preços se invertem.
A estratégia de reversão do breakout de sobrevenda do RSI usa um indicador de RSI de 14 períodos. Quando o RSI cai abaixo de 30, ele é julgado supervendido. Isso indica que os preços têm caído continuamente no período anterior e estão atualmente em um estado de supervenda, então o mercado está prestes a reverter e os preços provavelmente começarão a subir. A estratégia abre uma posição longa neste momento para buscar oportunidades de reversão.
Especificamente, quando o RSI <30 e dentro da janela de tempo do backtest, um sinal longo é acionado para abrir uma posição. Em seguida, defina o stop loss em 1% abaixo do preço de entrada e tire lucro em 7% acima. Quando o preço sobe acima do take profit ou cai abaixo do stop loss, feche a posição.
Toda a estratégia aumenta o capital identificando pontos de entrada de reversão de sobrevenda e definindo stop-loss e take profits para bloquear os lucros.
A estratégia RSI de reversão de ruptura de sobrevenda tem as seguintes vantagens:
Captura oportunidades de longo prazo provocadas por reversões de sobrevenda, que é uma estratégia comercial relativamente confiável.
Usa o indicador RSI para identificar pontos de entrada, o que é mais profissional do que a ação direta do preço.
As configurações estritas de stop loss e take profit controlam eficazmente o risco e o lucro de cada negociação.
Os dados de backtest mostram que a estratégia tem altos retornos e taxa de vitória.
Fácil de entender, os iniciantes podem usá-lo facilmente.
A estratégia do RSI Reversal Breakout Oversold também apresenta alguns riscos:
Embora o RSI abaixo de 30 aumente a probabilidade de reversão, as condições de mercado são complexas e mutáveis, e falhas ainda podem ocorrer, desencadeando o stop loss neste momento.
O ponto de stop loss está muito perto, com uma alta probabilidade de ocorrência de aglomeração de stop loss.
O período de backtest deve ser ajustado para avaliar completamente o desempenho da estratégia.
A seleção inadequada de tokens de negociação também pode afetar os lucros.
Ainda há espaço para a otimização da estratégia de RSI de reversão de ruptura de sobrevenda:
Ajustar os parâmetros do RSI e testar o impacto dos diferentes parâmetros nos retornos da estratégia.
Teste diferentes pares de negociação e selecione moedas mais voláteis.
Ajuste os parâmetros de stop loss e take profit para encontrar a combinação ideal de parâmetros.
Adicionar outros filtros de indicadores, como entrar apenas após o preço quebrar uma certa média móvel.
Teste diferentes parâmetros de período de tempo para encontrar o melhor momento de entrada.
A estratégia de RSI de reversão é fácil de entender e operar em geral, capturando oportunidades de reversão de situações de sobrevenda para obter lucros. A maior vantagem da estratégia é que é fácil de entender até mesmo para iniciantes. Ao mesmo tempo, o rigoroso mecanismo de stop loss e take profit também torna o risco controlável. O próximo passo é otimizar de direções como ajustar parâmetros e adicionar indicadores de filtro para tornar o desempenho da estratégia ainda melhor.
/*backtest start: 2023-12-14 00:00:00 end: 2023-12-18 19: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/ // © brodieCoinrule //@version=4 strategy(shorttitle='Oversold RSI with tight SL',title='Oversold RSI with tight SL Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" perc_change(lkb) => overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100 // RSI inputs and calculations lengthRSI = 14 RSI = rsi(close, lengthRSI) oversold= input(30) //Entry strategy.entry(id="long", long = true, when = RSI< oversold and window()) //Exit Stop_loss= ((input (1))/100) Take_profit= ((input (7)/100)) longStopPrice = strategy.position_avg_price * (1 - Stop_loss) longTakeProfit = strategy.position_avg_price * (1 + Take_profit) strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())