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

ATR: stop dinâmico e risco por volatility.

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

By RoboTraderIA Team· updated may/2026· intermediate level

A maioria dos traders coloca stop num número fixo: "stop de 100 pontos". O problema? 100 pontos can 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 volatility. É o indicador que transforma risk management amadora em profissional.

01 What is o ATR

ATR significa Average True Range (Amplitude Média Real), criado por Wilder (o mesmo do RSI). Ele mede o as much as o preço costuma se mover num período — that is, a volatility. Importante: o ATR doesn't have 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 index 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 between máxima e mínima do candle. Ele considera also os gaps (saltos between o fechamento anterior e a abertura), pegando a maior das três medidas. That's why "true" — captura a volatility 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ê isn't estopado por ruído normal.
  • Mercado calmo → ATR baixo → stop curto → você arrisca menos when doesn't need de both espaço.

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

Exemplo: stop por ATR no mini index

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 also 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!
Conclusionstop largo = posição menor

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

Quer a planilha que faz esse cálculo?

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

Baixar planilha →

04 Coding 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 for the 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 always 2× ATR de distância — trava lucro without sufocar o trade.
  • Filtro de volatility: só operar when o ATR está above de um mínimo (evita mercado morto) ou below de um máximo (evita volatility extrema).
  • Alvo proporcional: definir take profit como múltiplo de ATR, mantendo relação risk/reward consistente em any regime.

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

06 Preguntas frecuentes

What is o ATR?

Average True Range — indicador de volatility 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 for dimensionar stops proporcionais à volatility.

How to use 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 when o mercado está volátil e curto when está calmo, evitando ser estopado por ruído normal.

O ATR indica direção?

Não. Só mede volatility (tamanho dos movimentos), never a direção. That's why é usado for risk management junto com indicadores de trend, e never como sinal de entrada isolado.

Qual múltiplo de ATR usar no stop?

Comumente between 1,5× e 3×. Múltiplo maior dá mais espaço for the trade respirar (menos estopadas por ruído) but 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 volatility; maiores suavizam. 14 funciona bem na maioria dos casos.