Se Python é a porta de entrada for bots de exchange, o Pine Script é a porta de entrada for automação de chart. É a linguagem nativa do TradingView, was desenhada especificamente for análise técnica, e tem uma vantagem enorme for quem está começando: você programa, plota e faz backtest na mesma tela, without instalar nada. Este tutorial usa a versão atual, Pine Script v5.
01 What is Pine Script (e why começar por ele)
Pine Script is a linguagem de script criada by the TradingView for dois propósitos: criar indicadores personalizados (que se plotam no chart) e criar estratégias (que geram sinais de compra/venda e can ser testadas no histórico). É simples, específica e roda na nuvem do TradingView — você doesn't need de servidor nem instalação.
Why é ótimo for aprender: o ciclo escrever→plotar→testar é instantâneo e visual. Você vê o resultado no chart na hora. Comparado a montar todo o pipeline de dados em Python, é very mais rápido for validar uma ideia de estratégia.
02Your first indicator
No TradingView, abra o Pine Editor (aba na parte inferior do chart). 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 by the 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 chart plot(media, "MM", color=color.aqua, linewidth=2)
Click on Adicionar ao chart. Pronto — sua média aparece about os candles. O overlay=true is what faz o indicador desenhar sobre o preço (em vez de num painel separado embaixo).
03Os conceitos that you precisa entender
A série de tempo
No Pine, variáveis como close, open, high, low aren't um número só — are séries. O script roda uma vez for each candle do chart, e close always 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 for cima), ta.crossunder() (cruzamento for 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 chart, o TradingView abre automaticamente o Strategy Tester embaixo — com lucro líquido, número de trades, win rate, maximum drawdown e a curva de capital. Você acabou de fazer backtest without escrever uma linha de código de teste.
Quer estratégias prontas for adaptar?
Veja nossa coletânea de estratégias clássicas com a lógica explicada — prontas for virar código.
05Adicionando stop loss e take profit
Estratégia without risk management é incompleta. No Pine, você define stop e alvo no momento da entrada:
// inside do bloco de entrada if cruzaCima strategy.entry("Compra", strategy.long) // stop 2% abaixo, alvo 4% above (risco:retorno 1:2) strategy.exit("Saida", "Compra", stop = close * 0.98, limit = close * 1.04)
Dica: o Strategy Tester recalcula tudo when você muda esses valores. Use for ver como diferentes níveis de stop/alvo afetam o resultado — but cuidado com overfitting (otimizar demais for the passado).
06Alertas: a ponte for automação
Pine Script roda no TradingView e não executa ordens sozinho na sua broker. A ponte for automação are os alertas. Você adiciona um alerta no código, e when a condição dispara, o TradingView can enviar um webhook (uma requisição HTTP) for um servidor que executa a ordem na broker.
// 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 — brokers que suportam TradingView (como a Pepperstone) executam direto do chart; (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, latency). Pra estratégias sensíveis a tempo, a integração nativa da broker é mais confiável. Teste exaustivamente em demo account before de automatizar com dinheiro real.
07 Next steps for dominar
- Estude a biblioteca
tainteira — RSI, MACD, Bollinger, ATR. Cada uma abre novas estratégias. - Aprenda arrays e
varfor manter estado between candles (ex: rastrear um nível de support). - Detecte padrões de SMC — order blocks e fair value gaps can 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 for tudo.
08 अक्सर पूछे जाने वाले सवाल
What is Pine Script?
É a linguagem de programação do TradingView, for criar indicadores personalizados e estratégias com backtest direto na plataforma. Roda na nuvem — doesn't need instalar nada.
Pine Script é difícil?
Não. É simples e específica for análise de charts. Quem already programou aprende em horas; iniciantes pegam o básico em poucos dias. O ciclo visual escrever→plotar→testar acelera very o aprendizado.
Dá for operar truly com Pine Script?
Pine gera sinais e alertas. Pra executar ordens reais automaticamente, você conecta os alertas a um webhook (que envia ordem à broker via API) ou usa a integração nativa de brokers que suportam TradingView.
Pine Script ou Python for automação?
Pine é melhor for prototipar e fazer backtest visual rápido. Python dá controle total e roda independente do TradingView, ideal for execution robusta. Muitos usam Pine for desenhar a estratégia e Python for executá-la.
Preciso pagar TradingView for 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.