
A estratégia de dinâmica MACD é uma estratégia de tendência de seguimento de curto prazo baseada no indicador MACD. Utiliza a linha MACD e a linha de sinal para determinar a mudança na tendência de preços para capturar a dinâmica de preços de curto prazo. A vantagem da estratégia é a simplicidade de operação e a eficácia de acompanhar a tendência de curto prazo; a desvantagem é a propensão a excesso de negociação.
A estratégia usa linhas MACD e linhas de sinalização do indicador MACD, bem como preços máximos e mínimos para estabelecer padrões de entrada, parada e parada.
Especificamente, quando o MACD linear atravessa a linha de sinal e gera golden cross, é considerado um sinal de compra, fazendo mais; quando o MACD linear atravessa a linha de sinal e gera dead cross, é considerado um sinal de venda, equilibrando a posição.
O padrão de stop loss é definido como o preço mínimo do bar mais recente, e o padrão de stop loss é definido como o preço máximo dos três bares mais recentes.
Pode ser otimizado e melhorado por meio de ajustes de parâmetros MACD, adição de condições de filtragem e redução do alcance de parada.
A estratégia de dinâmica do MACD é uma estratégia simples de acompanhamento de tendências de curto prazo. Ela usa os indicadores do MACD para determinar a mudança de energia dos preços, capturar rapidamente a tendência de curto prazo e é adequada para os comerciantes ativos que buscam lucros a curto prazo.
/*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")