Esta estrategia utiliza principalmente la línea media móvil EMA y el indicador MACD para determinar los cambios en los patrones del mercado y realiza estrategias de negociación de impulso. La idea central es ir largo cuando la línea EMA a corto plazo cruza por encima de la línea EMA a largo plazo y el MACD cruza simultáneamente por encima de 0, y ir corto cuando la EMA a corto plazo cruza por debajo de la EMA a largo plazo y el MACD cruza simultáneamente por debajo de 0.
Esta estrategia integra el indicador de línea de media móvil y el indicador MACD.
Primero, utiliza dos indicadores de EMA con diferentes longitudes de ciclo, uno es la línea EMA de 25 ciclos y el otro es la línea EMA de 50 ciclos. La línea EMA de 25 ciclos puede reflejar tendencias a corto plazo mientras que la línea EMA de 50 ciclos refleja tendencias a mediano y largo plazo. Cuando la línea EMA a corto plazo cruza por encima de la línea EMA a largo plazo desde la parte inferior, indica que el mercado está cambiando de declive a alza, lo que es una señal cruzada de oro para ir largo. Cuando la EMA a corto plazo cruza por debajo de la EMA a largo plazo desde arriba, indica que el mercado está cambiando de alza a baja, lo que es una señal cruzada de muerte para ir corto.
Al mismo tiempo, la estrategia también incorpora señales del indicador MACD. El indicador MACD incluye una línea DIF y una línea DEA, que representan la diferencia entre los promedios móviles exponenciales a corto y largo plazo, calculados por EMA dobles. Esta estrategia establece la DIF como la diferencia entre la EMA de 12 días y la EMA de 26 días. La línea DEA es la media móvil exponencial de 9 días del DIF. La línea DIF representa el impulso mientras que la línea DEA representa el promedio MACD. Cuando la DIF cruza por encima de la línea DEA desde abajo, genera una señal de compra. Cuando la DIF cruza por debajo de la DEA desde arriba, genera una señal de venta.
Combinando estos dos indicadores, se genera una señal de entrada larga cuando la EMA de 25 días tiene una cruz dorada de la EMA de 50 días, mientras que la línea DIF del MACD
Esta es una estrategia muy típica de doble vía que se integra con el indicador MACD para generar señales comerciales más confiables con las siguientes ventajas:
El uso de líneas de EMA duales puede evitar las flechas y las falsas rupturas para generar señales comerciales más confiables.
La integración del indicador MACD permite verificar aún más las señales de negociación y evitar el riesgo de falsas señales EMA de doble vía, mejorando la eficacia práctica de la estrategia.
Utilizando la línea de 25 y 50 días como línea rápida y lenta, la selección de parámetros es más precisa y puede capturar cambios significativos de tendencia en ciclos a medio y corto plazo.
Al perseguir el impulso y la mentalidad de la reversión media, esta estrategia puede superar al índice de referencia y lograr rendimientos significativos durante las tendencias alcistas y bajistas en el mercado en general.
La lógica de la estrategia es simple y directa, fácil de entender e implementar, adecuada para principiantes cuantitativos.
Los parámetros pueden optimizarse cuidadosamente para adaptar mejor la estrategia a diferentes productos y entornos de mercado.
Hay todavía algunos riesgos que vale la pena notar para esta estrategia:
La posibilidad de señales EMA falsas permanece, aunque puede ocurrir en movimientos violentos del mercado.
Los parámetros MACD necesitan una optimización y un ajuste continuos, de lo contrario pueden producirse señales incorrectas o retrasos de señal.
Es necesario tener cuidado de si la configuración del punto de stop loss es razonable para evitar avances ineficaces que causan mayores pérdidas.
Necesidad de prestar atención a los cambios en el entorno de mercado y de política para evitar riesgos sistémicos que causen mayores pérdidas.
Necesidad de controlar el tamaño de las posiciones y el nivel de apalancamiento para evitar el riesgo de liquidación forzada por tendencias unilaterales.
Esta estrategia también puede optimizarse en los siguientes aspectos:
Prueba combinaciones de parámetros más precisas con una mayor eficiencia práctica, como el uso de líneas de EMA de 20 y 60 días como pistas de negociación, con DIF como la diferencia entre la EMA de 10 y la EMA de 20 días.
Aumentar la confirmación de los indicadores de volumen de negociación para evitar falsos breakouts de bajo volumen.
Incorporar indicadores de volatilidad como ATR para determinar métodos más científicos de stop loss.
Utilice algoritmos de aprendizaje automático para optimizar automáticamente los parámetros para adaptarse dinámicamente a los entornos cambiantes del mercado.
Añadir un módulo de control de dimensionamiento de posición para ajustar dinámicamente los tamaños en función del rendimiento de la estrategia y las métricas.
Puede trazar señales de estrategia en gráficos de marcos de tiempo más altos para ayudar a las decisiones sobre operaciones direccionales a más largo plazo.
Esta estrategia integra los puntos fuertes de los indicadores de línea media móvil e indicadores MACD al juzgar patrones de candlestick de mayor calidad a través de líneas EMA duales combinadas con DIF y DEA que coinciden en la dirección del impulso MACD, formando una estrategia de comercio de impulso estable y eficiente. La lógica es simple y fácil de entender y optimizar, muy adecuada para que los comerciantes de cantidad comiencen e implementen. A través de pruebas y optimización continuas, esta estrategia puede convertirse en una de las estrategias de valor que superan a los índices.
/*backtest start: 2022-12-05 00:00:00 end: 2023-12-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="EMA+MACD", shorttitle="EMA+MACD", overlay=true) // Getting inputs fast_length = input(title="Fast Length", type=input.integer, defval=12) slow_length = input(title="Slow Length", type=input.integer, defval=26) src = input(title="Source", type=input.source, defval=close) signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9) sma_source = input(title="Oscillator MA Type", type=input.string, defval="EMA", options=["SMA", "EMA"]) sma_signal = input(title="Signal Line MA Type", type=input.string, defval="EMA", options=["SMA", "EMA"]) fast_ma = sma_source == "SMA" ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source == "SMA" ? sma(src, slow_length) : ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? sma(macd, signal_length) : ema(macd, signal_length) hist = macd - signal len1 = input(title="Len Ema 1 ",type=input.integer,defval=25) len2 = input(title="Len Ema 2 ",type=input.integer,defval=50) ema1 = ema(src,len1) ema2 = ema(src,len2) bull = crossover(ema1,ema2) and macd > 0 bear = crossover(ema2,ema1) and macd < 0 l1 = bull ? label.new(x=bar_index,y=low,yloc=yloc.belowbar,text="BUY",color=color.green,textcolor=color.white,style=label.style_triangleup) : na l2 = bear ? label.new(x=bar_index,y=high,yloc=yloc.abovebar,text="SELL",color=color.red,textcolor=color.white,style=label.style_triangledown) : na strategy.entry("LONG",strategy.long,when=bull) strategy.entry("SHORT",strategy.short,when=bear)