Automatiser les alertes TradingView avec des webhooks
Ce qu'est un webhook, alertes d'indicateur ou de stratégie, construire un message JSON avec des placeholders, et quoi vérifier pour une automatisation fiable et sûre.
TradingView est l'un des outils les plus populaires pour l'analyse graphique et la construction de stratégies, mais ses alertes n'envoient pas d'ordres à un courtier d'elles-mêmes. Le pont entre une alerte et une exécution, c'est le webhook : un message automatique envoyé à l'adresse de votre choix dès que l'alerte se déclenche. Cet article explique comment cela fonctionne, ce qu'il faut mettre dans le message et quels pièges de fiabilité et de sécurité il vaut mieux connaître à l'avance.
Qu'est-ce qu'un webhook
Un webhook est un mécanisme par lequel un système envoie une requête HTTP à un autre quand un événement se produit, au lieu que le second demande sans cesse « du nouveau ? ». Avec TradingView, lorsqu'une condition d'alerte est remplie, les serveurs de TradingView envoient une requête POST à l'URL de webhook que vous avez configurée, et le corps de la requête contient le texte saisi dans le champ message.
Le côté récepteur, par exemple une plateforme d'automatisation, lit le message, détermine ce qu'il faut faire (acheter, vendre, clôturer, quantité) et envoie l'ordre au compte du courtier. Gardez en tête que TradingView ne fait qu'envoyer le message. Toutes les décisions d'exécution, de gestion du risque et de contrôle de cohérence se prennent côté récepteur.
D'après le centre d'aide de TradingView, l'envoi de webhooks dépend de votre abonnement et nécessite généralement l'authentification à deux facteurs sur le compte. Ces conditions peuvent changer : vérifiez les informations à jour sur leur site officiel.
Alertes d'indicateur ou alertes de stratégie
Deux grands types d'alertes servent à l'automatisation :
- Alerte d'indicateur ou de condition : créée sur un indicateur, sur le prix ou sur une fonction d'alerte du code Pine. Adaptée quand la logique est simple, ou quand l'indicateur décide lui-même quand envoyer un signal.
- Alerte de stratégie : créée sur un script de type stratégie et déclenchée quand le moteur de stratégie exécute un ordre simulé (entrée, sortie, retournement). L'avantage est que le message peut contenir des informations sur l'ordre lui-même, comme le sens et la taille.
La distinction compte, car elle change le comportement. Une alerte de stratégie dépend des réglages de la stratégie, par exemple si elle calcule uniquement à la clôture de la bougie ou à chaque tick. Si votre backtest tournait à la clôture et que l'alerte en direct tourne en intra-bougie, les résultats peuvent différer. Vérifiez les réglages et assurez-vous qu'ils sont cohérents.
Construire le message : JSON et placeholders
La plupart des systèmes d'automatisation attendent un message au format JSON, une structure de champs et de valeurs. Concrètement, un message type contient des champs comme le symbole à trader, le sens, le nombre de contrats, et parfois un identifiant de stratégie ou un jeton d'identification de la connexion. Le format exact est défini par le côté récepteur : copiez toujours le modèle depuis la documentation de la plateforme que vous utilisez.
TradingView prend en charge les placeholders : des variables entre doubles accolades remplacées par des valeurs réelles au moment de l'envoi. Il en existe pour le symbole, le prix de clôture, l'heure et, dans les alertes de stratégie, pour le sens et la quantité de l'ordre. Bien utiliser les placeholders permet de réutiliser le même modèle de message sur plusieurs graphiques sans le réécrire.
Quelques règles à respecter :
- Gardez un JSON valide : guillemets doubles autour des noms de champs et des textes, virgules entre les champs, pas de virgule finale.
- Ne vous fiez pas à des champs qui pourraient ne pas être renseignés dans toutes les situations.
- Vérifiez le message après substitution dans le journal des alertes de TradingView pour voir ce qui a réellement été envoyé.
Le bon symbole et l'échéance des contrats
Les futures posent un problème spécifique : le graphique continu (par exemple NQ1!) affiche le contrat le plus proche et bascule automatiquement, mais le courtier doit savoir quel contrat précis trader. Si le message envoie le nom du graphique continu, le côté récepteur doit le traduire vers le bon contrat. S'il envoie un contrat précis, l'alerte doit être mise à jour au moment du roll. L'explication complète se trouve dans l'article sur le roll des contrats à terme.
Points de fiabilité
Une bonne automatisation, c'est une automatisation dont vous savez quand elle n'a pas fonctionné. Points à surveiller :
- Expiration des alertes : sur certains abonnements, les alertes ont une date d'expiration. Une alerte expirée cesse simplement d'envoyer, sans bruit. Programmez-vous un rappel.
- Modifications du script : si vous modifiez l'indicateur ou la stratégie, l'alerte existante peut continuer à tourner sur l'ancienne version. Il faut généralement la recréer.
- Alertes en double : deux alertes sur le même graphique, ou une alerte qui se déclenche plusieurs fois par bougie, peuvent envoyer un ordre en double. Réglez la fréquence de déclenchement en connaissance de cause et, idéalement, laissez le côté récepteur détecter les doublons.
- Retards : un webhook transite par internet et peut être retardé. Sur un marché rapide, un léger retard influe sur le prix ; voir l'article sur le slippage et les coûts d'exécution.
- Panne du récepteur : si le serveur récepteur est indisponible, le message peut être perdu. Un bon système vous préviendra.
Sécuriser votre URL de webhook
Votre URL de webhook est en fait une clé : quiconque la connaît, ainsi que le format du message, peut envoyer des ordres sur votre compte. Par conséquent :
- Ne publiez pas l'URL dans des captures d'écran, des forums ou des groupes de discussion.
- Si possible, utilisez dans le message un jeton secret vérifié par le côté récepteur.
- Si vous soupçonnez une fuite de l'URL, créez une nouvelle connexion et révoquez l'ancienne.
- Définissez des limites de risque côté récepteur, pour qu'un message malformé ne puisse pas ouvrir une position énorme.
Check-list avant la mise en route
- La stratégie a-t-elle été testée avec les mêmes réglages de calcul que l'alerte ?
- Le message est-il un JSON valide selon la documentation du récepteur ?
- Le symbole est-il associé au bon contrat ?
- Connaissez-vous la date d'expiration de l'alerte ?
- Avez-vous fixé une limite de perte journalière et un nombre maximal de contrats ?
- Avez-vous tout testé d'abord en simulation ?
À retenir
- Un webhook n'est qu'un messager : TradingView envoie un message, et le côté récepteur exécute et gère le risque.
- Les alertes de stratégie peuvent transmettre sens et quantité, mais exigent des réglages de calcul cohérents.
- Un JSON valide et des placeholders corrects évitent bien des erreurs.
- L'expiration, les doublons et les modifications de script sont des sources de panne fréquentes.
- Votre URL de webhook est un secret : traitez-la comme un mot de passe.
Pour voir à quoi cela ressemble en pratique, un guide explique comment connecter les alertes TradingView à WeCore. WeCore reçoit les alertes, les transforme en ordres sur votre compte de courtier ou de prop firm et applique des limites de risque automatisées, et vous pouvez commencer en mode simulation.