Ordres stop invalides dans MetaTrader : ce que cela signifie et comment y remédier
En bref : votre ordre stop loss ou take profit se trouve à un niveau que le courtier n'accepte pas. Généralement, il est trop proche du cours actuel ; parfois, il se situe du mauvais côté de celui-ci ; et il arrive aussi qu'il s'agisse d'un problème d'arrondi sur un symbole présentant un pas de cotation inhabituel. Ces trois cas apparaissent dans les spécifications du symbole et dans le Journal.
Ce que MetaTrader vous dit réellement
Dans l'onglet « Journal », la ligne se présente comme suit :
Échec de l'ordre d'achat au marché à 0,10 EURUSD ; stop loss : 1,08420 ; take profit : 1,08480 [Stops non valides]
Le courtier a comparé ces deux chiffres au cours en vigueur à ce moment-là. Il les a ensuite comparés à ses propres règles et a rejeté l'ordre. L'ordre n'a jamais été transmis au marché ; par conséquent, aucune position n'a été ouverte et aucune perte n'a été subie. Cependant, l'EA a été discrètement empêché de négocier, ce qui explique pourquoi cette situation ressemble souvent à un dysfonctionnement de l'EA plutôt qu'à un ordre rejeté.
Cause n° 1 : au niveau des butées
C'est le plus courant. Chaque symbole véhicule un Niveau des butées, en points, ce qui correspond à la distance minimale à laquelle un ordre stop-loss ou un ordre take-profit peut être placé par rapport au cours actuel.
Pour y accéder : « Market Watch », clic droit, Symboles, choisissez la paire, lisez les spécifications. Si le chiffre indiqué est 30, alors sur une paire EURUSD à 5 chiffres, votre stop doit être situé à au moins 3,0 pips.
Comparons maintenant cela à ce que l'EA tente de mettre en place. Un take profit de 30 pips dépasse largement un niveau de stop de 30 points. Ce n'est pas le cas d'un take profit de 2 pips, et sur un instrument où le niveau de stop est de 100 points, même un objectif de 5 pips est impossible.
La solution consiste à élargir les niveaux de stop loss ou de take profit de l'EA au-delà du seuil minimum fixé par le courtier, ou à négocier un instrument dont ce seuil minimum est inférieur.
Cause n° 2 : le mauvais côté du prix
C'est moins courant, et cela indique généralement qu'un EA est mal programmé ou que le cours n'est plus d'actualité.
Pour un ordre d'achat, le stop loss doit être situé en dessous du cours et le take profit au-dessus. Pour un ordre de vente, c'est l'inverse. Si l'EA a calculé ses niveaux à partir d'un cours qui a depuis évolué — en raison d'un marché volatil ou d'un VPS lent —, ce qui se trouvait auparavant en dessous du cours peut désormais se situer au-dessus.
Il y a aussi le classique « off-by-one » : lors d'un achat, l'entrée utilise le cours vendeur (Ask), et la distance du stop doit être mesurée à partir de celui-ci, et non à partir du cours acheteur (Bid). Sur un titre à large écart, cette différence suffit à faire basculer un stop serré du mauvais côté.
Cause n° 3 : taille des incréments et arrondi
Chaque symbole a une pas de cotation, soit le plus petit incrément de prix qu'il accepte. De nombreux indices et certains CFD sur cryptomonnaies utilisent un pas de cotation supérieur à un seul point.
Si un EA calcule un cours de stop de 38 412,37 pour un symbole dont le pas de cotation est de 0,5, le courtier ne peut pas l'accepter. Ce niveau doit d'abord être arrondi à un multiple du pas de cotation.
Vous ne pouvez pas régler ce problème dans les paramètres. C'est le rôle de l'EA, et un EA bien programmé normalise tous les cours qu'il envoie. Si vous constatez ce problème uniquement sur un symbole exotique, c'est probablement la cause.
Cause n° 4 : le niveau de gel
Indépendant du niveau des arrêts, et moins connu. Niveau de gel Il s'agit de la fourchette de prix à l'intérieur de laquelle un ordre existant ne peut être ni modifié ni clôturé.
Cela donne lieu à la même plainte dans une situation différente : l'EA n'ouvre pas de position, mais tente de déplacer un stop, et le courtier refuse car le cours est trop proche de celui-ci. Le cahier des charges mentionne ce cas juste en dessous de la rubrique « Niveaux des stops ».
Aller de l'avant
- Ouvrez le journal et copiez exactement la ligne rejetée, y compris les valeurs « sl » et « tp ».
- Ouvrez la fiche technique du symbole : niveau d'arrêt, niveau de gel, pas de cotation, nombre de chiffres.
- Convertissez les paramètres de stop et de take profit de l'EA en points pour ce symbole et comparez-les aux niveaux de stop.
- S'ils franchissent ce niveau, vérifiez le côté : la résistance est-elle inférieure au cours d'achat ?
- Si cela vous convient également, vérifiez si le prix est un multiple valide de l'incrément de cotation.
Dans la pratique, la troisième étape en explique la plupart, et la solution consiste à élargir la fourchette plutôt qu’à changer de courtier.
Pourquoi les comptes démo cachent-ils cela ?
Les serveurs de démonstration sont souvent configurés avec un niveau de stop à 0 ; ainsi, un EA dont les cibles sont serrées fonctionne parfaitement sur ces serveurs, mais est rejeté dès qu’il est utilisé sur un compte réel avec un minimum réel.
C'est l'une des raisons les plus courantes pour lesquelles une stratégie qui a donné d'excellents résultats lors des tests ne produit aucun résultat une fois mise en œuvre, un sujet abordé plus en détail dans La version de démonstration fonctionne, mais pas la version en ligne.. Si l'EA ne passe aucun ordre et que vous ne voyez aucune ligne de rejet, suivez les étapes suivantes : L'EA n'ouvre pas de positions au lieu de cela.