Webhooks (TradingView → bot)¶
Os webhooks permitem enviar os alertas do TradingView para serviços externos, bots ou API próprias, para automatizar tarefas. Este guia explica como se configuram e como se usam com os indicadores do Signal Pilot.
Com fins educativos
Este guia descreve a ligação de webhooks com fins formativos e de automatização. O trading automatizado acarreta riscos consideráveis. Isto não é aconselhamento financeiro.
📡 O que é um webhook?¶
Um webhook é um pedido HTTP POST que o TradingView envia por sua conta para o endereço que tu indicares, assim que um alerta dispara. Serve sobretudo para:
- Avisar: mandar os alertas para o Discord, o Telegram ou o Slack
- Registar: guardar os alertas numa base de dados ou numa folha de cálculo
- Automatizar: disparar ações através de API tuas
- Verificar: ver com que frequência e em que condições os alertas disparam
✅ O que precisas antes¶
Antes de configurares um webhook costumas precisar disto:
- TradingView Pro, Pro+ ou Premium: as contas gratuitas não têm acesso a webhooks
- O endereço do destinatário: um serviço que aceite pedidos HTTP POST, por exemplo um webhook do Discord, um servidor teu ou uma plataforma de automatização
- Um indicador do Signal Pilot: configurado e posto no teu gráfico
- Algumas noções de JSON: dá jeito se quiseres montar tu próprio a mensagem, mas não é obrigatório
🔧 Passo a passo¶
Passo 1: arranja o endereço do webhook¶
O endereço depende de onde queres que cheguem os alertas:
Webhook do Discord
- No Discord, vai a Definições do servidor → Integrações → Webhooks
- Carrega em «New Webhook»
- Dá-lhe um nome e escolhe o canal
- Copia o endereço do webhook (tem esta forma:
https://discord.com/api/webhooks/...)
📸 Imagem por chegar
O ecrã de criação de webhooks do Discord
Vamos juntar uma imagem do ecrã de criação de webhooks do Discord, com o painel das integrações e os passos da configuração.
Bot do Telegram
- Procura «@BotFather» no Telegram
- Envia
/newbote segue o que ele for pedindo - Guarda o token do bot
- Usa um serviço de ponte ou um servidor teu para reencaminhar para o Telegram os webhooks do TradingView
Servidor ou API próprios
Podes montar o teu destinatário com plataformas como estas:
- Webhook.site: para experimentar; recebe o conteúdo do webhook e mostra-o
- Make.com (antes Integromat): para ligar vários serviços entre si
- Zapier: para automatizar sequências de tarefas
- Um servidor teu: Python com Flask, Node.js com Express e afins
Passo 2: configura o alerta no TradingView¶
- No gráfico onde tens o indicador do Signal Pilot, carrega no ícone Alerta (o relógio com o sinal +)
- Na janela do alerta:
- Condição: escolhe o teu indicador do Signal Pilot e a condição que queres vigiar
- Opções: marca «Once Per Bar Close» para não haver repinturas dentro da vela
- Vencimento: põe-na conforme precisares; o normal é «Open-ended»
- Desce até ao separador «Notifications».
- Marca a caixa «Webhook URL».
- Cola aí o endereço do teu destinatário
📸 Imagem por chegar
A janela de alertas do TradingView e o campo Webhook URL
Vamos juntar uma imagem da janela de alertas do TradingView, onde se vê o campo Webhook URL dentro da secção «Notifications».
Passo 3: monta a mensagem (opcional)¶
No campo «Message» decides que dados são enviados. O TradingView aceita estes marcadores:
{
"indicator": "{{ticker}}",
"price": "{{close}}",
"time": "{{time}}",
"signal": "Pentarch Reversal Detected",
"timeframe": "{{interval}}"
}Marcadores mais usados do TradingView:
{{ticker}}: o nome do símbolo, por exemplo «BTCUSDT»{{close}}: o preço de fecho do momento{{time}}: a hora a que o alerta disparou{{interval}}: o período, por exemplo «15» ou «1D»{{exchange}}: o nome da bolsa
Passo 4: experimenta o webhook¶
- Depois de criares o alerta, carrega no botão «Test» das definições do alerta.
- Vai ver ao destino: o canal do Discord, o webhook.site ou o que tiveres posto
- Confirma que a mensagem chega com a formatação certa
- Se não chegar nada, revê isto:
- Se o endereço do webhook está certo
- Se a tua conta do TradingView tem acesso a webhooks, ou seja Pro+ ou Premium
- Se o destinatário está acessível e nenhuma firewall o bloqueia
📸 Imagem por chegar
Uma mensagem de teste recebida no Discord
Vamos juntar uma imagem de um canal do Discord com uma mensagem de teste vinda do webhook, já com os dados do alerta do Signal Pilot bem formatados.
💬 Exemplos de formato¶
Mensagem no formato do Discord
{
"content": "🔔 **Signal Pilot Alert**",
"embeds": [{
"title": "Pentarch Reversal",
"description": "Reversal pattern detected on {{ticker}}",
"color": 65280,
"fields": [
{"name": "Price", "value": "{{close}}", "inline": true},
{"name": "Timeframe", "value": "{{interval}}", "inline": true},
{"name": "Time", "value": "{{time}}", "inline": false}
]
}]
}Mensagem de texto simples
Signal Pilot: {{ticker}} - Harmonic Oscillator cross detected at {{close}} on {{interval}} timeframeJSON estruturado para uma API própria
{
"alert_type": "signal_pilot",
"indicator": "janus_atlas",
"symbol": "{{ticker}}",
"exchange": "{{exchange}}",
"timeframe": "{{interval}}",
"price": "{{close}}",
"timestamp": "{{time}}",
"condition": "Level Break Alert"
}🌐 Plataformas mais usadas¶
| Plataforma | Caso de uso | Dificuldade de configuração |
|---|---|---|
| Discord | Avisar a equipa e deixar registo | Muito fácil |
| Telegram | Avisos no telemóvel | Média; é preciso um bot e uma ponte |
| Make.com | Ligar vários serviços | Fácil, com esquema visual |
| Zapier | Ligação a mais de 5000 aplicações | Fácil, com esquema visual |
| Webhook.site | Experiências e afinação | Muito fácil |
| Servidor próprio | Controlo total e lógica à medida | Alta; é preciso programar |
🔍 Quando alguma coisa falha¶
- O endereço está mesmo no alerta? → Se não, põe-no lá
- O alerta chega a disparar? → Se não, arranja primeiro o alerta
- Já o experimentaste no webhook.site? → Se não, experimenta lá primeiro. Se falhar, gera um endereço novo
- O formato está certo? → Revê o formato próprio do Discord ou do Telegram
- O JSON é válido? → Passa-o por um validador de JSON para conferir a sintaxe
- Tens TradingView Pro+? → As contas gratuitas não podem usar webhooks
Teste rápido: Faz sempre a primeira prova no webhook.site. Se aí chega e no Discord ou no Telegram não, o problema está na configuração do destino.
O webhook não chega
- Confirma o teu plano do TradingView: as contas gratuitas não podem usar webhooks
- Revê o endereço: sem espaços a mais e com o protocolo https://
- Experimenta o destinatário: usa o webhook.site para confirmar que o TradingView chega ao teu endereço
- O alerta disparou?: vê o registo de alertas do TradingView para confirmar que disparou mesmo
A mensagem traz dados errados
- Escrita dos marcadores: tens de escrever
{{ticker}}não{ticker} - Formato do JSON: se usares o formato estruturado, valida-o em jsonlint.com
- Aspas com barra: usa
\"se precisares de aspas dentro de uma cadeia JSON
Chegam webhooks a mais
- Frequência do alerta: muda de «Once Per Bar» para «Once Per Bar Close»
- Precisão da condição: aperta a condição para disparar menos vezes
- Tempo de espera: há serviços de webhooks que limitam quantos pedidos aceitam
🔒 Segurança¶
Pontos de segurança a reter
- O endereço de um webhook é informação sensível: trata-o como uma palavra-passe e não o publiques em lado nenhum
- Troca-o de tempos a tempos: sobretudo se dele dependerem processos críticos
- Confere o que te chega: se usares um servidor teu, confirma que os pedidos vêm mesmo do TradingView
- Usa HTTPS sempre que puderes: um destinatário que só aceite HTTP sem cifra é um risco
📋 Uma montagem de exemplo¶
Cenário: Receber num canal do Discord os avisos de inversão do Pentarch
- Criado: um webhook do Discord no canal #trading-alerts
- Configurado: Pentarch v1.0 no gráfico de BTCUSDT a 15 minutos
- Alerta posto: sobre a condição «Pentarch: Reversal Detected»
- Frequência: «Once Per Bar Close»
- Colado: o endereço do webhook do Discord nas definições do alerta
- Mensagem à medida: com o formato incorporado do Discord que se vê acima
- Experimentado: o alerta; a mensagem apareceu no Discord
- Alerta ativo: a equipa recebe aviso sempre que se deteta um padrão de inversão
(Exemplo de montagem real, apenas com fins formativos. Não é aconselhamento financeiro. Os resultados variam de pessoa para pessoa.)