La estrategia utiliza una combinación de cruces de medias móviles de dos índices y indicadores relativamente fuertes y débiles para identificar oportunidades comerciales potenciales en el mercado. Es adecuada para los operadores que siguen movimientos de precios más grandes y fluctuaciones.
La idea central es comprar cuando la media móvil de 9 semanas del índice rápido rompe hacia arriba la media móvil de 21 semanas del índice más lenta, ya que esto indica que la tendencia del mercado puede estar fortaleciéndose. Luego, si el RSI es mayor que 50, confirma la señal de compra, ya que significa que el impulso ascendente del precio es fuerte.
En concreto, cuando la EMA de 9 semanas está por encima de la EMA de 21 semanas y el RSI de 14 semanas es mayor a 50, se emite una señal de compra. Luego, se utiliza un riesgo de 2% para abrir la cuenta, un stop loss de 5%, un stop loss de 10% y un stop loss de 3% para bloquear las ganancias.
Las señales de venta se basan en la lógica opuesta: si la EMA de la semana 9 cae por debajo de la EMA de la semana 21 o el RSI está por debajo de 50; esto significa que la tendencia corta ha cambiado de dirección a la baja.
Se puede optimizar mediante la prueba sistemática de combinaciones de estos parámetros. También se pueden agregar filtros en la lógica condicional para reducir la transacción de ruido. Considerar los factores fundamentales puede proporcionar más confirmación.
La estrategia aprovecha la fuerza de la EMA y el RSI para identificar oportunidades potenciales en tendencias a mediano y largo plazo. Proporciona reglas claras de gestión de riesgos que controlan eficazmente el riesgo de cada operación. Se puede continuar mejorando el rendimiento de la estrategia mediante pruebas y optimización de parámetros adicionales. Proporciona un método eficaz para rastrear grandes fluctuaciones periódicas en el mercado.
/*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)