Esta estrategia utiliza el índice de fuerza relativa (RSI) y el promedio móvil simple (SMA) para identificar oportunidades potenciales de reversión media en el mercado. Cuando el RSI está por debajo del umbral de compra y el precio está por debajo del SMA, se genera una señal de compra. Cuando el RSI está por encima del umbral de venta y el precio está por encima del SMA, se genera una señal de venta.
El principio básico de esta estrategia es el concepto de reversión media, que sugiere que los precios tienden a volver a sus niveles promedio después de alcanzar niveles extremos.
Concretamente, la estrategia sigue los siguientes pasos:
Esta estrategia de reversión media del índice de fuerza relativa aprovecha el RSI y el SMA para capturar oportunidades de reversión cuando los precios se desvían de su media. Tiene ventajas como simplicidad, facilidad de comprensión y adaptabilidad. Sin embargo, puede tener un rendimiento inferior en los mercados de tendencia y se basa en la selección de parámetros. Al optimizar los métodos de toma de pérdidas y ganancias, la configuración de parámetros, la incorporación de indicadores adicionales e implementar medidas de gestión de riesgos, la robustez y el potencial de rentabilidad de esta estrategia se pueden mejorar aún más.
/*backtest start: 2024-04-01 00:00:00 end: 2024-04-30 23:59:59 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Mean Reversion with Tight Stop Loss', overlay=true) // Define parameters rsiLength = 14 rsiThresholdBuy = 30 rsiThresholdSell = 70 smaPeriod = 20 stopLossPercentage = 0.5 // 0.5% stop loss profitTargetPercentage = 1 // 1% profit target // Calculate indicators rsi = ta.rsi(close, rsiLength) sma = ta.sma(close, smaPeriod) // Entry conditions buySignal = rsi < rsiThresholdBuy and close < sma sellSignal = rsi > rsiThresholdSell and close > sma // Exit conditions if strategy.position_size > 0 stopLoss = strategy.position_avg_price * (1 - stopLossPercentage / 100) takeProfit = strategy.position_avg_price * (1 + profitTargetPercentage / 100) if close <= stopLoss or close >= takeProfit strategy.close('Exit', comment='Stop Loss / Take Profit') // Execute trades if buySignal strategy.entry('Buy', strategy.long) if sellSignal strategy.entry('Sell', strategy.short)