La estrategia utiliza una combinación de cruces de medias móviles binarias y indicadores relativamente fuertes para identificar oportunidades potenciales de negociación en el mercado. Es adecuada para operadores que siguen movimientos de precios y fluctuaciones más grandes.
La idea central es comprar cuando el rápido índice de 9 semanas de movimiento promedio hacia arriba rompe con el más lento índice de 21 semanas de movimiento promedio, ya que esto indica que la tendencia del mercado puede estar fortaleciéndose. Luego, si el RSI es mayor que 50, confirme la señal de compra, ya que esto significa que el impulso de los precios hacia arriba es fuerte.
Concretamente, una señal de compra se emite 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. Luego se utiliza el riesgo de la cuenta del 2% para abrir una posición, el 5% para detener la pérdida, el 10% para detener la pérdida y el 3% para seguir la pérdida para bloquear las ganancias.
Las señales de venta se basan en la lógica inversa: si la EMA de 9 semanas baja por debajo de la EMA de 21 semanas o el RSI es inferior a 50, significa que la tendencia a corto plazo ha cambiado a la baja.
La combinación de estos parámetros se puede optimizar mediante pruebas sistemáticas. También se pueden agregar filtros en la lógica condicional para reducir el intercambio de ruido. Considerar los factores fundamentales puede proporcionar más confirmación.
La estrategia utiliza el poder de las EMA y el RSI para identificar oportunidades potenciales en tendencias a medio y largo plazo. Proporciona reglas claras de gestión de riesgos que permiten controlar eficazmente el riesgo de cada 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)