Votre indicateur sur TradingView affiche déjà les signaux — mais vous n’allez pas regarder le graphique 24h/24. C’est là qu’interviennent alertcondition et les webhooks : Pine déclenche l’alerte, et TradingView envoie un message (JSON) vers une adresse à vous, qui peut activer un bot. Ce guide montre la syntaxe correcte en Pine Script v5, comment construire le payload du webhook et les précautions réelles de ceux qui automatisent. Important : le trading est à très haut risque et les webhooks ne garantissent pas le profit — testez tout le flux en compte démo.

Vous avez le signal, mais pas l’exécution ? Découvrez comment un bot en Python reçoit le webhook et trade avec gestion du risque — en testant en compte démo.

Voir le bot en Python →

alertcondition vs alert() : lequel utiliser ?

En Pine v5, il existe deux voies. alertcondition() crée une « condition » que vous sélectionnez manuellement au moment de créer l’alerte dans TradingView. La fonction alert(), elle, se déclenche dynamiquement pendant l’exécution et permet de construire le message en temps réel. Pour les webhooks avec un payload dynamique (prix, actif), alert() est souvent plus flexible ; alertcondition() est parfait pour des signaux fixes et simples.

Syntaxe d’alertcondition

alertcondition(condition, title, message)

condition — l’expression booléenne (ex. : un croisement).
title — le nom qui apparaît dans la liste des alertes.
message — le texte envoyé (peut être le JSON du webhook).

Exemple : signal de croisement

//@version=5 indicator(« Alertas EMA – IA Trader Pro », overlay=true) emaFast = ta.ema(close, 9) emaSlow = ta.ema(close, 21) buy = ta.crossover(emaFast, emaSlow) sell = ta.crossunder(emaFast, emaSlow) plot(emaFast, color=color.green) plot(emaSlow, color=color.red) alertcondition(buy, « Compra », ‘{« acao »: »BUY », »ativo »: »{{ticker}} »}’) alertcondition(sell, « Venda », ‘{« acao »: »SELL », »ativo »: »{{ticker}} »}’)
Placeholders de TradingView : à l’intérieur du message, vous pouvez utiliser des variables comme {{ticker}}, {{close}}, {{time}} et {{interval}} — TradingView les remplace par les valeurs réelles au moment du déclenchement.

Message dynamique avec alert()

Si vous voulez construire le JSON en temps réel (ex. : inclure le prix calculé), utilisez alert() à l’intérieur de la condition :

if buy msg = ‘{« acao »: »BUY », »preco »:’ + str.tostring(close) + ‘}’ alert(msg, alert.freq_once_per_bar_close)

Le second argument contrôle la fréquence : alert.freq_once_per_bar_close ne se déclenche qu’à la clôture de la barre — recommandé pour éviter les signaux qui « repeignent » pendant la bougie.

Configurer le webhook

Dans TradingView, au moment de créer l’alerte : cochez l’option Webhook URL et collez l’adresse de votre serveur (ex. : un endpoint qui reçoit du POST). Le message de l’alerte devient le corps (body) de la requête. Votre serveur lit le JSON, le valide puis exécute l’ordre via l’API du courtier.

Précautions de sécurité : quiconque découvre votre URL peut envoyer des requêtes. Incluez un token secret dans le JSON et validez-le côté serveur ; utilisez HTTPS ; et n’exposez jamais les clés du courtier dans Pine. Le webhook ne doit transporter que l’intention (BUY/SELL), jamais des identifiants.

Limites honnêtes

Le webhook est puissant, mais comporte des pièges : la fonctionnalité dépend de votre plan TradingView ; les alertes peuvent prendre quelques secondes de retard (mauvais pour le scalping très rapide) ; tous les courtiers d’options binaires n’acceptent pas l’exécution externe ; et « automatiser » ne corrige pas une mauvaise stratégie — cela exécute simplement plus vite ce qui était déjà perdant. Bon webhook + stratégie sans avantage = perdre de l’argent plus vite.

FAQ

Faut-il payer pour utiliser un webhook ?
Oui, l’envoi d’alertes par webhook dépend des plans payants de TradingView. Vérifiez votre plan actuel.

alertcondition ou alert() ?
Utilisez alertcondition pour des signaux fixes simples ; utilisez alert() quand vous devez construire le message dynamiquement.

Comment éviter les signaux repeints ?
Déclenchez à la clôture de la barre (alert.freq_once_per_bar_close) et évitez les conditions qui changent pendant la bougie.

TradingView exécute-t-il l’ordre tout seul ?
Non. Il ne fait qu’envoyer le message. C’est votre serveur/bot qui reçoit le webhook qui exécute.

Avertissement : le trading est une activité à haut risque et la majorité des traders particuliers perdent de l’argent. Ce contenu est éducatif et technique, il ne constitue pas une recommandation d’investissement, une offre ou un conseil financier. L’automatisation ne prédit pas l’avenir ni ne garantit de résultats ; les résultats passés ne garantissent pas les résultats futurs. Testez toujours en compte démo avant de risquer du capital réel et n’investissez jamais plus que ce que vous pouvez vous permettre de perdre.