La estrategia de conversión del MACD calcula las líneas DIFF y DEA del indicador MACD para determinar si la tendencia del mercado se ha invertido, generando así señales comerciales.
La estrategia se basa principalmente en las líneas DIFF y DEA del indicador MACD. MACD significa Divergencia de convergencia de promedio móvil, que consta de las líneas DIFF, DEA y MACD. Entre ellas, DIFF representa la diferencia entre la EMA a corto plazo y la EMA a largo plazo, DEA es la EMA de DIFF utilizada para verificar las señales DIFF, y MACD representa la diferencia entre DIFF y DEA, utilizada para identificar divergencias.
Cuando el DIFF se rompe por encima de DEA, significa que el promedio móvil a corto plazo comienza a fortalecerse y el mercado se vuelve alcista. Cuando el DIFF se rompe por debajo de DEA, sugiere que el promedio móvil a corto plazo se vuelve débil y el mercado se vuelve bajista. Por lo tanto, esta estrategia es larga cuando el DIFF cruza por encima de DEA y corta cuando cruza por debajo.
Además, la estrategia incorpora filtros de EMA de precios para evitar falsas rupturas. Sólo va largo cuando el DIFF rompe por encima de DEA y el precio está por debajo del precio largo anterior, y sólo va corto cuando el DIFF rompe por debajo de DEA y el precio está por encima del precio corto anterior.
Esta estrategia combina el indicador MACD y los filtros de EMA de precios para evitar señales falsas generadas únicamente por el MACD, mejorando así el rendimiento comercial.
Las principales ventajas incluyen:
La estrategia de conversión de la media móvil MACD también tiene algunos riesgos:
Las principales formas de optimizar los riesgos son:
La estrategia de conversión de la media móvil MACD a la tasa de bajada de los precios puede optimizarse aún más en las siguientes dimensiones:
La estrategia de conversión de los promedios alcistas y bajistas del MACD identifica la entrada de los mercados alcista/bajista mediante señales cruzadas DIFF y DEA, y utiliza filtros de EMA de precios para eliminar señales falsas, determinando efectivamente los puntos de inversión de tendencia del mercado. Con una lógica simple y clara, identifica rápidamente los puntos de conversión adecuados para el comercio a corto y mediano plazo.
/*backtest start: 2022-12-01 00:00:00 end: 2023-12-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("macd_strategy", shorttitle="macd", overlay=true, pyramiding=1, max_bars_back=5000, calc_on_order_fills = false, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type =strategy.commission.percent, commission_value=0.00075) [diff, dea, _] = macd(close, 12, 26, 7) dea_close = ema(diff, 3) price = ema(close, 9) plot(price) cross_over_price = na cross_over_signal = na cross_over_price := cross_over_price[1] cross_over_signal := cross_over_signal[1] cross_under_price = na cross_under_signal = na cross_under_price := cross_under_price[1] cross_under_signal := cross_under_signal[1] if (crossover(diff,dea)) cross_over_price := price[1] cross_over_signal := diff if (crossunder(diff,dea)) cross_under_price := price[1] cross_under_signal := diff if dea > 0 cross_over_price = na cross_over_signal = na else cross_under_price = na cross_under_signal = na if diff > 0 if cross_under_price > cross_under_price[1]*1 and cross_under_signal < cross_under_signal[1]*0.95 strategy.entry("S", strategy.short, comment="S") else if cross_over_price < cross_over_price[1]*1 and cross_over_signal > cross_over_signal[1]*0.95 strategy.entry("B", strategy.long, comment="B") // strategy.exit("exit_s", "S", stop = strategy.position_avg_price*1.05, when=strategy.position_size < 0) // strategy.exit("exit_b", "B", stop = strategy.position_avg_price*0.95, when=strategy.position_size > 0) strategy.close_all(when=(strategy.position_size < 0 and (dea < 0 or diff > cross_under_signal*1 or crossover(diff, dea)) or (strategy.position_size > 0 and (dea > 0 or diff < cross_over_signal*1 or crossunder(diff, dea)))))