⬡ TUTORIAL TÉCNICO · COM CÓDIGO · LEITURA 13 MIN

Pine Script do zero: indicadores e estratégias no TradingView.

A linguagem mais acessível pra quem quer programar trading. Vamos do primeiro indicador a uma estratégia completa com backtest e alertas pra automação — tudo dentro do TradingView, sem instalar nada.

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

Se Python é a porta de entrada pra bots de exchange, o Pine Script é a porta de entrada pra automação de gráfico. É a linguagem nativa do TradingView, foi desenhada especificamente pra análise técnica, e tem uma vantagem enorme pra quem está começando: você programa, plota e faz backtest na mesma tela, sem instalar nada. Este tutorial usa a versão atual, Pine Script v5.

01O que é Pine Script (e por que começar por ele)

Pine Script é uma linguagem de script criada pelo TradingView pra dois propósitos: criar indicadores personalizados (que se plotam no gráfico) e criar estratégias (que geram sinais de compra/venda e podem ser testadas no histórico). É simples, específica e roda na nuvem do TradingView — você não precisa de servidor nem instalação.

Por que é ótimo pra aprender: o ciclo escrever→plotar→testar é instantâneo e visual. Você vê o resultado no gráfico na hora. Comparado a montar todo o pipeline de dados em Python, é muito mais rápido pra validar uma ideia de estratégia.

02Seu primeiro indicador

No TradingView, abra o Pine Editor (aba na parte inferior do gráfico). Todo script começa declarando a versão e o tipo. Vamos plotar uma média móvel simples:

//@version=5
indicator("Minha Primeira MM", overlay=true)

// input: deixa o período ajustável pela interface
periodo = input.int(20, "Período da Média")

// calcula a média móvel simples do fechamento
media = ta.sma(close, periodo)

// plota no gráfico
plot(media, "MM", color=color.aqua, linewidth=2)

Clique em Adicionar ao gráfico. Pronto — sua média aparece sobre os candles. O overlay=true é o que faz o indicador desenhar sobre o preço (em vez de num painel separado embaixo).

03Os conceitos que você precisa entender

A série de tempo

No Pine, variáveis como close, open, high, low não são um número só — são séries. O script roda uma vez pra cada candle do gráfico, e close sempre se refere ao fechamento do candle atual naquela passagem. Pra acessar candles anteriores, use colchetes: close[1] é o fechamento do candle anterior, close[2] o de dois atrás.

Funções da biblioteca ta

A biblioteca ta (technical analysis) tem tudo pronto: ta.sma() (média simples), ta.ema() (exponencial), ta.rsi(), ta.macd(), ta.crossover() (cruzamento pra cima), ta.crossunder() (cruzamento pra baixo). Você raramente precisa calcular indicador na mão.

04De indicador a estratégia

A diferença crucial: indicator() só desenha; strategy() simula operações e gera relatório de backtest. Vamos transformar a média num sistema de cruzamento que opera:

//@version=5
strategy("Cruzamento de Médias", overlay=true,
         initial_capital=10000, default_qty_type=strategy.percent_of_equity,
         default_qty_value=10)

// parâmetros ajustáveis
rapida = input.int(9,  "MM Rápida")
lenta  = input.int(21, "MM Lenta")

ma_rapida = ta.ema(close, rapida)
ma_lenta  = ta.ema(close, lenta)

// detecta os cruzamentos
cruzaCima  = ta.crossover(ma_rapida, ma_lenta)
cruzaBaixo = ta.crossunder(ma_rapida, ma_lenta)

// regras de operação
if cruzaCima
    strategy.entry("Compra", strategy.long)
if cruzaBaixo
    strategy.close("Compra")

// visualizar as médias
plot(ma_rapida, "Rápida", color=color.lime)
plot(ma_lenta,  "Lenta",  color=color.orange)

Ao adicionar ao gráfico, o TradingView abre automaticamente o Strategy Tester embaixo — com lucro líquido, número de trades, taxa de acerto, drawdown máximo e a curva de capital. Você acabou de fazer backtest sem escrever uma linha de código de teste.

Quer estratégias prontas pra adaptar?

Veja nossa coletânea de estratégias clássicas com a lógica explicada — prontas pra virar código.

Ver estratégias →

05Adicionando stop loss e take profit

Estratégia sem gestão de risco é incompleta. No Pine, você define stop e alvo no momento da entrada:

// dentro do bloco de entrada
if cruzaCima
    strategy.entry("Compra", strategy.long)
    // stop 2% abaixo, alvo 4% acima (risco:retorno 1:2)
    strategy.exit("Saida", "Compra",
                   stop  = close * 0.98,
                   limit = close * 1.04)

Dica: o Strategy Tester recalcula tudo quando você muda esses valores. Use pra ver como diferentes níveis de stop/alvo afetam o resultado — mas cuidado com overfitting (otimizar demais pro passado).

06Alertas: a ponte pra automação

Pine Script roda no TradingView e não executa ordens sozinho na sua corretora. A ponte pra automação são os alertas. Você adiciona um alerta no código, e quando a condição dispara, o TradingView pode enviar um webhook (uma requisição HTTP) pra um servidor que executa a ordem na corretora.

// dispara alerta no cruzamento
if cruzaCima
    alert("COMPRA BTCUSDT", alert.freq_once_per_bar_close)
if cruzaBaixo
    alert("VENDA BTCUSDT", alert.freq_once_per_bar_close)

Duas formas de transformar o alerta em ordem real: (1) integração nativa — corretoras que suportam TradingView (como a Pepperstone) executam direto do gráfico; (2) webhook + servidor — o alerta chama seu servidor (ex: um script Python que recebe o webhook e envia a ordem via API, como mostramos no tutorial da Binance).

Atenção: automação via webhook adiciona pontos de falha (servidor cai, requisição se perde, latência). Pra estratégias sensíveis a tempo, a integração nativa da corretora é mais confiável. Teste exaustivamente em conta demo antes de automatizar com dinheiro real.

07Próximos passos pra dominar

  • Estude a biblioteca ta inteira — RSI, MACD, Bollinger, ATR. Cada uma abre novas estratégias.
  • Aprenda arrays e var pra manter estado entre candles (ex: rastrear um nível de suporte).
  • Detecte padrões de SMC — order blocks e fair value gaps podem ser codificados em Pine (veja nosso guia de Smart Money Concepts).
  • Leia o manual oficial do Pine v5 — é a melhor referência e tem exemplos pra tudo.

08Perguntas frequentes

O que é Pine Script?

É a linguagem de programação do TradingView, pra criar indicadores personalizados e estratégias com backtest direto na plataforma. Roda na nuvem — não precisa instalar nada.

Pine Script é difícil?

Não. É simples e específica pra análise de gráficos. Quem já programou aprende em horas; iniciantes pegam o básico em poucos dias. O ciclo visual escrever→plotar→testar acelera muito o aprendizado.

Dá pra operar de verdade com Pine Script?

Pine gera sinais e alertas. Pra executar ordens reais automaticamente, você conecta os alertas a um webhook (que envia ordem à corretora via API) ou usa a integração nativa de corretoras que suportam TradingView.

Pine Script ou Python pra automação?

Pine é melhor pra prototipar e fazer backtest visual rápido. Python dá controle total e roda independente do TradingView, ideal pra execução robusta. Muitos usam Pine pra desenhar a estratégia e Python pra executá-la.

Preciso pagar TradingView pra usar Pine?

O plano gratuito permite criar e testar scripts com limitações (número de indicadores simultâneos, alertas). Pra automação séria com vários alertas, os planos pagos liberam mais recursos.