Tradovate API

Le webhook TradingView ne passe pas les trades Tradovate

Votre alerte TradingView se déclenche sur le graphique et rien n'arrive dans Tradovate : ni exécution, ni rejet, juste le silence. Voici chaque point de la chaîne qui peut échouer sans bruit, et comment corriger chacun.

On This Page

Vous avez configuré une alerte TradingView, vous l'avez vue se déclencher sur le graphique, puis... rien. Pas d'exécution, pas d'ordre actif, pas même un rejet, juste le silence côté Tradovate. Lorsqu'un webhook TradingView ne passe pas de trades Tradovate, la panne se trouve presque toujours dans l'un des quelques réglages situés entre la fenêtre d'alerte et votre courtier : une formule non prise en charge, une URL de webhook mal formée, un JSON cassé, un symbole qui ne correspond pas à un contrat Tradovate actif, le mauvais compte ou une alerte de stratégie reliée au mauvais déclencheur.

Voici le détail qui piège beaucoup de monde. TradingView n'accepte le trafic de webhook que sur les ports 80 et 443, et annule tout appel auquel son serveur ne peut pas répondre en trois secondes. Une minuscule erreur de configuration ne produit donc pas d'erreur bruyante : elle échoue silencieusement, et vous vous retrouvez devant un graphique qui semble avoir tout fait correctement. Ci-dessous, je passe en revue chaque point de défaillance dans l'ordre qu'il vaut la peine de vérifier, et je montre où un bridge d'automatisation comme PickMyTrade supprime les approximations pour qu'une alerte déclenchée devienne toujours un ordre réel.

Liste de contrôle rapide pour un webhook TradingView qui ne déclenche pas de trades

  • Formule TradingView payante, les webhooks nécessitent une formule payante (Essential ou supérieure). La formule gratuite Basic ne peut pas du tout envoyer de webhooks : l'alerte se déclenche, mais aucune requête ne quitte TradingView.
  • Authentification à deux facteurs activée, TradingView n'autorise les alertes par webhook que si la 2FA est activée sur votre compte.
  • URL de webhook propre, collez l'URL exacte du bridge en HTTPS, sans espace ni saut de ligne final, sur le port 80 ou 443.
  • Message d'alerte JSON valide, le corps du message doit pouvoir être analysé comme du JSON. Une accolade, un guillemet ou une virgule manquant, et le service récepteur ne peut pas le lire.
  • Symbole et compte concordants, le symbole TradingView doit correspondre à un contrat Tradovate actif et négociable, et le compte sélectionné dans votre bridge doit être celui sur lequel vous voulez réellement trader.
  • "Order fills only" pour les alertes de stratégie, les alertes construites à partir d'une stratégie Pine doivent se déclencher sur les exécutions d'ordres, et non à chaque calcul de barre.

Ce que signifie “L'alerte s'est déclenchée, mais aucun trade n'est arrivé dans Tradovate”

Tradovate n'accepte pas directement les webhooks TradingView. La connexion native de courtier de TradingView à Tradovate vous permet de passer et gérer des ordres à la main depuis un graphique ou une échelle, mais ce n'est pas un point de terminaison webhook. Pour transformer une alerte en ordre automatisé, il vous faut un bridge, PickMyTrade ou votre propre serveur, qui reçoit le webhook, lit le JSON et appelle l'API Tradovate en votre nom.

Cela signifie que "l'alerte s'est déclenchée mais aucun trade n'est apparu" comporte deux zones de défaillance très différentes. Soit le webhook n'a jamais atteint le bridge (un problème côté TradingView : formule, URL, JSON ou déclencheur), soit le webhook a atteint le bridge mais Tradovate a refusé l'ordre en aval (un problème côté courtier : symbole, compte, données de marché, limites de risque ou session). Identifiez d'abord la bonne zone et vous économiserez des heures.

La bonne nouvelle est que vous ne volez pas à l'aveugle. TradingView vous laisse une trace : chaque alerte a une colonne Webhook status dans le journal des alertes, et Tradovate enregistre chaque tentative d'ordre, rejets compris, dans ses panneaux Orders et Notifications. Lisez ces deux journaux ensemble et vous pourrez localiser exactement où la chaîne s'est rompue.

Principales causes d'échec des trades par webhook TradingView

1. Formule TradingView non prise en charge ou 2FA désactivée

Les webhooks sont une fonctionnalité payante. Sur la formule gratuite Basic, le champ d'URL de webhook n'existe tout simplement pas : l'alerte se déclenche visuellement mais n'envoie rien. Il vous faut au moins la formule Essential, et TradingView bloque en outre les alertes par webhook tant que l'authentification à deux facteurs n'est pas activée sur votre compte. Les noms et les prix des formules évoluent ; confirmez donc les niveaux actuels sur la page de tarifs de TradingView plutôt que de vous fier à une ancienne capture d'écran.

2. Une URL de webhook cassée ou mal saisie

L'URL du webhook doit être exactement le point de terminaison attendu par votre bridge, collée en HTTPS sans espace au début ni à la fin. TradingView n'achemine que vers les ports 80 et 443 et ne prend pas en charge les webhooks IPv6. Une URL copiée avec un espace parasite, un segment de chemin manquant ou un préfixe http:// ne sera pas livrée, silencieusement : sans avertissement, sans ordre.

3. Un message d'alerte JSON invalide

Les services de bridge analysent le message d'alerte comme du JSON. Si la charge utile n'est pas valide à 100 %, avec une accolade non fermée, une virgule manquante, un guillemet typographique collé depuis un document ou un caractère non échappé, le récepteur ne peut pas la lire et abandonne l'ordre. TradingView n'envoie le type de contenu application/json que lorsqu'il détecte du JSON valide ; sinon, il se rabat sur du texte brut, que beaucoup de bridges rejettent d'emblée.

4. Discordance de symbole ou de compte

Le symbole de votre graphique TradingView doit se résoudre en un contrat que Tradovate peut réellement trader. Les symboles continus comme NQ1! sont automatiquement associés à un contrat du mois le plus proche selon un calendrier de roulement qui peut différer de celui de Tradovate ; une alerte peut donc finir par viser un contrat expiré ou non négociable. Même chose côté compte : si le compte sélectionné dans votre bridge n'est pas le compte approvisionné ou démo visé, ou s'il n'est pas lié et autorisé, l'ordre n'a aucune destination valide.

5. Le mauvais déclencheur de stratégie

Lorsque vous construisez une alerte à partir d'une stratégie Pine plutôt que d'un simple indicateur, la Condition de l'alerte doit être réglée sur la stratégie avec "Order fills only" sélectionné. Ainsi, chaque webhook correspond à un véritable ordre de la stratégie, une entrée ou une sortie, au lieu de se déclencher à chaque barre ou jamais. Un mauvais déclencheur produit l'un de deux maux de tête : un déluge de webhooks en double ou un silence total.

Comment corriger les trades par webhook TradingView vers Tradovate : pas à pas

Corriger la formule, la 2FA et l'URL du webhook

1

Confirmez votre formule TradingView

Confirmez que votre abonnement TradingView est une formule payante incluant les webhooks (Essential ou supérieure ; vérifiez la liste actuelle des formules sur TradingView).

2

Activez l'authentification à deux facteurs

Ouvrez les paramètres de sécurité de votre compte TradingView et activez l'authentification à deux facteurs.

3

Collez l'URL exacte du webhook

Dans votre bridge (PickMyTrade ou votre propre serveur), copiez l'URL exacte du webhook. Collez-la dans le champ Webhook URL de l'alerte TradingView et supprimez les espaces accidentels au début ou à la fin.

4

Redéclenchez et vérifiez la livraison

Enregistrez l'alerte et redéclenchez-la. Ouvrez ensuite le journal des alertes et vérifiez la colonne Webhook status ; un statut livré confirme que la requête a quitté TradingView.

Corriger le déclencheur de l'alerte

1

Sélectionnez la condition de stratégie

Créez ou modifiez l'alerte. Sous Condition, sélectionnez votre stratégie (et non une simple condition de prix).

2

Choisissez Order fills only

Choisissez l'option de déclenchement "Order fills only" pour que le webhook se déclenche une fois par véritable ordre de la stratégie.

Corriger l'association du symbole et du compte

1

Sélectionnez le bon compte

Dans votre bridge, sélectionnez le compte Tradovate précis que l'ordre doit atteindre et confirmez qu'il est lié et autorisé.

2

Utilisez un contrat explicite du mois le plus proche

Préférez un contrat explicite du mois le plus proche à un symbole continu, afin que l'ordre vise toujours un contrat Tradovate actif et négociable plutôt qu'un contrat expiré ou retardé.

3

Confirmez les données en temps réel

Assurez-vous que le compte dispose d'un abonnement actif aux données de marché en temps réel ; les ordres sur contrats à terme peuvent être refusés lorsque le compte reste sur des données retardées.

Lire un rejet Tradovate

1

Ouvrez le panneau Orders

Si l'alerte a été livrée mais qu'aucune position ne s'est ouverte, passez à Tradovate et ouvrez le panneau Orders (et Notifications).

2

Affichez la raison du rejet

Double-cliquez sur l'ordre en échec pour révéler sa raison de rejet ; les plus courantes sont un symbole non négociable, des accords de données de marché non signés, des limites de paramètres de risque, un contrat expiré ou un marché fermé.

3

Corrigez et redéclenchez

Corrigez la cause précise côté courtier, puis redéclenchez l'alerte pour confirmer que la chaîne complète aboutit désormais.

Tableau de dépannage

Symptôme / message Signification Correctif
L'alerte se déclenche, Webhook status vide, aucun ordreFormule gratuite ou 2FA désactivée, aucune requête envoyéePassez à une formule payante et activez la 2FA
Webhook status affiche une erreur de livraisonL'URL est incorrecte, contient des espaces ou utilise un port non pris en chargeRecollez l'URL HTTPS exacte (port 80/443), supprimez les espaces
Le bridge reçoit la requête mais l'ignoreLe message d'alerte n'est pas du JSON valideReconstruisez le JSON ; vérifiez chaque accolade, guillemet et virgule
"Non-Tradable Symbol" dans TradovateLe symbole ne correspond pas à un contrat actif ou manque de donnéesUtilisez le contrat du mois le plus proche et abonnez-vous aux données en temps réel
"TradingView has not been entitled to access your account"Le module/l'habilitation TradingView est désactivéActivez le module (ou demandez à votre prop firm de l'activer)
Ordre rejeté sur les paramètres de risqueLimites de risque du compte ou accords de données non signésSignez les accords de données et confirmez les paramètres de risque
Ordres en double ou manquants depuis une stratégieMauvais déclencheur d'alerteRéglez Condition sur la stratégie et choisissez "Order fills only"
Mauvais compte tradéLe bridge pointe vers un autre compteResélectionnez le bon compte Tradovate lié

Évitez cela avec PickMyTrade

  • Constructeur d'alertes guidé, génère la charge utile JSON et l'URL de webhook exactes pour votre compte Tradovate, de sorte qu'un message cassé ou une URL mal saisie ne quitte jamais TradingView.
  • Validation du symbole et du compte, associe votre symbole TradingView à un contrat Tradovate actif et confirme le compte cible avant l'envoi d'un ordre.
  • Contrôles d'habilitation et de données, respectent les limites de la prop firm et l'état des données de marché, en faisant apparaître la vraie raison pour laquelle un ordre serait refusé.
  • Synchronisation multi-comptes, réplique un ordre validé sur tous les comptes liés afin qu'une seule alerte les atteigne tous proprement.

Cessez de perdre des alertes à cause de mauvaises configurations silencieuses

Commencez votre essai gratuit de 7 jours, reliez vos alertes dès aujourd'hui et tradez sans rejet.

Commencez votre essai gratuit de 7 jours

Questions fréquentes

Non. Tradovate n'a pas de point de terminaison webhook natif. La connexion TradingView intégrée sert au trading manuel ; l'automatisation nécessite un bridge qui convertit l'alerte en appels à l'API Tradovate.

Oui. Les webhooks exigent une formule payante (Essential ou supérieure) et l'authentification à deux facteurs activée. La formule gratuite Basic ne peut pas envoyer de webhooks.

Vérifiez d'abord la colonne Webhook status du journal des alertes TradingView. S'il n'a jamais été livré, le problème est côté TradingView (formule, URL, JSON, déclencheur). S'il a été livré, consultez le panneau Orders de Tradovate pour y chercher un rejet.

Les échecs intermittents viennent généralement d'un symbole continu qui bascule vers un nouveau contrat, d'un jeton de session expiré ou d'un compte retombé sur des données de marché retardées. Utilisez des contrats explicites du mois le plus proche et gardez vos abonnements de données actifs.

Lorsque le message est du JSON valide, TradingView le signale comme tel et envoie une requête application/json. En cas de doute, collez-le dans n'importe quel validateur JSON et vérifiez l'absence de guillemets typographiques, de virgules manquantes ou d'accolades non fermées.

Pour les alertes construites à partir d'une stratégie Pine, il déclenche le webhook sur les exécutions réelles d'ordres de la stratégie, entrées et sorties, plutôt qu'à chaque barre, de sorte que chaque alerte correspond à un véritable ordre.

Le webhook a atteint Tradovate mais l'ordre a enfreint une règle côté courtier : un symbole non négociable, des accords de données non signés, des limites de risque, un contrat expiré ou un marché fermé. Double-cliquez sur l'ordre dans Tradovate pour lire la raison exacte.

Non. Un bridge ne fait qu'acheminer et valider l'ordre ; les limites propres à votre prop firm continuent de s'appliquer, et elles varient selon la société et la taille du compte ; vérifiez donc les règles actuelles de votre société.

Ce guide est fourni à des fins strictement éducatives et informatives et ne constitue pas un conseil financier, d'investissement ou de trading. Le trading de contrats à terme et d'autres produits à effet de levier comporte un risque de perte important et ne convient pas à tous les investisseurs. PickMyTrade est une plateforme d'automatisation tierce indépendante, non affiliée à Tradovate, Inc. ou Bookmap, ni approuvée ou parrainée par ces derniers. Tous les noms, logos et marques associés sont la propriété de leurs détenteurs respectifs. Les fonctionnalités et les étapes de la plateforme évoluent avec le temps ; vérifiez donc toujours la procédure actuelle dans la documentation officielle de la plateforme avant d'agir.