Esta estrategia consiste en calcular el índice RSI y establecer un rango de venta excesiva, combinado con el stop-loss dinámico y la meta de ganancia para salir de la posición.
Esta estrategia utiliza el RSI de 14 días para determinar la forma técnica del mercado. El RSI refleja la proporción de movimiento de la caída y la caída en un período de tiempo, para determinar si el mercado está sobrecomprando o sobrevendido. La longitud del RSI en esta estrategia es de 14.
Además, la estrategia también utiliza un mecanismo de stop loss de seguimiento dinámico. Cuando se mantiene una posición con múltiples cabezas, el precio de seguimiento de stop loss es del 97% del precio de cierre; cuando se mantiene una posición con cabezas vacías, el precio de seguimiento de stop loss es del 103% del precio de cierre. Esto puede bloquear la mayor parte de las ganancias, evitando al mismo tiempo que el stop loss sea sacudido.
Finalmente, la estrategia también utiliza un mecanismo de ganancias objetivo. Se abandona la posición cuando la ganancia de la tenencia alcanza el 20%. Esto puede bloquear parte de las ganancias y evitar que las ganancias se vuelvan a desperdiciar.
La estrategia tiene las siguientes ventajas:
La estrategia también presenta algunos riesgos a los que se debe prestar atención:
Los riesgos mencionados pueden ser resueltos mediante la optimización de los parámetros del RSI, el ajuste de la magnitud de los daños y la flexibilización adecuada de los requisitos de beneficio objetivo.
Esta estrategia puede ser optimizada en las siguientes direcciones:
La estrategia tiene un pensamiento general claro y utiliza el indicador RSI para determinar la sobreventa, junto con el stop-loss dinámico y la salida de la meta de ganancias. Las ventajas son que es fácil de entender, el control de riesgos está en su lugar y es escalable. El siguiente paso es optimizar la estrategia para hacerla más inteligente, desde mejorar la calidad de la señal hasta optimizar los parámetros de ajuste dinámico.
/*backtest start: 2024-01-04 00:00:00 end: 2024-02-03 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Modified RSI-Based Trading Strategy", overlay=true) // RSI settings rsiLength = input(14, title="RSI Length") overboughtLevel = 70 oversoldLevel = 30 // User-defined parameters trailingStopPercentage = input(3, title="Trailing Stop Percentage (%)") profitTargetPercentage = input(20, title="Profit Target Percentage (%)") rsiValue = ta.rsi(close, rsiLength) var float trailingStopLevel = na var float profitTargetLevel = na // Entry criteria enterLong = ta.crossover(rsiValue, oversoldLevel) enterShort = ta.crossunder(rsiValue, overboughtLevel) // Exit criteria exitLong = ta.crossover(rsiValue, overboughtLevel) exitShort = ta.crossunder(rsiValue, oversoldLevel) // Trailing stop calculation if (strategy.position_size > 0) trailingStopLevel := close * (1 - trailingStopPercentage / 100) if (strategy.position_size < 0) trailingStopLevel := close * (1 + trailingStopPercentage / 100) // Execute the strategy if (enterLong) strategy.entry("Buy", strategy.long) if (exitLong or ta.crossover(close, trailingStopLevel) or ta.change(close) > profitTargetPercentage / 100) strategy.close("Buy") if (enterShort) strategy.entry("Sell", strategy.short) if (exitShort or ta.crossunder(close, trailingStopLevel) or ta.change(close) < -profitTargetPercentage / 100) strategy.close("Sell") // Plot RSI and overbought/oversold levels plot(rsiValue, title="RSI", color=color.blue) hline(overboughtLevel, "Overbought", color=color.red, linestyle=hline.style_dashed) hline(oversoldLevel, "Oversold", color=color.green, linestyle=hline.style_dashed)