Esta estrategia es un sistema de negociación de reversión de rango dinámico basado en el indicador RSI, que captura puntos de inflexión del mercado a través de zonas de sobrecompra / sobreventa ajustables combinadas con parámetros de sensibilidad de convergencia / divergencia. La estrategia emplea un número fijo de contratos para la negociación y opera dentro de un marco de tiempo específico de backtesting. El núcleo de este modelo radica en identificar las condiciones de sobrecompra y sobreventa del mercado a través de cambios dinámicos de RSI y ejecutar operaciones de reversión en el momento adecuado.
La estrategia utiliza un RSI de 14 períodos como su indicador principal, estableciendo 80 y 30 como niveles de referencia de sobrecompra y sobreventa. Al introducir un parámetro de sensibilidad de convergencia / divergencia (establecido en 3.0), agrega capacidad de ajuste dinámico a la estrategia tradicional de RSI. Las posiciones largas se establecen cuando el RSI se rompe por encima del nivel de sobrecompra y se cierran cuando el RSI cae por debajo del nivel de sobreventa.
Esta es una estrategia de inversión de rango dinámico basada en el indicador RSI, logrando un sistema de negociación relativamente completo a través de ajustes de parámetros flexibles y reglas de negociación claras. Las principales ventajas de la estrategia se encuentran en su capacidad de ajuste dinámico y control de riesgos claro, mientras que se debe prestar atención a los riesgos potenciales en mercados agitados y de tendencia. A través de medidas de optimización como el ajuste de volatilidad y el filtrado de tendencias, la estrategia tiene margen para mejorar aún más. En general, este es un marco práctico de estrategia de negociación cuantitativa adecuado para una investigación en profundidad y verificación práctica.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI Options Strategy", overlay=true) // RSI settings rsiLength = input(14, title="RSI Length") rsiOverbought = input(80, title="Overbought Level") rsiOversold = input(30, title="Oversold Level") rsiSource = input(close, title="RSI Source") rsi = ta.rsi(rsiSource, rsiLength) // Convergence/Divergence Input convergenceLevel = input(3.0, title="Convergence/Divergence Sensitivity") // Order size (5 contracts) contracts = 10 // Date Range for Backtesting startDate = timestamp("2024-09-10 00:00") endDate = timestamp("2024-11-09 23:59") // Limit trades to the backtesting period inDateRange = true // RSI buy/sell conditions with convergence/divergence sensitivity buySignalOverbought = ta.crossover(rsi, rsiOverbought - convergenceLevel) sellSignalOversold = ta.crossunder(rsi, rsiOversold + convergenceLevel) buySignalOversold = ta.crossunder(rsi, rsiOversold - convergenceLevel) sellSignalOverbought = ta.crossover(rsi, rsiOverbought + convergenceLevel) // Execute trades only within the specified date range if (inDateRange) // Buy when RSI crosses above 80 (overbought) if (buySignalOverbought) strategy.entry("Buy Overbought", strategy.long, qty=contracts) // Sell when RSI crosses below 30 (oversold) if (sellSignalOversold) strategy.close("Buy Overbought") // Buy when RSI crosses below 30 (oversold) if (buySignalOversold) strategy.entry("Buy Oversold", strategy.long, qty=contracts) // Sell when RSI crosses above 80 (overbought) if (sellSignalOverbought) strategy.close("Buy Oversold") // Plot the RSI for visualization plot(rsi, color=color.blue, title="RSI") hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green)