Webhooks (TradingView → bot)¶
Les webhooks permettent d'envoyer les alertes de TradingView vers des services extérieurs, des bots ou des API afin d'automatiser des tâches. Ce guide explique comment les régler et les utiliser avec les indicateurs de Signal Pilot.
À visée pédagogique
Ce guide décrit le raccordement de webhooks à des fins pédagogiques et d'automatisation. Le trading automatisé comporte des risques importants. Ceci n'est pas un conseil financier.
📡 Qu'est-ce qu'un webhook ?¶
Un webhook est une requête HTTP POST que TradingView envoie de lui-même à l'adresse que vous indiquez, dès qu'une alerte se déclenche. On s'en sert surtout pour :
- Notifier: envoyer les alertes vers Discord, Telegram ou Slack
- Consigner: garder les alertes dans une base de données ou un tableur
- Automatiser: déclencher des actions via vos propres API
- Vérifier: suivre à quelle fréquence et dans quelles conditions les alertes tombent
✅ Ce qu'il faut avoir d'abord¶
Avant de régler un webhook, il vous faut en général ceci :
- Une formule TradingView payante (Essential, Plus ou Premium) : les comptes gratuits n’ont pas accès aux webhooks
- L'adresse du destinataire: un service qui accepte les requêtes HTTP POST, par exemple un webhook Discord, un serveur à vous ou une plateforme d'automatisation
- Un indicateur de Signal Pilot: réglé et posé sur votre graphique
- Quelques notions de JSON: utile si vous voulez composer le message vous-même, mais pas indispensable
🔧 Étape par étape¶
Étape 1 : récupérer l'adresse du webhook¶
L'adresse dépend de l'endroit où vous voulez que les alertes arrivent :
Webhook Discord
- Dans Discord, allez dans Paramètres du serveur → Intégrations → Webhooks
- Cliquez sur « New Webhook »
- Donnez-lui un nom et choisissez le salon
- Copiez l'adresse du webhook (de la forme :
https://discord.com/api/webhooks/...)
Bot Telegram
- Cherchez « @BotFather » dans Telegram
- Envoyez
/newbotpuis suivez ce qu'il vous demande - Récupérez le jeton du bot
- Utilisez un service passerelle ou un serveur à vous pour retransmettre vers Telegram les webhooks de TradingView
Serveur ou API à vous
Vous pouvez monter votre propre destinataire avec des plateformes comme :
- Webhook.site: pour les essais ; il reçoit le contenu du webhook et vous l'affiche
- Make.com (anciennement Integromat): pour relier plusieurs services entre eux
- Zapier: pour automatiser des enchaînements de tâches
- Un serveur à vous: Python avec Flask, Node.js avec Express, et ainsi de suite
Étape 2 : régler l'alerte dans TradingView¶
- Sur le graphique où se trouve votre indicateur de Signal Pilot, cliquez sur l'icône Alerte (le réveil avec un +)
- Dans la fenêtre de l'alerte :
- Condition: choisissez votre indicateur de Signal Pilot et la condition à surveiller
- Options: cochez « Once Per Bar Close » pour éviter les redessins en cours de bougie
- Échéance: réglez-la selon vos besoins ; le plus souvent « Open-ended »
- Descendez jusqu'à l'onglet « Notifications ».
- Cochez la case « Webhook URL ».
- Collez l'adresse de votre destinataire
Étape 3 : composer le message (facultatif)¶
Dans le champ « Message » vous décidez quelles données partent. TradingView accepte ces variables :
{
"indicator": "{{ticker}}",
"price": "{{close}}",
"time": "{{time}}",
"signal": "Pentarch: IGN event",
"timeframe": "{{interval}}"
}Les variables TradingView les plus courantes :
{{ticker}}: le nom du symbole, par exemple « BTCUSDT »{{close}}: le cours de clôture du moment{{time}}: l'heure à laquelle l'alerte est tombée{{interval}}: l'unité de temps, par exemple « 15 » ou « 1D »{{exchange}}: le nom de la place de marché
Étape 4 : essayer le webhook¶
- Une fois l'alerte créée, cliquez sur le bouton « Test » des réglages de l'alerte.
- Allez voir du côté du destinataire : salon Discord, webhook.site ou ce que vous avez mis
- Vérifiez que le message arrive bien mis en forme
- Si rien n'arrive, regardez :
- Que l'adresse du webhook soit la bonne
- Le compte TradingView a accès aux webhooks (Essential, Plus ou Premium)
- Que le destinataire soit joignable et qu'aucun pare-feu ne le bloque
💬 Exemples de mise en forme¶
Message au format Discord
{
"content": "🔔 **Signal Pilot Alert**",
"embeds": [{
"title": "Pentarch: IGN event",
"description": "IGN event printed on {{ticker}}",
"color": 65280,
"fields": [
{"name": "Price", "value": "{{close}}", "inline": true},
{"name": "Timeframe", "value": "{{interval}}", "inline": true},
{"name": "Time", "value": "{{time}}", "inline": false}
]
}]
}Message en texte simple
Signal Pilot : {{ticker}} - changement de régime Harmonic Oscillator à {{close}} en unité de temps {{interval}}JSON structuré pour une API à vous
{
"alert_type": "signal_pilot",
"indicator": "janus_atlas",
"symbol": "{{ticker}}",
"exchange": "{{exchange}}",
"timeframe": "{{interval}}",
"price": "{{close}}",
"timestamp": "{{time}}",
"condition": "Level Break Alert"
}🌐 Les plateformes les plus courantes¶
| Plateforme | Cas d'usage | Difficulté de réglage |
|---|---|---|
| Discord | Prévenir l'équipe et garder trace | Très facile |
| Telegram | Notifications sur le téléphone | Moyenne ; il faut un bot et une passerelle |
| Make.com | Relier plusieurs services | Facile, avec un schéma visuel |
| Zapier | Se relier à plus de 5000 applications | Facile, avec un schéma visuel |
| Webhook.site | Essais et mise au point | Très facile |
| Serveur à vous | Maîtrise totale, logique sur mesure | Élevée ; il faut programmer |
🔍 Quand ça ne marche pas¶
- L'adresse est-elle bien dans l'alerte ? → Sinon, ajoutez-la
- L'alerte se déclenche-t-elle ? → Sinon, réparez d'abord l'alerte
- L'avez-vous essayée sur webhook.site ? → Sinon, commencez par là. Si ça échoue, générez une nouvelle adresse
- La mise en forme est-elle bonne ? → Revoyez le format propre à Discord ou à Telegram
- Le JSON est-il valide ? → Passez-le dans un validateur JSON pour vérifier la syntaxe
- Avez-vous une formule TradingView payante ? → Les comptes gratuits ne peuvent pas utiliser de webhooks
Essai rapide : Faites toujours un premier essai sur webhook.site. Si ça arrive là et pas dans Discord ou Telegram, le problème vient du réglage côté destinataire.
Le webhook n'arrive pas
- Vérifiez votre offre TradingView: les comptes gratuits ne peuvent pas utiliser de webhooks
- Revoyez l'adresse: pas d'espace en trop, et le protocole doit être https://
- Testez le destinataire: passez par webhook.site pour confirmer que TradingView atteint bien votre adresse
- L'alerte est-elle tombée ?: regardez le journal des alertes de TradingView pour confirmer qu'elle s'est bien déclenchée
Le message contient les mauvaises données
- Écriture des variables: il faut écrire
{{ticker}}pas{ticker} - Mise en forme du JSON: si vous utilisez le format structuré, validez-le sur jsonlint.com
- Guillemets échappés: mettez
\"si vous avez besoin de guillemets à l'intérieur d'une chaîne JSON
Trop de webhooks d'un coup
- Fréquence de l'alerte: passez de « Once Per Bar » à « Once Per Bar Close »
- Précision de la condition: resserrez la condition pour qu'elle tombe moins souvent
- Temps de repos: certains services de webhooks limitent le nombre de requêtes acceptées
🔒 Sécurité¶
Points de sécurité à retenir
- L'adresse d'un webhook est une donnée sensible: traitez-la comme un mot de passe et ne la publiez nulle part
- Changez-la de temps en temps: surtout si des tâches importantes en dépendent
- Contrôlez ce qui arrive: si vous passez par un serveur à vous, vérifiez que les requêtes viennent bien de TradingView
- Privilégiez HTTPS: un destinataire qui n'accepte que du HTTP en clair est un risque
📋 Un montage en exemple¶
Scénario : Recevoir les alertes IGN de Pentarch dans un salon Discord
- Créé : un webhook Discord dans le salon #trading-alerts
- Réglé : Pentarch v1.0 sur le graphique BTCUSDT en 15 minutes
- Alerte posée : sur la condition « Pentarch: IGN event »
- Fréquence : « Once Per Bar Close »
- Collée : l'adresse du webhook Discord dans les réglages de l'alerte
- Message sur mesure : au format d'encart Discord montré plus haut
- Essayée : l'alerte ; le message est bien apparu dans Discord
- Alerte active : - le salon reçoit un message chaque fois qu’un évènement IGN s’imprime
(Exemple de montage réel, à titre pédagogique seulement. Ceci n'est pas un conseil financier. Les résultats varient d'une personne à l'autre.)