Alertes TradingView sur Discord : webhook, JSON et dépannage
Pour recevoir une alerte TradingView dans Discord, créez un webhook dans le salon de destination, puis placez son URL dans les notifications de l’alerte et un message JSON contenant la clé content dans son champ Message. TradingView documente cette connexion directe à Discord : aucun service intermédiaire n’est nécessaire pour ce cas.
Cette procédure concerne une alerte de prix classique et un salon textuel ordinaire. Elle publie une notification, sans passer d’ordre. Sources vérifiées le 22 octobre 2026 UTC. La syntaxe JSON de l’exemple a été vérifiée localement ; nous n’avons créé aucune alerte ni envoyé de message par ces services.
Avant de commencer
- Abonnement TradingView : le comparatif des offres inclut les notifications webhook dans Essential, Plus, Premium et Ultimate, mais pas dans Basic. Il vous faut aussi un emplacement d’alerte disponible.
- Double authentification : TradingView exige l’authentification à deux facteurs pour les alertes webhook.
- Accès au serveur Discord : la permission Gérer les webhooks est nécessaire pour créer la destination. Si vous n’avez pas cet accès, demandez à la personne qui administre le serveur.
- Salon de destination : utilisez un salon textuel ordinaire. Un salon de forum ou de média nécessite aussi une destination de fil ou un nom de fil, absents de cet exemple.
L’URL du webhook permet de publier des messages. Ne la mettez pas dans un message public, une capture d’écran ou un document partagé. Elle doit aller dans les paramètres de l’intégration, jamais dans le corps JSON ni dans un outil DiscordCatalog. Un webhook réservé à ces alertes sera plus facile à retrouver et à révoquer.
1. Créer la destination dans Discord
- Dans le serveur de destination, ouvrez Paramètres du serveur → Intégrations.
- Choisissez Création de webhook et donnez-lui un nom reconnaissable, par exemple « Alertes TradingView ».
- Sélectionnez le salon textuel qui recevra les messages. Pour commencer, prenez un salon où un message d’essai sera attendu.
- Enregistrez les réglages, puis copiez l’URL du webhook.
Le guide Discord décrit ces contrôles. Créer le webhook prépare la destination ; cela ne déclenche aucune alerte. Gardez l’URL pour l’étape des notifications.
2. Définir la condition de prix dans TradingView
Ouvrez le marché et la paire exacts à surveiller, puis Créer une alerte. BTC/USDT et BTC/USD n’utilisent pas la même devise de cotation : gardez le symbole choisi sous les yeux lorsque vous saisissez votre seuil.
Dans Condition, choisissez Prix, un opérateur et une valeur. Exemple purement fictif : sur BTC/USDT, Croisement vers le haut à 100 000 demande que le prix atteigne ou franchisse ce niveau en venant du dessous. C’est une illustration de l’opérateur TradingView, pas un cours observé ni une recommandation. Rien ne garantit que cette condition se produira pendant votre configuration.
Pour la première vérification, choisissez un déclenchement une seule fois, une expiration adaptée et un nom indiquant la paire et la condition. La documentation des paramètres distingue la règle du message : écrire « croisement vers le haut à 100 000 » dans le message ne règle pas le seuil.
Si vous avez sélectionné N’importe quel appel de la fonction alert(), arrêtez-vous ici : le script Pine contrôle le message et sa fréquence. La procédure ci-dessous utilise le champ Message d’une alerte de prix classique. Modifier une alerte de script peut nécessiter de modifier son code.
3. Coller le message JSON pour Discord
Ouvrez les réglages Message et collez l’objet JSON complet ci-dessous dans le corps du message. Le bloc permet seulement de copier le texte ; il n’envoie rien et ne vérifie pas votre configuration TradingView.
Message JSON pour une alerte de prix classique
Copiez aussi les accolades extérieures. Conservez les variables entre doubles accolades : TradingView les remplacera au déclenchement.
{
"content": "Alerte TradingView\n{{exchange}}:{{ticker}}\nCours : {{close}} {{syminfo.currency}}\nDéclenchement (UTC) : {{timenow}}",
"allowed_mentions": {
"parse": []
}
}
Les variables documentées indiquent le marché, le symbole, la clôture de la barre qui a déclenché l’alerte et la devise de cotation. {{timenow}} donne l’heure du déclenchement en UTC ; {{time}} donnerait l’horodatage de la barre. L’exemple omet {{interval}} : les alertes de prix simples sont calculées sur des barres d’une minute, même lorsque le graphique affiche une autre période.
La clé reste content, même avec un message en français. Le tableau parse vide dans allowed_mentions désactive l’interprétation des mentions ; il ne coupe pas les notifications ordinaires du salon et ne remplace pas les préférences des membres.
Pour personnaliser le texte, gardez un JSON valide : guillemets doubles, \" pour un guillemet dans le texte, \\ pour une barre oblique inverse et \n pour un retour à la ligne. Un retour à la ligne brut à l’intérieur d’une chaîne entre guillemets casse la syntaxe JSON. Les séquences \n de l’exemple deviennent des retours à la ligne dans le message reçu.
Le contenu final de content, variables remplacées comprises, doit rester dans la limite de 2 000 caractères de Discord. Un modèle JSON valide ne garantit pas que toutes ses valeurs futures tiendront dans cette limite. Pour préparer ensuite un message enrichi, le constructeur d’embed fournit un aperçu et du JSON ; il ne se connecte pas à TradingView et n’envoie aucun message.
4. Relier l’URL et enregistrer l’alerte
Dans l’onglet Notifications, activez l’option d’URL de webhook et collez l’URL copiée dans Discord. Les instructions officielles TradingView, en anglais utilisent directement cette destination. Avec le JSON natif ci-dessus, n’ajoutez pas de suffixe /slack.
Revérifiez le symbole, la condition, la fréquence, l’expiration, le message et la destination, puis créez l’alerte. TradingView envoie un JSON valide avec le type de contenu JSON ; sinon, il envoie du texte brut, ce qui peut faire échouer la requête Discord. L’URL de destination et le corps du message sont deux champs distincts.
5. Vérifier le déclenchement, puis la réception
Lorsque la condition se produit, vérifiez ces trois points :
- Une entrée figure dans le journal des alertes TradingView. Sans cette entrée, vous n’avez pas encore établi que la règle s’est déclenchée.
- La colonne Statut du webhook renseigne l’envoi. Une alerte peut se déclencher alors que sa requête échoue.
- Le message apparaît réellement dans Discord. Contrôlez le salon, le marché et la paire, la valeur affichée et l’heure UTC. Le seul statut d’envoi ne remplace pas cette vérification.
Le gestionnaire d’alertes distingue les alertes actives, arrêtées, expirées ou déjà déclenchées une seule fois. L’arrêt après le déclenchement est normal pour une alerte réglée sur une seule occurrence.
Pour vérifier la réception sans attendre votre seuil de prix, la démonstration officielle Discord, en anglais propose la condition Test (Discord Alert Demo). Ajoutez l’indicateur de cet exemple au graphique, sélectionnez cette condition et une fréquence Only Once, puis configurez votre webhook. Cela utilise un emplacement d’alerte technique. « Test » appartient à cet exemple, ce n’est pas un bouton universel. La réception de ce message vérifie l’envoi de ce test ; votre vraie condition de prix reste à vérifier séparément. Aucun de ces essais n’a été exécuté pour cet article.
Le message n’arrive pas : où chercher ?
Commencez par le journal des alertes pour distinguer un problème de condition d’un problème d’envoi.
Aucun déclenchement dans le journal
Vérifiez que l’alerte est active, non expirée et qu’elle n’a pas déjà terminé son unique déclenchement. Ouvrez ses paramètres et contrôlez le symbole, l’opérateur et le seuil. Un croisement vers le haut doit arriver depuis le dessous ; un niveau écrit dans le message ne modifie pas la règle.
L’alerte s’est déclenchée, mais aucun message dans Discord
Consultez le statut du webhook, puis comparez la destination enregistrée avec le webhook dans les intégrations Discord. Confirmez le salon choisi et l’existence du webhook. Pour cet exemple, utilisez un salon textuel ordinaire : un forum ou un média nécessite un fil. TradingView annule les requêtes qui dépassent trois secondes ; un déclenchement enregistré ne garantit donc pas la réception.
Le statut du webhook indique une erreur 4xx
Une erreur 4xx peut concerner le format des données, la destination, l’accès ou un trop grand nombre de requêtes. Vérifiez l’URL complète, une chaîne content non vide, les guillemets et échappements JSON, puis la longueur finale du message. En cas de limitation de débit, réduisez les rafales d’alertes plutôt que de multiplier les essais. Ne publiez jamais l’URL secrète pour demander de l’aide.
Les variables restent visibles ou le message n’est pas celui attendu
Confirmez que vous avez modifié la bonne alerte de prix et conservé les noms documentés des variables. Les variables de stratégie s’appliquent aux alertes de stratégie. Avec N’importe quel appel de la fonction alert(), examinez le message produit par le script : le champ Message ne le contrôle pas nécessairement.
Ne supposez pas que chaque échec sera réessayé. TradingView documente des renvois pour les réponses HTTP de 500 à 599, sauf 504 : jusqu’à trois renvois, espacés de cinq secondes. Cette règle ne garantit pas la réception pour les autres erreurs.
Arrêter une alerte ou révoquer sa destination
Pour suspendre une règle, arrêtez-la dans le gestionnaire d’alertes TradingView ; reprenez-la au besoin ou supprimez-la lorsqu’elle n’est plus utile. Supprimez aussi l’alerte de démonstration une fois le contrôle terminé, et ne gardez actives que les règles voulues.
Pour révoquer la destination Discord, supprimez le webhook dans les paramètres de son intégration. Cette suppression est définitive et concerne tous les services utilisant cette URL. Si elle a été divulguée, remplacez le webhook et mettez à jour les alertes voulues avec la nouvelle URL. Arrêter une règle TradingView ne révoque pas l’URL et ne supprime pas les messages déjà publiés.
Publié le