A função ta.supertrend do Pine Script v5 é a forma mais limpa de plotar o indicador SuperTrend no TradingView sem recalcular ATR na mão. O problema é que muita gente copia código pela metade e não entende o que a função retorna — por isso erra na hora de gerar sinais. Aqui você tem a sintaxe correta, o que cada valor de retorno significa e um indicador pronto para colar, com sinais de compra e venda. Trading é atividade de risco; use isto como ferramenta de estudo, não como promessa de lucro.

Indicador é só metade do caminho — executar na emoção quebra a banca. Veja como transformar sinais em execução automática e teste em conta demo.

Ver automação em Python →

A sintaxe da função

No Pine Script v5, a função tem esta assinatura:

[supertrend, direction] = ta.supertrend(factor, atrPeriod)

Ela recebe dois argumentos e devolve dois valores de uma vez (uma tupla):

factor — o multiplicador do ATR (valores típicos: 3.0). Quanto maior, mais “afastada” a linha fica do preço e menos sinais você tem.
atrPeriod — o período do ATR usado no cálculo (valor típico: 10).
supertrend — o valor da linha do indicador (para plotar).
direction — a direção da tendência. Este é o campo que gera os sinais.

O detalhe que confunde todo mundo: em Pine v5, direction é negativa (-1) quando o SuperTrend está abaixo do preço (tendência de alta) e positiva (+1) quando está acima (tendência de baixa). Muita gente inverte isso e erra os sinais.

Detectando a virada (sinais)

O sinal nasce da mudança de direção, não do valor em si. Use a função ta.change() ou compare com a barra anterior:

// virou para ALTA: direction passou de +1 para -1 buySignal = direction[1] > 0 and direction < 0 // virou para BAIXA: direction passou de -1 para +1 sellSignal = direction[1] < 0 and direction > 0

Indicador completo (pronto para colar)

Cole este código no Pine Editor do TradingView (v5). Ele plota a linha colorida, pinta o fundo e marca compras/vendas:

//@version=5 indicator(“SuperTrend Pronto – IA Trader Pro”, overlay=true) factor = input.float(3.0, “Fator (multiplicador ATR)”, step=0.1) atrPeriod = input.int(10, “Período ATR”) [supertrend, direction] = ta.supertrend(factor, atrPeriod) // cor da linha conforme a tendência upTrend = direction < 0 lineColor = upTrend ? color.green : color.red plot(supertrend, “SuperTrend”, color=lineColor, linewidth=2) // fundo suave conforme a tendência bgcolor(upTrend ? color.new(color.green, 90) : color.new(color.red, 90)) // sinais na virada buySignal = direction[1] > 0 and direction < 0 sellSignal = direction[1] < 0 and direction > 0 plotshape(buySignal, title=”Compra”, style=shape.labelup, location=location.belowbar, color=color.green, text=”BUY”, textcolor=color.white, size=size.small) plotshape(sellSignal, title=”Venda”, style=shape.labeldown, location=location.abovebar, color=color.red, text=”SELL”, textcolor=color.white, size=size.small) // alertas (para webhook/automação) alertcondition(buySignal, “Sinal de Compra”, “SuperTrend virou para ALTA”) alertcondition(sellSignal, “Sinal de Venda”, “SuperTrend virou para BAIXA”)
Ajuste de parâmetros: em ativos voláteis, aumente o factor (ex.: 3.5–4.0) para reduzir sinais falsos. Em mercados mais lentos, valores menores reagem mais rápido — mas geram mais ruído. Sempre faça backtest antes de confiar.

Erros comuns

Inverter a direção: lembre, alta é direction < 0. Se seus sinais parecem ao contrário, é quase sempre isso.
Usar o valor em vez da virada: sinal é mudança de direção, não “preço acima da linha”.
Repintar expectativas: SuperTrend é baseado em ATR e confirma na barra; não espere prever topos e fundos exatos.
Operar todo sinal: SuperTrend sozinho gera muitos sinais em mercado lateral. Combine com um filtro de tendência ou volume.

FAQ

ta.supertrend existe no Pine v4?
A função embutida é do v5. Em versões antigas você precisava calcular o ATR e a linha manualmente. Migre para o v5.

Quais os melhores valores de factor e atrPeriod?
O padrão clássico é 3.0 e 10, mas o ideal depende do ativo e timeframe. Teste e faça backtest.

Dá para automatizar os sinais?
Sim: o alertcondition permite criar alertas que disparam webhooks. A partir daí, um script externo pode executar a ordem — sempre testado em demo primeiro.

SuperTrend funciona em qualquer timeframe?
Funciona, mas em prazos muito curtos o ruído aumenta. Tendências mais claras costumam aparecer em timeframes maiores.

Aviso: trading é atividade de alto risco e a maioria dos traders de varejo perde dinheiro. Este conteúdo é educacional e técnico, não constitui recomendação de investimento, oferta ou aconselhamento financeiro. Indicadores não preveem o futuro e resultados passados não garantem resultados futuros. Teste sempre em conta demo antes de arriscar capital real e nunca invista mais do que você pode perder.