⬡ INDICADOR · COM CÓDIGO · LEITURA 11 MIN

Médias móveis: SMA, EMA e WMA — qual usar.

O indicador mais fundamental de todos — base de quase toda estratégia. Vamos entender as três variações, quando usar cada uma, as médias populares (9, 21, 50, 200) e o código pronto.

Por Equipe RoboTraderIA· atualizado mai/2026· nível iniciante

Se você fosse aprender um único indicador, seria a média móvel. Ela suaviza o ruído do preço pra revelar a tendência, serve de suporte/resistência dinâmico, e é o tijolo de construção de outros indicadores (o MACD são médias, as Bandas de Bollinger giram em torno de uma média). Mas existe mais de um tipo, e escolher errado custa sinais atrasados ou falsos. Vamos esclarecer.

01O que é uma média móvel

Uma média móvel calcula o preço médio de um número de períodos e "anda" junto com o tempo — a cada novo candle, recalcula. O resultado é uma linha suave que filtra as oscilações pequenas e mostra a direção de fundo. Quanto maior o período, mais suave (e mais lenta) a linha.

02SMA, EMA e WMA: a diferença real

As três calculam uma média, mas distribuem o peso de forma diferente:

TipoComo pesa os preçosCaracterísticaMelhor para
SMAPeso igual a todosMais suave, mais lentaVer tendência de fundo, filtrar ruído
EMAMais peso aos recentesReage mais rápidoSinais ágeis, day trade
WMAPeso linear decrescenteReação intermediáriaMeio-termo entre SMA e EMA

A SMA (Simple Moving Average) trata o preço de 20 candles atrás com o mesmo peso do candle atual. A EMA (Exponential) dá muito mais importância aos preços recentes, então "gruda" mais no preço e reage mais rápido a mudanças. A WMA (Weighted) fica no meio, com pesos decrescentes lineares.

preço EMA (rápida) SMA (lenta) virada do preço
Após uma virada no preço, a EMA (verde) acompanha mais rápido; a SMA (dourada) demora mais a virar.

Trade-off fundamental: reação rápida (EMA) = pega tendências cedo, mas dá mais sinais falsos. Suavização (SMA) = menos falsos, mas entra atrasada. Não existe "melhor" — existe o certo pro seu objetivo. Day trade tende a EMA; visão de tendência de fundo, SMA.

03As médias populares (e por que importam)

Alguns períodos são tão usados que viram "autorrealizáveis" — tanta gente observa que o preço reage a eles:

  • 9 e 21: curto prazo, populares em day trade. O cruzamento 9×21 é um clássico.
  • 20: base das Bandas de Bollinger e referência de médio-curto.
  • 50: tendência de médio prazo. Muito observada.
  • 200: a rainha. Tendência de longo prazo. Preço acima da média de 200 = alta estrutural; abaixo = baixa. Usada como filtro mestre.

"Golden cross" e "death cross": quando a média de 50 cruza a de 200 pra cima, chama-se golden cross (sinal de alta de longo prazo); pra baixo, death cross (baixa). São tão acompanhados que viram notícia — e movem o mercado por isso mesmo.

04Os usos práticos

  • Direção da tendência: preço acima da média = alta; abaixo = baixa. Simples e eficaz.
  • Suporte/resistência dinâmico: em tendência, o preço frequentemente recua até a média e respeita — zona de recompra.
  • Cruzamentos: média rápida cruzando a lenta gera sinais (base da estratégia de cruzamento de médias).
  • Filtro: só operar a favor da média de 200 elimina muitos trades ruins contra a tendência maior.

05Programando as médias

Pine Script (TradingView)
//@version=5
indicator("Médias Móveis", overlay=true)

p = input.int(21, "Período")

sma = ta.sma(close, p)   // simples
ema = ta.ema(close, p)   // exponencial
wma = ta.wma(close, p)   // ponderada

plot(sma, "SMA", color=color.orange)
plot(ema, "EMA", color=color.lime)
plot(wma, "WMA", color=color.blue)

// filtro de tendência com a média de 200
ma200 = ta.sma(close, 200)
tendencia_alta = close > ma200
plot(ma200, "MM200", color=tendencia_alta ? color.green : color.red, linewidth=2)
Python (com pandas)
import pandas as pd

def medias(precos, periodo=21):
    sma = precos.rolling(periodo).mean()
    ema = precos.ewm(span=periodo, adjust=False).mean()
    # WMA: pesos lineares 1..n
    pesos = pd.Series(range(1, periodo+1))
    wma = precos.rolling(periodo).apply(
        lambda x: (x * pesos).sum() / pesos.sum(), raw=True)
    return sma, ema, wma

sma, ema, wma = medias(df["close"])

# filtro de tendência: só opera comprado acima da MM200
df["ma200"] = df["close"].rolling(200).mean()
pode_comprar = df["close"].iloc[-1] > df["ma200"].iloc[-1]

Pronto pra montar a estratégia?

O cruzamento de médias é a estratégia nº1 da nossa coletânea — com código completo.

Ver estratégias →

06Erros comuns

Os 3 erros clássicos: (1) usar média curta demais e ser picotado por ruído; (2) operar cruzamento de médias em mercado lateral, onde elas se cruzam toda hora gerando "serrote"; (3) esquecer que média é indicador atrasado — ela confirma a tendência, não prevê. Média nunca é gatilho isolado; é contexto e filtro.

07Perguntas frequentes

Qual a diferença entre SMA e EMA?

A SMA dá peso igual a todos os preços do período; a EMA dá mais peso aos recentes, reagindo mais rápido. EMA é preferida pra sinais ágeis e day trade; SMA pra suavizar e ver a tendência de fundo.

Qual média móvel usar?

EMA pra reação rápida, SMA pra suavização. Períodos 9 e 21 pra curto prazo; 50 e 200 pra tendência longa. Não há "melhor" universal — depende do objetivo e do ativo, validado por backtest.

O que é a média de 200?

A MM de 200 períodos é referência de tendência de longo prazo. Preço acima = alta estrutural; abaixo = baixa. Muito usada como filtro mestre de tendência em estratégias.

O que é golden cross?

Quando a média de 50 cruza a de 200 pra cima — sinal de alta de longo prazo. O oposto (cruzamento pra baixo) é o death cross. São tão observados que viram notícia e influenciam o mercado.

Média móvel prevê o preço?

Não. É um indicador atrasado — calcula a partir de preços passados. Ela confirma e suaviza a tendência, serve de suporte/resistência dinâmico e filtro, mas não prevê. Quem espera previsão se frustra.