Passer des ordres bracket OCO et OSO via l’API
Passer des ordres bracket OCO et OSO via l’API Tradovate n’a rien de compliqué une fois que vous voyez comment les pièces s’assemblent. Voici les jambes d’entrée, de stop et d’objectif avec placeOSO, placeOCO et orderStrategy, étape par étape.
On This Page
Passer des ordres bracket OCO et OSO via l’API Tradovate n’a rien de compliqué une fois que vous voyez comment les pièces s’assemblent. Que vous mettiez en place un bot personnalisé, auditiez vos sorties ou construisiez une automatisation comme PickMyTrade, ce guide vous présente pas à pas les jambes d’entrée, de stop et d’objectif avec placeOSO, placeOCO et orderStrategy.
Que sont les ordres bracket OCO et OSO ?
Un bracket encadre l’entrée d’un trade avec un stop-loss de protection et un objectif de take-profit, de sorte que chaque position a un risque défini dès le premier tick. OSO (order-sends-other) ne déclenche le stop et l’objectif enfants qu’une fois l’entrée parente exécutée. OCO (one-cancels-other) relie deux ordres actifs de sorte que l’exécution de l’un annule automatiquement l’autre. Un bracket complet s’appuie généralement sur ces deux principes à la fois.
Passer des ordres bracket OCO et OSO via l’API : étape par étape
Authentifiez-vous et récupérez vos identifiants de compte
Obtenez un jeton d’accès, puis notez deux éléments : votre accountId numérique et votre nom d’utilisateur accountSpec. Chaque appel de bracket exige les deux. Définissez isAutomated: true sur les ordres de bot : les règles du CME exigent que les ordres automatisés portent cet indicateur, et Tradovate les rejettera s’il est absent.
Envoyez un bracket OSO (entrée + stop + objectif)
Faites un POST vers /order/placeOSO. L’objet de premier niveau est votre ordre d’entrée, avec des champs tels que accountSpec, accountId, action, symbol, orderQty, orderType et isAutomated ; bracket1 et bracket2 sont les sorties conditionnelles qui s’activent à l’instant où cette entrée est exécutée. Utilisez un bracket Limit avec un price pour l’objectif et un bracket Stop avec un stopPrice pour la perte ; qu’ils se trouvent dans bracket1 ou bracket2 n’a aucune importance. Une réponse réussie vous renvoie orderId, bracket1Id et bracket2Id. Remplacez les prix d’exemple par vos propres niveaux avant de l’envoyer.
Reliez deux sorties avec OCO
Vous êtes déjà en position et il vous faut seulement un stop et un objectif qui s’annulent mutuellement ? Faites un POST vers /order/placeOCO. L’objet principal est une jambe, avec accountSpec, accountId, action, symbol, orderQty, orderType et stopPrice ; l’objet imbriqué other est la seconde jambe. Lorsque l’une des jambes est exécutée, Tradovate annule l’autre. Envoyez le corps sous forme de véritable JSON, utilisez json=payload, et non data=, sinon vous obtiendrez une erreur « Invalid JSON ». Et assurez-vous que les deux jambes forment une paire stop/objectif valide, faute de quoi Tradovate renvoie « Wrong OCO combination. »
Automatisez des brackets gérés avec orderStrategy
Pour un bracket entièrement côté serveur, de type ATM, Tradovate expose un endpoint de stratégie d’ordres (startOrderStrategy). Il prend un tableau brackets de décalages qty, profitTarget et stopLoss et gère les sorties pour vous une fois l’entrée exécutée. Acheminez cet appel via un WebSocket pour plus de fiabilité ; s’il échoue, rabattez-vous sur l’approche appariée placeOSO/placeOCO décrite ci-dessus.
Vérifiez les jambes du bracket dans Tradovate
Ouvrez le panneau Orders (et le panneau Positions) dans la plateforme web Tradovate et vérifiez que votre entrée a été exécutée et que les jambes de stop et d’objectif sont toutes deux actives. Si vous clôturez la position manuellement, annulez toute jambe orpheline afin qu’elle ne reste pas dans le carnet en attente d’exécution.
Pourquoi vous en avez besoin
- Déployer une automatisation à risque défini où chaque entrée porte un stop et un objectif.
- Auditer ou rapprocher les exécutions de l’API avec ce qui s’affiche réellement dans la plateforme.
- Migrer une stratégie TradingView ou personnalisée vers un routage d’ordres direct.
- Garantir qu’une sortie est dans le carnet dès l’instant où une position s’ouvre.
Automatisez cela avec PickMyTrade
Gérer la logique de bracket via l’API brute implique des jetons d’accès, des identifiants d’appareil et des payloads JSON que vous devez maintenir à la main. PickMyTrade relie vos alertes TradingView directement à votre compte Tradovate et attache automatiquement le stop et l’objectif, sans code et sans clics manuels.
Oubliez les payloads de bracket
Laissez PickMyTrade relier vos alertes TradingView directement à votre compte Tradovate et attacher automatiquement le stop et l’objectif.
Commencez votre essai gratuit de 7 joursQuestions fréquentes
OSO envoie des ordres enfants qui ne s’activent qu’après l’exécution de l’ordre d’entrée parent. OCO relie deux ordres actifs de sorte que l’exécution de l’un annule l’autre. Un bracket complet utilise souvent les deux ensemble.
Utilisez orderType: "Limit" avec un price pour le take-profit et orderType: "Stop" avec un stopPrice pour la perte. Qu’ils se trouvent dans bracket1 ou bracket2 ne change pas le comportement.
Envoyez le payload sous forme de véritable JSON plutôt que de chaîne de formulaire/data, et assurez-vous que les actions et les prix des deux jambes forment une paire stop et objectif valide.
Ce guide est fourni à des fins strictement éducatives et informatives et ne constitue ni un conseil financier, ni un conseil en investissement, ni un conseil 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 et n’est ni affiliée à Tradovate, Inc., ni approuvée, ni parrainée par cette dernière. « Tradovate » et 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 en vigueur dans la plateforme et la documentation officielles de Tradovate avant d’agir.