La EMA Breakthrough Trap Strategy es una herramienta de negociación versátil adecuada para múltiples marcos de tiempo, incluidos los gráficos de 1 minuto y 1 hora. Utiliza la EMA de 21 días para identificar tendencias significativas del mercado, complementada con la identificación basada en ATR de posibles trampas para toros y osos.
La estrategia primero calcula el promedio móvil exponencial de 21 días (EMA) para juzgar la tendencia y dirección general. Luego calcula los precios más altos y más bajos de los últimos N días (N es un parámetro ajustable). Si el precio de cierre es más alto que el precio más alto del día anterior, y el punto más bajo posterior ha caído por debajo del precio más alto multiplicado por el indicador ATR, mientras que el precio de cierre ha caído por debajo de la línea de 21 días, se determina una señal de trampa alcista.
Una vez que se identifica una señal de trampa, establezca la stop loss y tome ganancias basándose en el 80% de la distancia entre los precios más altos y más bajos recientes, y tome la posición inversa.
Los riesgos pueden reducirse optimizando los parámetros de la EMA, ajustando los coeficientes ATR, el stop loss de seguimiento dinámico, etc.
La estrategia de trampa de avance de la EMA integra las ventajas del juicio de tendencias y la identificación de trampas. Con bajas reducciones y alta rentabilidad, es adecuada para varios estilos de negociación y es una estrategia altamente eficiente recomendada. Se pueden lograr mejoras adicionales en el espacio de estabilidad y rentabilidad a través de la optimización de parámetros y mecanismos.
/*backtest start: 2023-02-14 00:00:00 end: 2024-02-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bull and Bear Trap Strategy with EMA 21 - 1min Chart", overlay=true) // Inputs length = input(5, "Length") atrMultiplier = input(1.0, "ATR Multiplier") emaLength = input(21, "EMA Length") price = close atr = ta.atr(length) // EMA Calculation ema21 = ta.ema(price, emaLength) // Define recent high and low recentHigh = ta.highest(high, length) recentLow = ta.lowest(low, length) // Bull and Bear Trap Detection bullTrap = price > recentHigh[1] and low <= recentHigh - atr * atrMultiplier and price < ema21 bearTrap = price < recentLow[1] and high >= recentLow + atr * atrMultiplier and price > ema21 // Plotting plotshape(series=bullTrap, title="Bull Trap", location=location.abovebar, color=color.red, style=shape.triangleup, size=size.small) plotshape(series=bearTrap, title="Bear Trap", location=location.belowbar, color=color.green, style=shape.triangledown, size=size.small) plot(ema21, title="EMA 21", color=color.blue) // Measured Move Implementation moveSize = recentHigh - recentLow targetDistance = moveSize * 0.8 // Target at 80% of the move size // Strategy Execution with Measured Move Targets if (bullTrap) strategy.entry("Enter Short (Sell)", strategy.short) strategy.exit("Exit Short (Buy to Cover)", "Enter Short (Sell)", limit=price - targetDistance) if (bearTrap) strategy.entry("Enter Long (Buy)", strategy.long) strategy.exit("Exit Long (Sell)", "Enter Long (Buy)", limit=price + targetDistance)