Esta estrategia se basa en la señal de sobreventa del indicador del Índice de Fuerza Relativa (RSI), comprando en el mínimo intradiario y luego estableciendo un porcentaje fijo de take-profit y stop-loss para probar la probabilidad de que la estrategia alcance el take-profit y el stop-loss. La idea principal es aprovechar la oportunidad de reversión cuando el indicador RSI está sobrevendido, entrar en el mínimo intradiario y buscar ganancias a corto plazo traídas por la reversión. Al mismo tiempo, utiliza un promedio móvil para filtrar la tendencia y solo se hace largo cuando el precio está por encima del promedio móvil.
La estrategia RSI2 intenta capturar oportunidades de reversión intradiaria después de que el indicador RSI se sobreventa, y controla el riesgo estableciendo un porcentaje fijo de take-profit y stop-loss, mientras utiliza un promedio móvil de largo período para filtrar las señales de contra-tendencia. La estrategia es simple y adecuada para operadores especulativos a corto plazo. Sin embargo, también tiene ciertas limitaciones, como falta de juicio de tendencia, dificultad para comprar con precisión en el punto más bajo, y take-profit fijo y stop-loss limita el potencial de ganancia. En el futuro, esta estrategia puede mejorarse desde aspectos como take-profit dinámico y stop-loss, combinando indicadores de tendencia, optimizando los puntos de entrada y fortaleciendo la gestión de posiciones para mejorar la sistematización y robustez, y adaptarse mejor al entorno cambiante del mercado.
/*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")