⬡ INDICADOR · GESTÃO DE RISCO · LEITURA 11 MIN

ATR: stop dinâmico e risco por volatilidade.

O indicador que não dá sinal de entrada — e mesmo assim é um dos mais importantes pro seu robô. Ele dimensiona stop e posição de acordo com a volatilidade real do mercado.

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

A maioria dos traders coloca stop num número fixo: "stop de 100 pontos". O problema? 100 pontos pode ser apertadíssimo num dia volátil (e você é estopado por ruído) ou folgado demais num dia calmo (e você arrisca mais do que precisa). O ATR resolve isso fazendo o stop respirar com a volatilidade. É o indicador que transforma gestão de risco amadora em profissional.

01O que é o ATR

ATR significa Average True Range (Amplitude Média Real), criado por Wilder (o mesmo do RSI). Ele mede o quanto o preço costuma se mover num período — ou seja, a volatilidade. Importante: o ATR não tem direção. Ele não diz se o preço vai subir ou cair, só diz o tamanho típico do movimento. Um ATR de 150 no mini índice significa que, em média, o preço varia ~150 pontos por candle naquele período.

"True Range" (amplitude real): o ATR não usa só a diferença entre máxima e mínima do candle. Ele considera também os gaps (saltos entre o fechamento anterior e a abertura), pegando a maior das três medidas. Por isso "true" — captura a volatilidade real, incluindo aberturas com gap.

Stop fixo vs Stop por ATR mercado calmo stop ATR (curto) stop fixo (longe demais) mercado volátil stop ATR (largo, dá espaço) stop fixo = estopado por ruído
O stop por ATR se adapta: curto no mercado calmo, largo no volátil. O stop fixo erra nos dois cenários.

02O uso principal: stop loss dinâmico

A aplicação clássica é o stop por múltiplo de ATR. Em vez de "stop de 100 pontos", você usa "stop a 2× o ATR de distância". Assim:

  • Mercado volátil → ATR alto → stop largo → você não é estopado por ruído normal.
  • Mercado calmo → ATR baixo → stop curto → você arrisca menos quando não precisa de tanto espaço.

O múltiplo comum é entre 1,5× e 3× o ATR, dependendo de quanto espaço a estratégia precisa. Quanto maior o múltiplo, mais espaço pro trade respirar (e maior a perda potencial por operação).

Exemplo: stop por ATR no mini índice

Preço de entrada (compra)134.000 pts
ATR atual (14 períodos)300 pts
Múltiplo escolhido
Distância do stop600 pts
Stop posicionado em133.400 pts

03Dimensionamento de posição por ATR

O ATR também resolve "quantos contratos operar". Combinando o stop por ATR com seu risco por trade, você dimensiona automaticamente:

Quantos contratos? (exemplo WIN)

BancaR$ 5.000
Risco por trade (2%)R$ 100
Stop por ATR (600 pts × R$ 0,20)R$ 120 / contrato
Contratos (R$100 ÷ R$120)0,83 → 0 contratos!
Conclusãostop largo = posição menor

Repare a lição embutida: quando a volatilidade está alta (ATR grande), o stop fica largo, e pra respeitar seu risco de 2% você precisa operar menos contratos. O ATR força você a reduzir exposição justamente quando o mercado está perigoso. É gestão de risco automática.

Quer a planilha que faz esse cálculo?

Nossa planilha de gestão de risco grátis dimensiona posição com base em stop e banca.

Baixar planilha →

04Programando o ATR e o stop

Pine Script (TradingView)
//@version=5
strategy("Stop por ATR", overlay=true)

periodo = input.int(14, "Período ATR")
mult    = input.float(2.0, "Múltiplo do ATR")

atr = ta.atr(periodo)

// exemplo: entra na média e usa ATR pro stop
ma = ta.ema(close, 21)
if ta.crossover(close, ma)
    stopLoss = close - mult * atr
    takeProfit = close + mult * atr * 2   // alvo 2x o risco
    strategy.entry("Compra", strategy.long)
    strategy.exit("Saida", "Compra", stop=stopLoss, limit=takeProfit)

plot(atr, "ATR", color=color.purple, display=display.data_window)
Python (com pandas)
import pandas as pd

def calcular_atr(df, periodo=14):
    alta_baixa = df["high"] - df["low"]
    alta_fech  = (df["high"] - df["close"].shift()).abs()
    baixa_fech = (df["low"]  - df["close"].shift()).abs()
    # True Range = maior das três
    tr = pd.concat([alta_baixa, alta_fech, baixa_fech], axis=1).max(axis=1)
    return tr.ewm(alpha=1/periodo, adjust=False).mean()

df["atr"] = calcular_atr(df)

# stop dinâmico e dimensionamento
entrada = df["close"].iloc[-1]
atr_atual = df["atr"].iloc[-1]
stop = entrada - 2 * atr_atual

risco_reais = 100          # 2% de uma banca de 5000
valor_ponto = 0.20          # WIN
perda_por_contrato = (entrada - stop) * valor_ponto
contratos = int(risco_reais / perda_por_contrato)
print(f"Stop: {stop:.0f} | Contratos: {contratos}")

05Outros usos do ATR

  • Trailing stop: mover o stop conforme o preço avança, mantendo sempre 2× ATR de distância — trava lucro sem sufocar o trade.
  • Filtro de volatilidade: só operar quando o ATR está acima de um mínimo (evita mercado morto) ou abaixo de um máximo (evita volatilidade extrema).
  • Alvo proporcional: definir take profit como múltiplo de ATR, mantendo relação risco/retorno consistente em qualquer regime.

Lembre sempre: o ATR não é sinal de entrada. Ele não diz pra onde o preço vai — só o tamanho do movimento. Usar ATR como gatilho de compra/venda é erro conceitual. Ele entra na equação de gestão de risco (stop, alvo, tamanho), combinado com indicadores de direção como médias, MACD ou estrutura.

06Perguntas frequentes

O que é o ATR?

Average True Range — indicador de volatilidade que mede a amplitude média de variação do preço num período. Não indica direção, só o tamanho típico do movimento. Essencial pra dimensionar stops proporcionais à volatilidade.

Como usar o ATR no stop?

Multiplica o ATR por um fator (ex: 2×) e coloca o stop a essa distância da entrada. O stop fica largo quando o mercado está volátil e curto quando está calmo, evitando ser estopado por ruído normal.

O ATR indica direção?

Não. Só mede volatilidade (tamanho dos movimentos), nunca a direção. Por isso é usado pra gestão de risco junto com indicadores de tendência, e nunca como sinal de entrada isolado.

Qual múltiplo de ATR usar no stop?

Comumente entre 1,5× e 3×. Múltiplo maior dá mais espaço pro trade respirar (menos estopadas por ruído) mas aumenta a perda potencial por operação. Calibre por backtest conforme a estratégia.

Qual período de ATR usar?

O padrão é 14 (de Wilder). Períodos menores reagem mais rápido a mudanças de volatilidade; maiores suavizam. 14 funciona bem na maioria dos casos.