
A estratégia de rastreamento de tendências do MACD é baseada na análise do indicador MACD e sua linha de sinalização para determinar a tendência e obter lucro com a tendência.
A estratégia baseia-se no indicador MACD para determinar a direção da tendência. O indicador MACD é um indicador de rastreamento de tendências, diferente da média móvel, composto por linha rápida (MACD), linha lenta (Signal) e histograma. O forco de ouro da linha rápida e lenta indica que a tendência pode iniciar um mercado de touros, enquanto o forco morto indica que a tendência pode iniciar um mercado de touros.
Quando o histograma sobe de negativo para positivo, gera um sinal de forca de ouro, indicando que a negociação pode ter começado, e pode estabelecer uma posição a mais; quando o histograma muda de positivo para negativo, gera um sinal de forca morta, indicando que a negociação pode chegar ao topo, e pode nivelar a posição a mais ou estabelecer uma posição a zero.
A estratégia de acompanhamento de tendências do MACD é um método de determinação de tendências mais confiável. A otimização de parâmetros, em conjunto com a confirmação de outros indicadores, pode reduzir significativamente a taxa de falso sinal, obtendo assim um maior lucro estratégico.
/*backtest
start: 2022-11-17 00:00:00
end: 2023-11-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("MACD")
// Getting inputs
fastLength = input(title="Fast Length", defval=12)
slowlength = input(title="Slow Length", defval=26)
src = input(title="Source", defval=close)
signalLength = input(title="Signal Smoothing", minval = 1, maxval = 50, defval = 9)
// Calculating
macd = ema(close, fastLength) - ema(close, slowlength)
signal = ema(macd, signalLength)
delta = macd - signal
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00
// Plot histogram
plot(delta, title="Histogram", style=columns, color=(delta>=0 ? (delta[1] < delta ? col_grow_above : col_fall_above) : (delta[1] < delta ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
// Plot orders
if (crossover(delta, 0))
strategy.entry("buy", strategy.long)
if (crossunder(delta, 0))
strategy.entry("sell", strategy.short)