La estrategia de impulso MACD es una estrategia de seguimiento de tendencias a corto plazo basada en el indicador MACD. Utiliza la línea MACD y los cruces de la línea de señal para determinar los cambios de tendencia y capturar el impulso de precios a corto plazo. Las ventajas de esta estrategia son su operación simple y su efectividad en el seguimiento de tendencias a corto plazo. Las desventajas son el comercio frecuente y la sobreoptimización.
La estrategia emplea la línea MACD, la línea de señal del indicador MACD, así como los precios más altos y más bajos para formular los criterios de entrada, stop loss y take profit.
Específicamente, cuando la línea MACD cruza por encima de la línea de señal, se forma una cruz dorada, lo que indica una señal de compra para ir largo.
El stop loss se establece en el precio más bajo de la barra más reciente, y el take profit se establece en el precio más alto de las 3 barras recientes.
Los métodos de optimización incluyen ajustar los parámetros MACD, agregar filtros, reducir el rango de stop loss.
La estrategia de impulso MACD es una estrategia de seguimiento de tendencias a corto plazo. Utiliza el indicador MACD para determinar los cambios de impulso de precios y captura rápidamente las tendencias a corto plazo, adecuado para los operadores activos que buscan ganancias a corto plazo. Las ventajas son su simplicidad e operaciones intuitivas, pero también conlleva riesgos de sobrecompra y pérdidas amplificadas por alto stop loss. La estrategia se puede mejorar mediante ajuste de parámetros, añadir filtros, mejorar el tamaño de la posición para controlar aún más los riesgos y expandir la rentabilidad.
/*backtest start: 2022-10-15 00:00:00 end: 2023-10-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("MACD Momentum Strategy", overlay=true) // MACD settings [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) // Entry criteria enterLong = ta.crossover(macdLine, signalLine) // Exit criteria exitLong = ta.crossunder(macdLine, signalLine) // Calculate stop-loss and take-profit levels stopLossLevel = ta.lowest(low, 1) takeProfitLevel = ta.highest(high, 3) // Execute the strategy if (enterLong) strategy.entry("Buy", strategy.long) if (exitLong) strategy.close("Buy") strategy.exit("Take Profit/Stop Loss", "Buy", loss=stopLossLevel, profit=takeProfitLevel) // Plot the MACD and signal line plot(macdLine, color=color.blue, title="MACD Line") plot(signalLine, color=color.red, title="Signal Line")