Esta estratégia é baseada no sinal de sobrevenda do indicador do Índice de Força Relativa (RSI), comprando no mínimo intradiário e, em seguida, definindo uma porcentagem fixa de take-profit e stop-loss para testar a probabilidade de a estratégia atingir o take-profit e o stop-loss. A ideia principal é aproveitar a oportunidade de reversão quando o indicador RSI está sobrevendido, entrar no mínimo intradiário e buscar lucros de curto prazo trazidos pela reversão.
A estratégia RSI2 tenta capturar oportunidades de reversão intradiária depois que o indicador RSI é supervendido e controla o risco estabelecendo uma porcentagem fixa de take-profit e stop-loss, enquanto usa uma média móvel de longo período para filtrar sinais de contra-tendência. A estratégia é simples e adequada para traders especulativos de curto prazo. No entanto, também tem certas limitações, como falta de julgamento de tendência, dificuldade em comprar com precisão no ponto mais baixo e take-profit fixo e stop-loss limita o potencial de lucro. No futuro, esta estratégia pode ser melhorada a partir de aspectos como take-profit dinâmico e stop-loss, combinando indicadores de tendência, otimizando pontos de entrada e fortalecendo o gerenciamento de posição para melhorar a sistematização e robustez, e melhor se adaptar ao ambiente de mercado em mudança.
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © rajk1987 //@version=5 strategy("RSI2 strategy Raj", overlay=true, margin_long=100, margin_short=100) rsi_len = input.int( 2, title = "RSI Length", group = "Indicators") rsi_os = input.float(10, title = "RSI Oversold", group = "Indicators") rsi_ob = input.float(90, title = "RSI OverBrought", group = "Indicators") max_los = input.float(3,title = "Max Loss Percent", group = "Indicators") tar_per = input.float(6,title = "Target Percent",group = "Indicators") //Get the rsi value of the stock rsi = ta.rsi(close, rsi_len) sma = ta.sma(close,200) var ent_dat = 0 var tar = 0.0 var los = 0.0 var bp = 0.0 if ((close > sma) and (rsi < rsi_os)) strategy.entry("RSI2 Long Entry", strategy.long,1) ent_dat := time(timeframe = timeframe.period) if(ent_dat == time(timeframe = timeframe.period)) bp := low //high/2 + low/2 tar := bp * (1 + (tar_per/100)) los := bp * (1 - (max_los/100)) if (time(timeframe = timeframe.period) > ent_dat) strategy.exit("RSI2 Exit", "RSI2 Long Entry",qty = 1, limit = tar, stop = los, comment_profit = "P", comment_loss = "L") //plot(rsi,"RSI") //plot(bp,"BP") //plot(tar,"TAR") //plot(los,"LOS")