Estrategia de persistencia de cruce de MACD en múltiples zonas horarias combinada con filtro de tendencia EMA

MACD EMA
Fecha de creación: 2025-02-21 10:11:34 Última modificación: 2025-02-27 17:17:57
Copiar: 1 Número de Visitas: 366
2
Seguir
319
Seguidores

Estrategia de persistencia de cruce de MACD en múltiples zonas horarias combinada con filtro de tendencia EMA Estrategia de persistencia de cruce de MACD en múltiples zonas horarias combinada con filtro de tendencia EMA

Descripción general

La estrategia es un sistema de negociación multi-zona horaria basado en el indicador MACD y en las medias móviles. Combina el indicador MACD con dos períodos de tiempo, 1 minuto y 3 minutos, mientras que utiliza el ciclo 200 de EMA como un filtro de tendencia para negociar capturando la continuidad de las tendencias del mercado. La estrategia contiene un mecanismo de gestión de riesgos que incluye la función de ajuste dinámico de los parámetros de pérdida y el movimiento a los puntos de apoyo.

Principio de estrategia

La lógica central de la estrategia se basa en los siguientes elementos clave:

  1. El indicador MACD utiliza dos períodos de tiempo de 1 minuto y 3 minutos para confirmar la continuidad de la tendencia
  2. El EMA de los 200 ciclos como base para las principales tendencias
  3. Filtración de señales de comercio en combinación con la relación entre el precio y la posición de la línea media
  4. Hacer transacciones basadas en filtros de tiempo de transacción

Las reglas de generación de señales de negociación específicas son las siguientes:

  • Señales múltiples: la línea MACD está por encima de la línea cero y cruza la línea de señal hacia arriba, mientras que la confirmación de la tendencia de 3 minutos MACD, el precio está por encima de EMA200
  • Señales de cabeza vacía: la línea MACD está por debajo de la línea cero y cruza la línea de señal hacia abajo, al mismo tiempo que el MACD confirma la tendencia por 3 minutos, el precio está por debajo de la EMA200

Ventajas estratégicas

  1. La confirmación de múltiples períodos de tiempo mejora la precisión de las transacciones
  2. La combinación de filtros de tendencias reduce las señales falsas
  3. Incluye un mecanismo de control de riesgos completo
  4. El uso de filtros de tiempo evita las transacciones durante los períodos no activos
  5. El ajuste dinámico del punto de reserva protege las ganancias obtenidas
  6. La lógica de las estrategias es clara y permite ajustes y optimizaciones.

Riesgo estratégico

  1. Riesgo de deslizamiento en un mercado muy volátil
  2. El mecanismo de confirmación múltiple puede llevar a perder algunas oportunidades de transacción
  3. Los puntos de parada fijos pueden no ser lo suficientemente flexibles en ciertos entornos de mercado
  4. Es necesario considerar el impacto de los costos de transacción en los retornos de la estrategia
  5. En un mercado muy volátil, podría haber un retiro mayor.

Sugerencias para el control de riesgos:

  • Ajuste de la distancia de detención a las fluctuaciones del mercado
  • Considere aumentar los objetivos de ganancias para asegurar la rentabilidad
  • Suspensión de las transacciones durante la publicación de datos económicos importantes
  • Evaluar y ajustar periódicamente los parámetros de la estrategia

Dirección de optimización de la estrategia

  1. Ajuste dinámico de los parámetros MACD:
  • Adaptación a las fluctuaciones del mercado
  • Considere el uso de una media móvil adaptada
  1. Mejoras en el filtro de tiempo:
  • Sección de tiempo para refinar las transacciones
  • Combinación de análisis de volumen para optimizar el tiempo de negociación
  1. Mecanismo de stop loss optimizado:
  • Introducción de la pérdida dinámica
  • Distancia de pérdida basada en la configuración ATR
  1. En la actualidad, el gobierno de la República Democrática del Congo está en proceso de liberación.
  • Añadir más confirmación de indicadores técnicos
  • Considerar la introducción de análisis de comportamiento de precios

Resumir

La estrategia, mediante la combinación de indicadores MACD de períodos múltiples y filtros de tendencias EMA, construye un sistema de negociación relativamente completo. Su ventaja radica en la integridad de los mecanismos de confirmación múltiple y la gestión de riesgos, pero también debe tener en cuenta los problemas de adaptabilidad en diferentes entornos de mercado.

Código Fuente de la Estrategia
/*backtest
start: 2025-02-13 00:00:00
end: 2025-02-15 02:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("NQ MACD Continuation Backtest", overlay=true)

// MACD Settings
fastLength = 12
slowLength = 26
signalLength = 9

// 1-minute MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)

// 3-minute MACD for trend filter
[htfMacd, htfSignal, _] = request.security(syminfo.tickerid, "3", ta.macd(close, fastLength, slowLength, signalLength), lookahead=barmerge.lookahead_on)

// 200 EMA
ema200 = ta.ema(close, 200)

// Time Filters
inSession = (hour(time, "America/New_York") >= 9 and (hour(time, "America/New_York") > 9 or minute(time, "America/New_York") >= 45)) and (hour(time, "America/New_York") < 22 or (hour(time, "America/New_York") == 22 and minute(time, "America/New_York") == 30))
notRestricted = (hour(time, "America/New_York") >= 6 and hour(time, "America/New_York") < 22)

// Track Previous MACD Crosses
var bool bullishCrossed = false
var bool bearishCrossed = false
if (ta.crossover(macdLine, signalLine) and macdLine > 0)
    bullishCrossed := true
if (ta.crossunder(macdLine, signalLine) and macdLine < 0)
    bearishCrossed := true

// Define Continuation Signals with EMA and 3-Min MACD Filter
bullishContinuation = (ta.crossover(macdLine, signalLine) and macdLine > 0 and signalLine > 0 and htfMacd > htfSignal and bullishCrossed and close > ema200)
bearishContinuation = (ta.crossunder(macdLine, signalLine) and macdLine < 0 and signalLine < 0 and htfMacd < htfSignal and bearishCrossed and close < ema200)

// Entry Conditions with SL and 10 Contracts
if (bullishContinuation and inSession and notRestricted)
    strategy.entry("Long", strategy.long, qty=10, stop=close - 7 * syminfo.mintick)
if (bearishContinuation and inSession and notRestricted)
    strategy.entry("Short", strategy.short, qty=10, stop=close + 7 * syminfo.mintick)

// Break-Even Adjustment
if (strategy.position_size > 0 and close >= strategy.position_avg_price + 5 * syminfo.mintick)
    strategy.exit("BreakEvenLong", from_entry="Long", stop=strategy.position_avg_price)
if (strategy.position_size < 0 and close <= strategy.position_avg_price - 5 * syminfo.mintick)
    strategy.exit("BreakEvenShort", from_entry="Short", stop=strategy.position_avg_price)

// Display Indicators on Chart
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.orange, title="Signal Line")
plot(ema200, color=color.red, title="200 EMA")