Tradovate

Risque de latence des ordres OCO Tradovate

Un bracket OCO paraît infaillible jusqu'à ce qu'un marché rapide attrape la jambe d'annulation en plein vol. Voici pourquoi les deux côtés peuvent être exécutés et comment éviter que votre position ne bascule.

On This Page

Un bracket OCO paraît infaillible à l'écran. Objectif en haut, stop en bas, et dès que l'un est exécuté, l'autre est censé disparaître. La plupart du temps, c'est exactement ce qui se passe. Mais il existe une petite fenêtre où ce n'est pas le cas, et sur un marché rapide cette fenêtre est assez large pour faire mal. En bref : lorsque votre objectif est exécuté, l'annulation de votre stop doit encore voyager jusqu'à la bourse et être accusée réception. Si le prix traverse votre stop pendant ces quelques millisecondes, les deux jambes peuvent être exécutées, et vous pouvez vous retrouver à plat alors que vous attendiez un gain, ou pire, dans une nouvelle position orientée dans le mauvais sens.

Ce n'est pas un bug que l'on corrige une fois pour l'oublier. C'est une particularité structurelle du fonctionnement des ordres sur contrats à terme, et il vaut la peine de la comprendre pour ne pas bâtir une stratégie qui dépend silencieusement du fait que l'annulation gagne toujours la course.

Ce qu'une OCO promet réellement

OCO signifie “one cancels other” (une annule l'autre). Vous attachez deux ordres de sortie à une position, généralement un ordre à cours limité pour votre objectif de gain et un stop pour votre risque, et le principe est simple : celui qui est exécuté retire l'autre. Sur l'échelle ou sur le graphique, cela ressemble à une seule unité.

Voici la partie qui piège les gens. La bourse de contrats à terme, CME Globex, ne sait pas que vos deux ordres sont liés. Il n'existe pas, au niveau de la bourse, d'instruction native “annule cet autre ordre lorsque celui-ci est exécuté”. Les deux ordres restent là comme des ordres actifs indépendants. La logique de liaison vit une couche au-dessus, dans la plateforme. Lorsqu'une jambe est exécutée, la plateforme voit l'exécution puis émet une annulation pour l'autre jambe. Deux messages distincts, l'un après l'autre, avec une vraie distance et un vrai temps entre eux.

Une OCO est donc une promesse logicielle, pas une garantie de la bourse. Et toute promesse qui dépend de l'arrivée d'un message à temps peut être rompue quand le timing se resserre.

Pourquoi la jambe d'annulation prend du retard

Deux éléments se cumulent ici, et ni l'un ni l'autre n'est sous votre contrôle une fois l'ordre actif.

La bourse exécute avant d'annuler. Si une exécution et une demande d'annulation arrivent au moteur d'appariement au même moment, la bourse traite l'exécution en premier. C'est l'ordre de priorité. Votre annulation peut arriver d'un cheveu trop tard simplement parce que le marché a atteint votre autre prix avant que l'annulation n'ait son tour. Tradovate a été direct à ce sujet : une OCO ne garantit pas une annulation. Quand les deux événements entrent en collision, l'exécution l'emporte.

Il y a toujours un aller-retour. L'exécution doit être détectée, l'annulation doit être générée, envoyée, reçue et confirmée. Même avec tout exécuté côté serveur et près de la bourse, ce n'est pas instantané. Dans des conditions calmes, c'est assez rapide pour que vous ne le remarquiez jamais. L'écart se compte en millisecondes. Mais le prix d'un marché chaud peut bouger de plusieurs ticks dans ces mêmes millisecondes, et s'il balaie votre stop encore actif avant que l'annulation ne soit confirmée, ce stop est exécuté.

Rendons à César ce qui est à César : parce que Tradovate gère l'OCO côté serveur plutôt que sur votre portable, elle est bien plus fiable qu'une configuration où votre PC domestique surveille l'exécution via une connexion internet grand public puis envoie l'annulation. La logique côté serveur continue de fonctionner même si votre connexion tombe, et l'annulation part d'une machine proche de la bourse. Cela réduit la fenêtre. Cela ne l'efface pas.

À quoi cela ressemble sur votre compte

Le scénario qui surprend les traders se déroule ainsi. Vous êtes à l'achat. Votre objectif est atteint, l'ordre limité est exécuté et votre position se clôture avec un gain. Beau trade. Sauf que quelques millisecondes plus tard, avant que l'annulation de votre stop ne soit confirmée, le prix a rebroussé chemin et touché le stop. Ce stop est exécuté lui aussi. Vous n'êtes plus à plat, vous êtes vendeur, à cause d'un ordre stop que vous pensiez déjà mort. Le prix continue sa course et ce short surprise saigne.

Dans l'autre sens, la même chose se produit à la baisse. Le stop est exécuté, clôture votre position acheteuse avec une perte, puis le marché rebondit fortement et votre objectif est exécuté un instant plus tard, vous remettant à l'achat juste au moment où le rebond s'essouffle. Le point commun est une seconde jambe exécutée dans la fenêtre d'annulation. Si vous vérifiez un jour vos exécutions et constatez que l'objectif et le stop ont tous deux été exécutés sur un bracket que vous pensiez à usage unique, c'est presque toujours la raison.

C'est le plus probable lors de volatilité programmée, au début d'un communiqué de la FOMC, au premier tick après le NFP, lors d'une publication du CPI, ou à tout moment où le carnet s'amincit et où le prix saute entre les niveaux. C'est exactement à ces moments qu'un bracket serré, avec objectif et stop à quelques ticks seulement, est le plus exposé. Plus les deux jambes sont rapprochées, plus le mouvement de prix nécessaire pour les attraper toutes les deux est faible.

Comment protéger votre position

Vous ne pouvez pas supprimer la physique de l'aller-retour, mais vous pouvez cesser de bâtir des configurations qui parient silencieusement que l'annulation gagne toujours. Quelques habitudes aident beaucoup.

Laissez un peu de marge à vos jambes

Plus la distance entre objectif et stop est étroite, plus il est facile qu'un mouvement rapide balaie les deux. Un écart plus large signifie que le prix doit parcourir davantage de chemin pour attraper la seconde jambe pendant la fenêtre d'annulation. Si votre avantage exige vraiment un bracket ultra-serré, entrez au moins en sachant que cette étroitesse est ce qui vous expose ici.

Ne vous reposez pas uniquement sur des OCO serrées en marché rapide

Autour d'événements connus, considérez une OCO serrée comme une couche de protection, pas comme tout le plan. Réduisez la taille, élargissez le bracket ou restez à plat pendant la première rafale. L'objectif est d'éviter une position où une seule publication programmée peut déclencher les deux jambes avant que l'une ou l'autre annulation ne soit confirmée.

Envisagez un stop-limite pour la jambe stop, en connaissance de cause

Certains traders utilisent un stop-limite plutôt qu'un simple stop au marché pour la jambe protectrice, afin qu'une exécution chaotique ne les entraîne pas loin au-delà de leur prix prévu. C'est un outil raisonnable. Soyez simplement honnête sur le compromis : un stop-limite peut ne pas être exécuté du tout si le prix saute franchement au travers de votre limite, ce qui vous laisse avec une position sans stop actif. Lors d'un véritable gap, un stop qui n'est pas exécuté est un danger à part entière. Choisissez par instrument et par situation plutôt que de tout basculer aveuglément.

Surveillez le module Positions juste après une exécution

Les premières secondes après l'exécution d'une jambe sont le moment où la seconde exécution surprise apparaît. Gardez les modules Positions et Orders à l'œil autour de vos sorties, surtout lors des annonces, afin qu'une position opposée inattendue ne reste pas là inaperçue pendant que vous êtes mentalement passé à la configuration suivante.

Gardez un flatten manuel prêt

Si vous êtes malgré tout basculé, la vitesse compte. Sachez où se trouve votre commande de flatten et soyez prêt à clôturer la position accidentelle et à annuler tout ordre orphelin en un seul geste. Un raccourci clavier ou un bouton de flatten en un clic vaut mieux que de fouiller les menus pendant qu'une position à contresens court.

Si vous voulez comprendre la mécanique de construction et d'ajustement de ces brackets, un tutoriel distinct sur la configuration des stratégies ATM couvre la partie paramétrage. Et si votre bracket n'est qu'exécuté partiellement plutôt que les deux jambes déclenchées, c'est un autre problème traité ailleurs.

Où l'automatisation intervient

Si vous routez des entrées et des sorties depuis TradingView ou une stratégie, la même règle s'applique : l'annulation doit toujours faire l'aller-retour, et un signal qui déclenche un objectif et un stop à quelques microsecondes d'intervalle est exposé à la même fenêtre. Une bonne automatisation ne prétend pas que la latence n'existe pas, elle la gère en la contournant, en réconciliant votre position réelle avec ce que la stratégie pense détenir afin qu'une jambe accidentelle soit détectée et nettoyée au lieu de courir.

Le risque de latence n'est propre à aucun courtier ni à aucun pont. Il est inscrit dans la manière dont les ordres sur contrats à terme sont appariés. Les traders qui ne s'y brûlent pas sont ceux qui traitent l'OCO comme un solide auxiliaire plutôt que comme une garantie à toute épreuve, et qui ont un plan pour le jour rare où l'annulation perd la course.

Réconciliez chaque exécution automatiquement

Vous voulez que vos alertes TradingView placent, gèrent et réconcilient automatiquement les ordres Tradovate, avec des contrôles de position qui détectent une exécution parasite au lieu de la laisser courir ?

Commencez votre essai gratuit de 7 jours

Questions fréquentes

Non. Une OCO est une promesse logicielle, pas une garantie de la bourse. Lorsqu'une exécution et une demande d'annulation arrivent à la bourse presque au même instant, celle-ci traite l'exécution en premier. La seconde jambe peut donc encore être exécutée avant que l'annulation ne prenne effet.

Oui. Dans la courte fenêtre entre l'exécution de la première jambe et la confirmation de l'annulation, l'objectif comme le stop peuvent être exécutés. Sur un marché rapide, cette fenêtre suffit à vous faire basculer dans une position opposée.

Tradovate la gère côté serveur, ce qui est plus fiable qu'une logique exécutée sur votre propre machine car elle survit à une déconnexion. Mais la bourse de contrats à terme n'a pas d'OCO native ; une petite fenêtre d'annulation subsiste donc toujours entre l'exécution et la confirmation de l'annulation.

Gardez une marge raisonnable entre votre objectif et votre stop, évitez les brackets ultra-serrés lors des annonces programmées, surveillez le module Positions dans les secondes qui suivent l'exécution d'une jambe, et gardez un flatten manuel prêt afin de pouvoir clôturer rapidement une position accidentelle.

Votre objectif a été exécuté et a clôturé le trade, mais le stop n'avait pas encore été annulé et il a été exécuté lui aussi. Cette exécution du stop a ouvert une toute nouvelle position dans l'autre sens. C'est le symptôme classique d'une jambe d'annulation qui accuse du retard sur l'exécution.

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, qui n'est ni affiliée à Tradovate, Inc., ni approuvée ni parrainée par cette société. 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 documentation officielle de la plateforme avant d'agir.