Esta estrategia genera señales de entrada y salida mediante el cálculo de la media móvil exponencial de la EMA y el indicador MACD y la combinación de las señales de cruce de ambos.
Esta estrategia utiliza el promedio móvil exponencial de la EMA para determinar la dirección de la tendencia actual. Al mismo tiempo, utiliza el cruce promedio móvil del indicador MACD para generar señales comerciales. Solo cuando el precio rompe la línea EMA se considerarán las señales de cruz dorada y cruz de muerte de la MACD. Esto evita señales falsas.
La estrategia se basa principalmente en las ventajas de las estrategias de negociación de promedio móvil y las estrategias de negociación MACD. El promedio móvil puede juzgar la dirección de la tendencia bastante bien. Los cruces de línea rápidos y lentos del promedio móvil exponencial MACD pueden indicar puntos de compra y venta. El uso de ambos en combinación puede mejorar la precisión de las señales.
Esta estrategia combina los indicadores duales EMA y MACD para filtrar efectivamente algunas señales falsas y mejorar la calidad de la señal. Al mismo tiempo, la EMA juzga la tendencia principal y el MACD juzga puntos de entrada y salida específicos. Los dos se complementan y pueden lograr buenos rendimientos.
Además, esta estrategia solo considera la señal MACD cuando el precio rompe la línea EMA, evitando operaciones incorrectas en mercados agitados.
El principal riesgo de esta estrategia radica en la configuración de los parámetros. Si los parámetros de EMA y MACD se establecen incorrectamente, las señales pueden faltar o generarse señales falsas. Además, si la tendencia del mercado se invierte, la estrategia incurrirá en algunas pérdidas.
Para reducir los riesgos, los parámetros deben ajustarse adecuadamente para que coincidan con el ciclo actual del mercado de EMA y MACD. Al mismo tiempo, se recomienda utilizar stop loss para controlar la pérdida única. Cuando el mercado entra en un proceso de fondo o toca el soporte, la negociación debe suspenderse para evitar pérdidas sostenidas.
Se pueden optimizar los siguientes aspectos de la estrategia:
Optimización dinámica de los parámetros para ajustar los parámetros EMA y MACD de acuerdo con las condiciones y ciclos de mercado en tiempo real para garantizar la validez de los parámetros
Añadir otros indicadores en combinación, como canales BOLL o indicadores KD, para enriquecer las señales de estrategia
Utilice métodos de aprendizaje automático para optimizar automáticamente los parámetros de estrategia y ajustar los parámetros basados en los resultados de las pruebas de retroceso
Al romper la línea EMA, juzgue la fuerza de la dirección para evitar falsas rupturas
Añadir estrategias de toma de ganancias y de stop loss para bloquear las ganancias y reducir las pérdidas
La estrategia cuantitativa de cruce de promedio móvil combina indicadores EMA y MACD duales para generar señales de alta calidad de manera efectiva. La optimización de la configuración de parámetros, la adición de stop loss / taking profit, la adición de otros indicadores, etc. puede mejorar aún más la estabilidad y la rentabilidad de la estrategia. Esta estrategia efectiva y simple tiene un gran valor de referencia y aplicación para los operadores cuantitativos.
/*backtest start: 2022-12-15 00:00:00 end: 2023-12-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("LONERTESTV2", overlay=true) // Input definitions fastLength = input(12, title="Fast Length") slowlength = input(26, title="Slow Length") MACDLength = input(9, title="MACD Length") emaLength = input(13, title="EMA Length") //smaLength = input(200, title="SMA Length") // SMA Indicator - Are we in a Bull or Bear market according to 200 SMA? //SMA = ta.ema(close, smaLength) // EMA Indicator - Are we in a rally or not? EMA = ta.ema(close, emaLength) // MACD Indicator - Is the MACD bullish or bearish? MACD = ta.ema(close, fastLength) // - ta.ema(close, slowlength) aMACD = ta.ema(MACD, MACDLength) delta = MACD - aMACD // Set Buy/Sell conditions buy_entry = close > EMA and delta > 5 ? true : close > EMA and delta > -5 sell_entry = close < EMA and delta < -5 ? true : close < EMA and delta < 5 if buy_entry strategy.entry(id='EL', direction=strategy.long) if sell_entry strategy.entry(id='ES', direction=strategy.short) // strategy.entry("Buy", strategy.long) // strategy.entry("Sell", strategy.short)