Message d'alerte

Message d'alerte TradingView : le format, exemple par exemple

Le message est le seul texte que votre alerte envoie. Pour devenir un ordre sur MT4, MT5 ou cTrader, il suit un format simple : un objet JSON ou une seule ligne de texte. Voici chaque champ, chaque commande et des exemples prêts à copier, tous vérifiés dans le testeur de webhook.

JSON ou une ligne de texte Deux champs obligatoires, six facultatifs Exemples vérifiés au testeur Variables TradingView comprises

Le message de l'alerte

alert-payload.json
{
  "action":  "buy",
  "symbol":  "EURUSD",
  "volume":  0.10,
  "sl":      1.0820,
  "tp":      1.0910
}
Collez l'URL webhook de votre compte dans l'alerte TradingView, puis envoyez ce message JSON. Chaque étape (Received, Route, ACK, Delivered) reste visible dans le dashboard.
Actions disponibles
buy sell — ordre au marché (alias long / short)
buylimit buystop selllimit sellstop — ordre en attente — ajoutez un champ price
closelong closeshort closelongshort — ferme la/les position(s) sur ce symbole
cancellong cancelshort — annule un ordre en attente
newsltplong newsltpshort — met à jour SL/TP (alias breakeven…)

Liste complète et alias : référence de syntaxe des commandes.

Où va le message

Dans la fenêtre d'alerte TradingView, le champ Message contient le texte envoyé à chaque déclenchement, et le champ Webhook URL l'adresse où il part. Cette adresse est celle de votre compte TheConnector : elle porte déjà la clé d'accès, le message ne décrit donc que l'ordre.

  • Une alerte envoie un message, donc une commande
  • La clé d'accès reste dans l'adresse du webhook, jamais dans le message
  • TradingView remplace les variables comme {{ticker}} avant l'envoi

Le message minimal

Deux champs suffisent à un message valide : la commande et le symbole. L'ordre prend alors sa taille dans les réglages de risque du compte, et un calcul par le risque a besoin d'un stop : en pratique, ajoutez au moins un stop-loss, ou un nombre de lots fixe.

message.txt
{"action":"buy","symbol":"EURUSD"}

buy,EURUSD
  • action : quoi faire, ici acheter
  • symbol : le ticker TradingView, rapproché du symbole de votre courtier
  • La forme texte d'une ligne porte exactement la même information

Les champs du message

Huit champs couvrent presque tous les besoins. Leurs noms s'écrivent en minuscules, leurs valeurs sont des nombres, sauf la commande, le symbole et le tag. Un champ que TheConnector ne connaît pas est ignoré sans message : un nom mal orthographié passe inaperçu, d'où l'intérêt du testeur avant de passer en réel.

Champ Rôle Exemple
actionLa commande : acheter, vendre, fermer, annuler, modifierbuy
symbolL'instrument, tel que TradingView le nommeEURUSD
riskRisque de l'ordre, lu selon la source du risque du compte1
volumeUn nombre de lots fixe, qui passe avant le risque0.10
slStop-loss, dans le mode de prix du compte20
tpTake-profit, dans le mode de prix du compte40
pricePrix d'entrée d'un ordre en attente1.0850
tagNom de la stratégie, pour en distinguer plusieurs sur un symboletrend
  • Alias acceptés : lot ou lots pour volume, stoploss pour sl, takeprofit pour tp
  • Pas de champ account : l'adresse du webhook désigne déjà le compte
  • D'autres commandes et réglages par alerte figurent dans la référence de syntaxe

Les commandes

Le champ action prend l'une des commandes ci-dessous. Chacune accepte aussi une écriture avec un tiret bas, comme close_long, et long et short sont acceptés pour buy et sell.

Commande Effet Exemple
buy / sellOuvre une position au marché, à l'achat ou à la ventebuy,EURUSD,risk=1,sl=20
buylimit / selllimitOrdre en attente sous le prix (achat) ou au-dessus (vente)buylimit,EURUSD,price=1.0850,volume=0.1
buystop / sellstopOrdre en attente au-dessus du prix (achat) ou en dessous (vente)sellstop,GBPJPY,price=198.250,risk=1,sl=198.800
closelong / closeshortFerme la position acheteuse ou vendeuse du symbolecloselong,EURUSD
closelongshortFerme les deux sens sur le symbolecloselongshort,EURUSD
cancellong / cancelshortAnnule les ordres en attente à l'achat ou à la ventecancelshort,GBPJPY
newsltplong / newsltpshortDéplace le stop-loss et le take-profit de la position ouvertenewsltplong,EURUSD,sl=15,tp=60
  • Un ordre en attente a besoin de son prix d'entrée
  • Une fermeture ou une modification nomme le symbole, comme une entrée
  • breakevenlong et breakevenshort sont des alias de newsltplong et newsltpshort

Acheter ou vendre au marché, avec stop et objectif

Le message le plus courant : une entrée au marché dimensionnée par le risque, avec son stop-loss et son take-profit. Avec la source du risque sur Pourcentage TradingView et le mode de prix en pips, cet exemple risque 1 % du solde, avec un stop à 20 pips et un objectif à 40 pips.

message.json
{"action":"buy","symbol":"EURUSD","risk":1,"sl":20,"tp":40}
  • Pour une vente, remplacez buy par sell
  • Le risque est la perte si le stop est touché, pas la taille de la position
  • Pour imposer une taille, envoyez volume à la place de risk

Placer un ordre en attente

Un achat limite attend que le prix redescende jusqu'à son entrée, un achat stop qu'il monte jusqu'à elle. Cet exemple suppose le mode de prix du compte en prix absolu : l'entrée, le stop et l'objectif sont des prix de marché.

message.json
{"action":"buylimit","symbol":"EURUSD","price":1.0850,"volume":0.10,"sl":1.0820,"tp":1.0910}
  • Ici la taille est fixe : 0,10 lot
  • En mode pips ou pourcentage, les mêmes champs se lisent comme des distances
  • cancellong retire les ordres en attente à l'achat si le scénario ne tient plus

Fermer une position ou déplacer son stop

Trois messages, un par alerte : fermer la position acheteuse, fermer les deux sens, puis déplacer le stop-loss et l'objectif de la position acheteuse ouverte. Comme une entrée, chacun nomme son symbole.

messages.txt
{"action":"closelong","symbol":"EURUSD"}
{"action":"closelongshort","symbol":"EURUSD"}
{"action":"newsltplong","symbol":"EURUSD","sl":15,"tp":60}
  • Une fermeture sans tag prend la première position dans le sens demandé
  • Avec plusieurs stratégies sur le même symbole, nommez-les avec tag
  • Copiez une ligne par alerte, jamais le bloc entier

Deux stratégies sur le même symbole

Sans nom, une fermeture prend la première position qu'elle trouve, peut-être celle de l'autre stratégie. Le champ tag nomme la stratégie : à l'entrée, le robot l'inscrit dans le commentaire de la position chez le courtier, et une fermeture nommée ne touche que les positions qui le portent.

messages.txt
{"action":"buy","symbol":"USDJPY","risk":1,"sl":20,"tag":"trend"}
{"action":"closelong","symbol":"USDJPY","tag":"trend"}
  • Le même tag dans toutes les alertes de la stratégie, entrées comme sorties
  • Les tags passent en minuscules et sont coupés à 12 caractères : gardez-les courts et distincts
  • Lettres, chiffres, - et _ uniquement

Mettre des variables TradingView dans le message

Un seul message peut servir sur tous les graphiques : avec {{ticker}}, le symbole suit le graphique sur lequel l'alerte est créée. TradingView remplace la variable avant l'envoi, TheConnector reçoit donc le vrai symbole.

message.json
{"action":"buy","symbol":"{{ticker}}","risk":1,"sl":20,"tp":40}
  • Les variables texte vont entre guillemets ("{{ticker}}"), pas les nombres comme {{close}}
  • Alertes de stratégie : {{strategy.order.action}} dit « sell » pour sortir d'un achat, préférez alert_message
  • La liste complète des variables est dans le guide des alertes TradingView

Les unités du stop, de l'objectif et du prix

Les nombres de sl, tp et price se lisent selon le mode de prix choisi dans les réglages du compte. Prix absolu : un prix de marché, comme 1.0750. Pips : une distance depuis l'entrée, comme 20. Pourcentage : une distance en pourcentage du prix d'entrée, comme 0.5.

  • Le mode de prix doit correspondre à ce qu'envoient vos alertes
  • Les pips conviennent au forex ; sur les indices et les métaux, préférez le prix ou le pourcentage
  • Écrivez les décimales avec un point : dans la forme d'une ligne, la virgule sépare les champs
  • Variante : sl_pips, sl_price ou sl_pct (et tp_pips, tp_price, tp_pct) fixent l'unité dans l'alerte elle-même

Les erreurs qui font refuser un message

La plupart des refus viennent d'une poignée de causes, et l'historique des alertes nomme chacune. La première surprend : un champ account recopié d'un vieil exemple fait refuser toute l'alerte, même avec une clé valide.

  • Un champ account qui ne correspond pas exactement au compte : refus comme clé d'accès rejetée
  • JSON mal formé : un guillemet oublié ou une virgule en trop
  • Une commande inconnue ou absente, ou un symbole manquant
  • Un nombre accompagné de texte ou d'une unité, comme 20pips ou 1%

Vérifier un message avant de l'envoyer

Le testeur de webhook gratuit lit votre message avec le même analyseur que la passerelle de production et affiche ce qu'il comprend : commande, symbole, taille, stop, objectif, tag. Rien n'est envoyé à aucun compte. Le générateur d'alerte de l'accueil compose le message pour vous.

  • Collez le message exactement comme il sera dans TradingView
  • Remplacez les variables par de vraies valeurs avant le test
  • Envoyez ensuite une première alerte vers un compte démo

Guides liés

FAQ

Faut-il mettre la clé d'accès dans le message ?

Non. Elle fait partie de l'adresse du webhook copiée depuis votre tableau de bord, qui identifie le compte. Le message ne décrit que l'ordre.

JSON ou une ligne de texte : lequel choisir ?

Les deux sont acceptés et portent les mêmes champs. Le JSON nomme chaque valeur, ce qui le rend plus facile à relire ; la forme d'une ligne, comme buy,EURUSD,risk=1,sl=20,tp=40, est plus courte à taper.

Comment fermer une position depuis une alerte ?

Envoyez closelong pour fermer la position acheteuse ou closeshort pour la vendeuse, avec le symbole : {"action":"closelong","symbol":"EURUSD"}. Avec plusieurs stratégies sur le symbole, ajoutez le même tag qu'à l'entrée.

Pourquoi mon alerte est-elle refusée alors que la clé est valide ?

Le plus souvent à cause d'un champ account recopié d'un vieil exemple : s'il est présent, il doit correspondre exactement au compte, sinon l'alerte est refusée comme si la clé était fausse. Retirez-le, l'adresse du webhook suffit.

Peut-on envoyer le prix de clôture de la bougie ?

Oui, avec la variable {{close}}, sans guillemets. Elle sert de prix d'entrée à un ordre en attente, quand le mode de prix du compte est en prix absolu.

Que se passe-t-il si le message contient un champ que TheConnector ne connaît pas ?

Il est ignoré, sans erreur. L'ordre part sans lui : un nom mal orthographié change donc l'ordre sans prévenir. Vérifiez le message dans le testeur de webhook.