Backtest no TradingView (passo a passo)
O TradingView oferece duas formas de fazer backtest: o Pine Script, para testar estratégias de forma automática, e o Bar Replay, para fazer o replay do mercado manualmente. O Pine Script é a linguagem de programação mais fácil do forex (uma estratégia simples tem só 10 a 15 linhas de código), e os resultados aparecem na hora no seu gráfico.
Aviso de risco: Este conteúdo tem fins exclusivamente educacionais e não é uma recomendação de investimento. Operar forex envolve riscos e você pode perder dinheiro.
Backtest automático com Pine Script
O Pine Script é a linguagem de programação integrada do TradingView. Você escreve as regras da sua estratégia, adiciona o script ao gráfico, e o TradingView roda a estratégia sobre todos os dados históricos visíveis, marcando cada entrada e cada saída no gráfico e gerando um relatório completo.
Passo a passo
- Abra um gráfico do seu par no tempo gráfico escolhido.
- Clique em Pine Editor (editor do Pine) na parte de baixo da tela.
- Escreva sua estratégia. O TradingView tem modelos prontos: clique em Open → New strategy (abrir → nova estratégia) para começar com um exemplo. Um cruzamento de EMAs básico, com stop loss e take profit fixos, tem cerca de 10 a 15 linhas de código.
- Clique em “Add to chart” (adicionar ao gráfico). O TradingView roda a estratégia na hora e marca cada entrada e cada saída direto no gráfico, para você ver as operações visualmente.
- Clique na aba “Strategy Tester” (testador de estratégia), na parte de baixo do gráfico, para ver o relatório de desempenho.
Exemplo em Pine Script: cruzamento de EMAs
Veja como é uma estratégia simples em Pine Script. Ela compra quando a EMA de 20 cruza acima da EMA de 50 e vende quando cruza abaixo, com stop loss de 30 pips e take profit de 60 pips.
//@version=6
strategy("EMA Cross", overlay=true)
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
if ta.crossover(ema20, ema50)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", "Long", loss=300, profit=600)
if ta.crossunder(ema20, ema50)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", "Short", loss=300, profit=600)
plot(ema20, color=color.blue)
plot(ema50, color=color.red)Cole esse código no Pine Editor, clique em “Add to chart” e veja os resultados na hora. Os valores de loss e profit são em ticks (1 pip = 10 ticks na maioria dos pares de forex), então 300 ticks = 30 pips.
Como ler os resultados
Clique na aba “Strategy Tester”, na parte de baixo do gráfico. Você encontra três subabas:
- Overview (visão geral): lucro líquido, total de operações, taxa de acerto, fator de lucro (profit factor), drawdown máximo, índice de Sharpe e operação média.
- Performance Summary (resumo de desempenho): detalhamento com estatísticas das operações compradas e vendidas, lucro e prejuízo brutos e ganho/perda médio.
- List of Trades (lista de operações): cada operação individual, com entrada, saída, lucro ou prejuízo e duração.
Deep Backtesting no TradingView
- Clique no botão “Deep Backtest” na aba Strategy Tester. O TradingView roda um backtest mais completo, com dados adicionais.
- Ele gera uma tabela de retornos mensais, a curva de capital e métricas de risco mais detalhadas.
- É útil para ter uma visão mais completa, principalmente nos tempos gráficos menores, em que o backtest padrão pode usar uma quantidade limitada de dados.
Como usar scripts da comunidade
- Você não precisa escrever Pine Script do zero. Há milhares de estratégias gratuitas da comunidade na biblioteca Indicators & Strategies (indicadores e estratégias) do TradingView.
- Clique em Indicators (indicadores) na barra de ferramentas superior, procure uma estratégia (por exemplo, “EMA crossover strategy”) e adicione-a ao gráfico. O backtest roda automaticamente.
- Você também pode abrir o código-fonte de qualquer script público, estudá-lo e modificá-lo para seguir as suas próprias regras.
Bar Replay (backtest manual)
Se você prefere testar uma estratégia discricionária sem programar, o Bar Replay do TradingView permite fazer o replay do mercado candle por candle.
- Clique no botão Replay na barra de ferramentas superior (o ícone de retroceder).
- Clique no gráfico na data em que você quer começar. Todos os candles depois desse ponto desaparecem.
- Pressione Play para os candles avançarem automaticamente, ou clique em Step Forward (avançar) para ir um candle de cada vez.
- Quando identificar um setup, registre-o em uma planilha ou use as ferramentas de desenho do TradingView para marcar a entrada, o stop e o alvo.
- Observação: o Bar Replay em tempos gráficos intradiários (abaixo do diário) exige um plano pago do TradingView. No diário e acima, ele funciona no plano gratuito.
O que torna o TradingView bom para backtest
- A linguagem de programação mais fácil. O Pine Script é mais simples que o MQL4, o MQL5 ou o C#. Se você nunca programou, este é o melhor lugar para começar.
- Retorno visual imediato. As operações aparecem no gráfico assim que você adiciona a estratégia. Sem janela de teste separada.
- Nada para instalar. Tudo roda no navegador.
- Comunidade enorme. Milhares de estratégias gratuitas para estudar, modificar ou usar diretamente.
- Análise e testes no mesmo lugar. Você pode usar para o backtest os mesmos gráficos em que opera, sem ficar trocando de ferramenta.
Limitações
- Apenas dados de candle. O TradingView usa dados OHLC dos candles, e não dados tick por tick. Para estratégias que dependem do movimento exato do preço dentro do candle (por exemplo, se o stop ou o alvo é atingido primeiro dentro do mesmo candle), os resultados podem ser menos precisos do que no MT5 ou no cTrader com dados reais de tick.
- O replay intradiário exige plano pago. O Bar Replay em tempos gráficos abaixo do diário só está disponível na assinatura paga do TradingView.
- Histórico limitado nos tempos gráficos menores. Em M1 ou M5, você pode ter só alguns meses de dados. O Deep Backtesting ajuda, mas tem limites.
- Sem otimização multithread. O TradingView não tem uma ferramenta integrada de otimização de parâmetros como a do MT5. Você precisa ajustar os parâmetros manualmente e rodar o teste de novo.