⬡ INDICADOR · COM CÓDIGO · LEITURA 12 MIN

MACD: o indicador e a estratégia automatizável.

Um dos indicadores mais poderosos — e mais mal interpretados. Vamos destrinchar as três partes (linha, sinal, histograma), os cruzamentos, divergências, e o código pronto pra robô.

Por Equipe RoboTraderIA· atualizado mai/2026· nível intermediário

O MACD parece intimidador no começo — três elementos, dois números, um histograma — mas a ideia central é simples: ele mede se a tendência está acelerando ou desacelerando, comparando duas médias móveis. Depois deste guia, você vai entender cada parte e ter o código pra automatizar a estratégia clássica.

01O que é o MACD

MACD significa Moving Average Convergence Divergence (Convergência e Divergência de Médias Móveis), criado por Gerald Appel no fim dos anos 1970. Ele é, ao mesmo tempo, indicador de tendência e de momentum. Tem três componentes:

  • Linha MACD: a diferença entre a média exponencial (EMA) de 12 períodos e a de 26. Quando a rápida está acima da lenta, é positiva (momentum de alta).
  • Linha de sinal: uma EMA de 9 períodos da própria linha MACD. Serve de gatilho.
  • Histograma: a diferença entre a linha MACD e a linha de sinal. Mostra a força do movimento visualmente.

Os números 12, 26, 9: são o padrão de Appel. 12 = média rápida, 26 = média lenta, 9 = linha de sinal. Você pode ajustar, mas esses valores são tão difundidos que muitos traders reagem a eles — há valor em usar o que o mercado todo observa.

linha zero histograma vira positivo linha MACD linha sinal cruzamento ↑ = compra
A linha MACD (azul) cruza a linha de sinal (dourada) e o histograma vira positivo — sinal clássico de compra.

02Os sinais do MACD

1. Cruzamento das linhas (o clássico)

O sinal mais usado: quando a linha MACD cruza a linha de sinal pra cima → compra. Quando cruza pra baixo → venda. É a base da estratégia automatizável.

2. Cruzamento da linha zero

Quando a linha MACD cruza o zero pra cima, a média rápida passou a média lenta — confirmação de tendência de alta. Pra baixo, tendência de baixa. Mais lento, mas mais confiável que o cruzamento das linhas.

3. Histograma

O histograma cresce quando o momentum acelera e encolhe quando desacelera. Histograma diminuindo (mesmo ainda positivo) avisa que a alta está perdendo força — antecipa o cruzamento.

4. Divergências

Como no RSI, divergência entre preço e MACD é poderosa: preço faz topo mais alto, MACD faz topo mais baixo → enfraquecimento, possível reversão.

A fraqueza do MACD: ele é baseado em médias, então atrasa. Em mercado lateral, gera muitos cruzamentos falsos ("serrote"). Como o RSI, o MACD brilha em tendência e sofre em consolidação. Não opere cruzamento de MACD em mercado lateral sem filtro.

03Programando o MACD

Pine Script (TradingView)
//@version=5
strategy("MACD Cruzamento", overlay=false)

rapida = input.int(12, "EMA Rápida")
lenta  = input.int(26, "EMA Lenta")
sinal  = input.int(9,  "Linha de Sinal")

[macdLine, signalLine, hist] = ta.macd(close, rapida, lenta, sinal)

plot(macdLine, "MACD", color=color.blue)
plot(signalLine, "Sinal", color=color.orange)
plot(hist, "Histograma", style=plot.style_histogram,
     color=hist >= 0 ? color.green : color.red)

// estratégia: cruzamento das linhas
if ta.crossover(macdLine, signalLine)
    strategy.entry("Compra", strategy.long)
if ta.crossunder(macdLine, signalLine)
    strategy.close("Compra")
Python (com pandas)
import pandas as pd

def calcular_macd(precos, rapida=12, lenta=26, sinal=9):
    ema_rapida = precos.ewm(span=rapida, adjust=False).mean()
    ema_lenta  = precos.ewm(span=lenta,  adjust=False).mean()
    macd_line   = ema_rapida - ema_lenta
    signal_line = macd_line.ewm(span=sinal, adjust=False).mean()
    histograma  = macd_line - signal_line
    return macd_line, signal_line, histograma

macd, sinal_l, hist = calcular_macd(df["close"])

# detecta cruzamento de alta no último candle
cruzou_cima = (macd.iloc[-2] < sinal_l.iloc[-2]) and \
              (macd.iloc[-1] > sinal_l.iloc[-1])
if cruzou_cima:
    print("MACD cruzou pra cima — sinal de compra")

Atalho: em Python, pandas-ta tem MACD pronto: df.ta.macd(fast=12, slow=26, signal=9). O cálculo manual acima é pra você entender a mecânica.

Combine MACD com outros indicadores

Veja como o RSI complementa o MACD pra filtrar sinais falsos.

Ver guia do RSI →

04Melhorando a estratégia

O cruzamento puro de MACD gera muitos falsos. Filtros que melhoram bastante:

  • Filtro de tendência: só compre se o preço está acima da média de 200, e MACD cruzou pra cima.
  • Filtro de linha zero: só valide o cruzamento se acontecer acima de zero (já em tendência de alta).
  • Confirmação com RSI: cruzamento de MACD + RSI acima de 50 = sinal mais forte.

Princípio: nenhum indicador isolado é suficiente. O MACD ganha muito quando confirma (ou é confirmado por) tendência e momentum de outras fontes. Combinação reduz falso positivo.

05Perguntas frequentes

O que é o MACD?

É um indicador de momentum e tendência que mostra a relação entre duas médias móveis exponenciais (12 e 26), com uma linha de sinal (9) e um histograma. Mede se a tendência acelera ou desacelera.

Quais os parâmetros padrão?

12, 26, 9: média rápida de 12, lenta de 26, sinal de 9. Definidos por Gerald Appel e amplamente usados — há valor em usar o que o mercado todo observa.

Como gerar sinal de compra?

O clássico é quando a linha MACD cruza a linha de sinal pra cima (compra) ou pra baixo (venda). O cruzamento da linha zero e o histograma complementam. Sempre filtre com tendência pra evitar falsos.

MACD ou RSI?

Não é "ou" — são complementares. MACD é mais focado em tendência/momentum de médias; RSI em sobrecompra/sobrevenda. Muitas estratégias usam os dois: MACD pra direção, RSI pra timing/filtro.

MACD funciona em day trade?

Sim, mas ajuste os períodos pro timeframe curto e cuidado com o atraso inerente. Em day trade muito rápido (scalping), o atraso do MACD pode ser problema — combine com indicadores mais ágeis.