Automatizando alertas do TradingView com webhooks
O que é um webhook, alertas de indicador vs de estratégia, como montar uma mensagem JSON com placeholders e o que verificar para a automação ser confiável e segura.
O TradingView é uma das ferramentas mais populares para análise gráfica e criação de estratégias, mas os alertas dele não enviam ordens para a corretora sozinhos. A ponte entre um alerta e uma execução é o webhook: uma mensagem automática enviada para um endereço que você escolhe no instante em que o alerta dispara. Este artigo explica como isso funciona, o que colocar na mensagem e quais armadilhas de confiabilidade e segurança vale conhecer antes.
O que é um webhook
Um webhook é um mecanismo em que um sistema envia uma requisição HTTP para outro quando algo acontece, em vez de o segundo sistema ficar perguntando o tempo todo "tem novidade?". No TradingView, quando a condição de um alerta é atendida, os servidores do TradingView enviam uma requisição POST para a URL de webhook que você configurou, e o corpo da requisição traz o texto que você escreveu no campo de mensagem.
O lado receptor, como uma plataforma de automação, lê a mensagem, entende o que fazer (comprar, vender, fechar, quantidade) e envia a ordem para a conta na corretora. Tenha em mente: o TradingView só envia a mensagem. Todas as decisões sobre execução, gestão de risco e verificações de sanidade acontecem do lado receptor.
Segundo a central de ajuda do TradingView, o envio de webhooks depende do seu plano de assinatura e normalmente exige autenticação em dois fatores na conta. Os requisitos podem mudar, então confira os detalhes atuais no site oficial.
Alertas de indicador vs alertas de estratégia
Há dois tipos principais de alerta usados para automação:
- Alerta de indicador ou de condição: criado sobre um indicador, sobre o preço ou sobre uma função de alerta no código Pine. Combina bem quando a lógica é simples, ou quando o próprio indicador decide quando mandar um sinal.
- Alerta de estratégia: criado sobre um script do tipo estratégia e disparado quando o motor da estratégia executa uma ordem simulada (entrada, saída, virada de mão). A vantagem é que a mensagem pode levar informações da própria ordem, como direção e tamanho.
A diferença importa porque muda o comportamento. Um alerta de estratégia depende das configurações da estratégia, por exemplo se ela calcula só no fechamento do candle ou a cada tick. Se o seu backtest rodou no fechamento do candle e o alerta ao vivo roda dentro do candle, os resultados podem diferir. Confira as configurações e garanta que estão consistentes.
Montando a mensagem: JSON e placeholders
A maioria dos sistemas de automação espera uma mensagem em formato JSON, uma estrutura de campos e valores. Em palavras, uma mensagem típica contém campos como qual símbolo operar, qual direção, quantos contratos e, às vezes, um ID de estratégia ou um token que identifica a conexão. O formato exato é definido pelo lado receptor, então sempre copie o modelo da documentação da plataforma que você usa.
O TradingView suporta placeholders: variáveis entre chaves duplas que são substituídas por valores reais no momento do envio. Há placeholders para o símbolo, o preço de fechamento, o horário e, nos alertas de estratégia, também para direção e quantidade da ordem. Usar bem os placeholders permite reaproveitar o mesmo modelo de mensagem em vários gráficos sem reescrevê-lo.
Algumas regras que vale seguir:
- Mantenha o JSON válido: aspas duplas nos nomes dos campos e nos textos, vírgulas entre os campos e nenhuma vírgula sobrando no final.
- Não dependa de campos que podem não vir preenchidos em toda situação.
- Confira a mensagem já substituída no log de alertas do TradingView para ver o que de fato foi enviado.
O símbolo certo e a rolagem de contratos
Os futuros trazem um problema único: o gráfico contínuo (por exemplo NQ1!) mostra o contrato da frente e troca automaticamente, mas a corretora precisa saber qual contrato específico operar. Se a mensagem envia o nome do gráfico contínuo, o lado receptor precisa traduzi-lo para o contrato certo. Se envia um contrato específico, o alerta precisa ser atualizado na hora da rolagem. A explicação completa está no artigo sobre rolagem de contratos futuros.
Pontos de confiabilidade
Uma boa automação é aquela em que você fica sabendo quando ela não funcionou. Pontos para ficar atento:
- Expiração do alerta: em alguns planos os alertas têm data de validade. Um alerta expirado simplesmente para de enviar, em silêncio. Crie um lembrete.
- Mudanças no script: se você editar o indicador ou a estratégia, o alerta existente pode continuar rodando na versão antiga. Normalmente é preciso recriá-lo.
- Alertas duplicados: dois alertas no mesmo gráfico, ou um alerta que dispara mais de uma vez por candle, podem enviar uma ordem duplicada. Defina a frequência de disparo de forma consciente e, de preferência, deixe o lado receptor detectar duplicidades.
- Atrasos: o webhook trafega pela internet e pode atrasar. Num mercado rápido, um pequeno atraso afeta o preço; veja o artigo sobre slippage e custos de execução.
- Falha do receptor: se o servidor receptor estiver indisponível, a mensagem pode se perder. Um bom sistema vai te avisar.
Protegendo a sua URL de webhook
A sua URL de webhook é, na prática, uma chave: qualquer um que a conheça, e conheça o formato da mensagem, pode enviar ordens para a sua conta. Portanto:
- Não publique a URL em prints, fóruns ou grupos de conversa.
- Quando possível, use um token secreto dentro da mensagem que o lado receptor verifique.
- Se suspeitar que a URL vazou, crie uma nova conexão e revogue a antiga.
- Configure limites de risco do lado receptor, para que nem uma mensagem malformada consiga abrir uma posição enorme.
Checklist antes de colocar no ar
- A estratégia foi testada com as mesmas configurações de cálculo em que o alerta roda?
- A mensagem é um JSON válido de acordo com a documentação do receptor?
- O símbolo está mapeado para o contrato correto?
- Você sabe a data de expiração do alerta?
- Você definiu um limite de perda diária e um número máximo de contratos?
- Você testou tudo antes na simulação?
Pontos principais
- O webhook é só um mensageiro: o TradingView envia a mensagem, e o lado receptor executa e gerencia o risco.
- Alertas de estratégia podem passar direção e quantidade, mas exigem configurações de cálculo consistentes.
- JSON válido e placeholders corretos evitam muitos erros.
- Expiração, duplicidades e edições no script são fontes comuns de falha.
- A sua URL de webhook é um segredo; trate-a como uma senha.
Se quiser ver como isso fica na prática, há um guia sobre como conectar alertas do TradingView à WeCore. A WeCore recebe os alertas, transforma-os em ordens na sua conta da corretora ou da prop firm e aplica limites de risco automatizados, e você pode começar no modo de simulação.