La estrategia utiliza una combinación de cruces de media móvil exponencial dual (EMA) e índice de fuerza relativa (RSI) para identificar oportunidades comerciales potenciales en los mercados.
La idea principal es comprar cuando la EMA de 9 semanas más rápida se mueve hacia arriba y cruza por encima de la EMA de 21 semanas más lenta, ya que esto indica que la tendencia del mercado puede estar fortaleciéndose.
Específicamente, una señal de entrada larga se activa cuando la EMA de 9 semanas cruza por encima de la EMA de 21 semanas, y el RSI de 14 semanas es mayor de 50.
La señal de venta se basa en la lógica opuesta: si la EMA de 9 semanas cruza por debajo de la EMA de 21 semanas o si el RSI cae por debajo de 50, esto indica que la tendencia a corto plazo se ha invertido a la baja.
Esto se puede optimizar mediante la prueba sistemática de combinaciones de estos parámetros.
La estrategia aprovecha el poder de la EMA y el RSI para identificar oportunidades potenciales dentro de tendencias más grandes. Proporciona reglas claras de gestión de riesgos para controlar eficazmente el riesgo por operación.
/*backtest start: 2023-12-22 00:00:00 end: 2024-01-21 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Weekly Swing Trading Strategy", overlay=true) // Entry Indicators shortEma = ema(close, 9) longEma = ema(close, 21) rsiValue = rsi(close, 14) // Entry Condition longCondition = crossover(shortEma, longEma) and rsiValue > 50 if (longCondition) strategy.entry("Long", strategy.long) // Position Sizing (2% risk per trade) riskPerTrade = 0.02 stopLossPercent = 0.05 // 5% stop loss stopLossPrice = close * (1 - stopLossPercent) strategy.exit("Stop Loss", "Long", stop=stopLossPrice) // Profit Target and Trailing Stop profitTargetPercent = 0.10 // 10% profit target profitTargetPrice = close * (1 + profitTargetPercent) trailStopPercent = 0.03 // 3% trailing stop strategy.exit("Take Profit", "Long", limit=profitTargetPrice, trail_price=trailStopPercent, trail_offset=trailStopPercent) // Exit Strategy exitCondition = crossunder(shortEma, longEma) or rsiValue < 50 // Exit when EMAs cross or RSI drops below 50 strategy.close("Long", when=exitCondition) plot(shortEma, color=color.red) plot(longEma, color=color.blue) hline(50, "RSI 50", color=color.purple)