Dans cet article
Compte MT5 connecté mais ordre refusé : autorisations et preuve d'exécution
Un compte affiché comme « connecté » n'est pas automatiquement autorisé à passer des ordres. La liaison peut permettre de lire le solde, les positions ou les prix tout en refusant une demande d'achat. Cette différence devient importante lorsqu'on utilise MetaTrader 5, une passerelle autorisée ou une interface d'analyse comme Disciply. Le présent guide explique où une demande peut échouer et pourquoi répéter immédiatement une action peut être risqué. Il n'active pas le trading automatique, ne modifie pas les restrictions du courtier et ne promet aucune exécution.
1. Connexion, autorisation et exécution ne sont pas synonymes
La connexion technique indique que le terminal et le serveur peuvent communiquer. Le droit de négocier dépend de la nature du compte, du courtier et des paramètres du logiciel. L'exécution se constate ensuite dans les enregistrements d'ordres et de deals. Un produit ne devrait donc pas traduire « compte connecté » par « trading possible » ou « opération exécutée ». Pour diagnostiquer, relevez le type de compte, le serveur, le symbole, l'heure et le stade réel atteint par la requête. Une lecture de cotation réussie ne prouve aucune étape ultérieure. Masquez identifiants et mots de passe dans les captures.
2. Ce que signifie un résultat OrderSend
La référence officielle MQL5 explique que la fonction OrderSend envoie une structure MqlTradeRequest et renseigne MqlTradeResult. Son booléen ne suffit pas à attester qu'un deal a été exécuté. Il faut examiner le retcode et, si nécessaire, les enregistrements d'ordre et de transaction réellement produits. Une interface qui se limite à « demande acceptée » peut faire croire à une position ouverte sans preuve. Transport, validation, placement et exécution sont des phases distinctes. Référence primaire : https://www.mql5.com/en/docs/trading/ordersend .
3. Code 10027 : le terminal bloque l'automatisation
TRADE_RETCODE_CLIENT_DISABLES_AT, soit 10027, signifie que le trading automatique est désactivé côté terminal client. Ce code ne démontre pas que le mot de passe est incorrect, que le courtier est totalement hors ligne ou que l'historique a été effacé. Il pointe vers une restriction locale d'automatisation. Avant tout changement, confirmez que le titulaire a effectivement autorisé la stratégie et que l'opération respecte les règles du compte. Un formulaire dans une application web ne peut pas remplacer à lui seul les autorisations natives de MetaTrader. Liste officielle : https://www.mql5.com/en/docs/constants/errorswarnings/enum_trade_return_codes .
4. Code 10026 : le serveur bloque l'automatisation
TRADE_RETCODE_SERVER_DISABLES_AT, code 10026, signale une désactivation par le serveur. C'est différent du code 10027 : actionner une option locale ne peut pas garantir la levée d'une restriction imposée par le courtier ou par le programme de trading. Il peut être nécessaire de contacter le fournisseur concerné. N'essayez pas de contourner une limitation en changeant de terminal ou de compte. L'interface devrait la présenter comme un blocage externe, et non comme un simple bouton magique capable de résoudre tous les cas.
5. Les autres codes exigent des réponses différentes
10017 indique que le trading est désactivé, 10018 un marché fermé, 10019 des fonds insuffisants, 10021 l'absence de cotations adaptées et 10031 un problème de connexion au serveur. Des stops non valides peuvent produire 10016, un prix invalide 10015 et un volume inadmissible 10014. Il serait erroné de résoudre tous ces cas en recommandant d'activer Algo Trading. Un bon message présente le numéro, une explication lisible et la vérification appropriée, sans révéler de secrets dans les journaux ou les captures partagées.
6. Où se trouvent les réglages dans MetaTrader 5
Le manuel officiel situe les paramètres Expert Advisors dans la configuration du terminal. L'option générale Allow Auto Trading peut empêcher les scripts et EA de négocier même lorsqu'ils continuent d'effectuer des analyses. Chaque EA peut aussi disposer d'une autorisation individuelle. Selon les protections activées, changer de compte, profil, symbole ou unité de temps du graphique peut désactiver l'exécution automatique. Avant de modifier les paramètres, identifiez le compte visé et les conséquences possibles. Documentation : https://www.metatrader5.com/en/terminal/help/startworking/settings .
7. Le passage de la démo au réel mérite une protection
Un utilisateur qui passe d'un compte simulé à un compte réel peut découvrir que l'automatisation a été désactivée volontairement. Cette mesure évite qu'un programme continue à placer des ordres sur un compte inattendu. Voir le nouveau compte dans un service connecté ne prouve pas que les autorisations du terminal ont été renouvelées. Réactiver automatiquement le trading sur chaque compte sélectionné ne constitue pas une règle prudente. Privilégiez un accord explicite concernant le compte concerné et une vérification de la taille des positions, du risque et de la marge.
8. API Python, EA et sécurité du terminal
MetaTrader distingue les permissions des Expert Advisors des droits liés à l'API Python externe. Le manuel précise que le trading automatisé par Python est désactivé par défaut pour des raisons de sécurité. Conseiller de supprimer toutes les protections sans discernement serait dangereux. Les importations DLL provenant de programmes inconnus et les WebRequest vers des URL non fiables présentent aussi des risques. Avant d'autoriser une passerelle, vérifiez son programme, son responsable, le compte visé, les capacités nécessaires et la procédure de révocation. Appliquez le principe des droits minimums.
9. Exécution partielle et rejet sont deux choses
Le code 10009 correspond à une demande accomplie, tandis que 10010 décrit une exécution partielle. 10008 indique un ordre placé et ne prouve pas forcément qu'une position soit déjà ouverte. Un journal ne devrait pas présenter indifféremment tous ces états comme « trade complet ». Pour un remplissage partiel, rapprochez le volume demandé, le volume exécuté et le reste en attente. Vérifiez les identifiants de serveur avant d'associer plusieurs deals à une même position. Cette rigueur empêche les statistiques fausses lorsque le même ordre produit plusieurs événements.
10. Pourquoi cliquer de nouveau après un timeout peut nuire
Lorsqu'une réponse se perd ou qu'une demande expire, l'état final peut être inconnu. Il n'est pas toujours prouvé que le serveur n'a rien fait. Une deuxième tentative immédiate risque de créer une nouvelle demande ou d'entrer en conflit avec la première. Consultez d'abord les ordres actifs, les deals récents, les volumes restants et le dernier événement serveur. L'interface doit distinguer « non envoyé », « rejeté », « état incertain » et « exécuté confirmé ». Une panne réseau temporaire ne doit pas transformer un compte incertain en compte prêt à négocier ni provoquer des ordres en doublon.
11. Diagnostiquer sans risquer du capital
Commencez dans un environnement démo et par des vérifications qui n'envoient pas d'opérations : bon serveur, bon compte, permissions et disponibilité du symbole. Relevez le code numérique et sa signification officielle. Si la cause tient à une autorisation, expliquez le réglage au lieu de le changer en secret. Les essais exécutables ne devraient être envisagés qu'après accord informé et contrôle des règles du courtier. Un formulaire web ne doit pas être assimilé à l'acceptation automatique d'un dialogue de sécurité natif de MetaTrader.
12. Une challenge possède des règles propres
La Trading Challenge Disciply et d'autres évaluations peuvent recourir à des opérations simulées et à des règles distinctes de celles d'un compte personnel. Lisez le règlement correspondant à l'édition réellement concernée. Une opération techniquement acceptée peut néanmoins contrevenir à une restriction du programme. Pour contrôler l'exposition, combinez les spécifications réelles de l'instrument avec le calculateur de lots et de risque, puis vérifiez marge, levier et spreads auprès du courtier.
13. Présenter les erreurs de manière utile
Un écran de diagnostic pertinent doit afficher l'heure, un compte masqué, le symbole, l'opération demandée, le retcode, son sens et le degré de certitude sur l'exécution. Il différencie blocage local, restriction serveur, absence de cotation et timeout. Un simple « réessayer » est insuffisant lorsque l'ordre peut déjà avoir été rempli. Un lien vers la référence officielle aide à vérifier la conclusion. Pour le journal, l'objectif principal est de ne pas inventer de fausses opérations et de ne pas perdre les deals réellement exécutés pendant un incident.
Conclusion : seuls les enregistrements prouvent l'exécution
La bonne question n'est pas seulement « MT5 est-il connecté ? », mais « le compte est-il autorisé, la demande est-elle valide, quel code est revenu et quel deal est enregistré ? ». Les codes 10027 et 10026 signalent des restrictions différentes ; 10009, 10010 et 10008 correspondent à des états différents de placement et d'exécution. Conservez les traces, évitez les tentatives répétées et ne désactivez pas les protections sans justification. Ce guide est éducatif et n'incite pas à activer le trading automatisé.
Articles associés
Partager l’article
Disciply
Vous voulez trader avec une méthode sérieuse ?
Réduisez l’improvisation et les erreurs impulsives grâce aux checklists, aux motifs d’entrée et aux revues de trading.
Transformez chaque trade en un processus clair, constant et mesurable.
Le processus avant le résultat.
Commencer avec Disciply
Commentaires
Derniers commentaires
Tous les commentaires