Quand une plateforme refuse un ordre, retirer la protection, augmenter la quantité ou cliquer plusieurs fois ne constitue pas un diagnostic. Le problème peut concerner prix, volume, distance, permission ou session. Séparez le résultat observé de l’intention, puis une correction technique d’une modification du risque. MT4 et MT5 sont des logiciels MetaQuotes ; votre fournisseur définit les paramètres du compte et du symbole.

Un message d’erreur prouve-t-il l’absence d’opération ?

Un rejet confirmé, un remplissage et une réponse incertaine sont trois situations différentes. Après une coupure ou un délai dépassé, rapprochez positions, instructions actives et historique avant de recommencer : la demande peut déjà avoir atteint le serveur. Relevez ticket, symbole, quantité et heure. L’absence d’une nouvelle ligne dans une seule fenêtre ne reconstitue pas tout le compte.

Dans un programme MT5, OrderSend=true ne prouve pas que la transaction est exécutée. Analysez la structure de résultat et les événements suivants, puis la quantité effectivement remplie. Une opération partielle exige son propre rapprochement. Pour réduire une position, utilisez l’opération de clôture appropriée : une vente opposée nouvelle peut créer un autre ticket sur un compte hedging au lieu de fermer celui visé.

Identifier la plateforme avant le code

MQL4 obtient notamment les erreurs via GetLastError(). Une réponse de requête MQL5 possède un champ retcode. Un programme peut aussi écrire ses propres messages. Ne construisez pas une liste qui donnerait le même sens à tous les numéros MT4 et MT5. Les rapprochements ci-dessous concernent des catégories similaires, sans promettre un traitement identique de chaque opération.

Sur petit écran, faites défiler le tableau pour lire toutes les colonnes.

Codes choisis dans les deux catalogues officiels
CatégorieMT4MT5Premier contrôle
Stops invalides13010016Côté de prix, distance, grille
Volume invalide13110014Minimum, pas, maximum
Négociation désactivée13310017Permissions et mode du symbole
Marché fermé13210018Session de cet instrument
Fonds insuffisants13410019Marge et état du compte
Cotations indisponibles13610021Fraîcheur et réponse serveur

Conservez aussi le texte complet et la tâche : entrée, modification ou clôture. Traduire correctement un code ne prouve pas qu’une autre demande n’a pas été exécutée pendant l’incident.

Décimales, grille et distance sont trois contrôles

Le point sert d’unité, le tick size d’incrément de prix permis, le Stops Level de distance minimale et le Freeze Level de zone limitant certaines opérations. Le nombre de décimales n’exprime pas tout cela. Les propriétés doivent être lues dans les unités propres à la plateforme ; ne confondez notamment pas un tick size exprimé en prix avec un champ exprimé en points.

Instrument linéaire fictif : point 0,00001, tick size 0,00005 en prix, Stops Level 20 points ; Bid 1,10000 et Ask 1,10010. Pour un nouveau SL long, notre contrôle de distance part de Bid. Le niveau 1,09983 se trouve à 17 points et ne tombe pas sur la grille : 1,09983 / 0,00005 = 21 996,6. Le niveau 1,09980 est un multiple entier du tick et donne 20 points. Ces deux conditions sont vérifiées à cet instant ; elles ne garantissent ni acceptation ni exécution.

Si l’achat remplit à l’Ask indiqué, la distance vers le stop corrigé est 0,00030. Pour 10 000 unités de base, la perte de prix prévue est 3 USD, contre 2,70 USD au premier niveau. Nous supposons valorisation USD et prix exacts, hors frais et glissement. Le budget a changé. Réduisez le volume si une quantité permise convient, ou renoncez à cette configuration.

Dans MT4, MODE_STOPLEVEL=0 peut signifier absence de restriction minimale ou contrôle dynamique côté serveur non traduisible dans le terminal. Ce zéro n’autorise pas automatiquement tous les stops et ne doit pas être généralisé à n’importe quel champ d’une autre plateforme. Pour une modification, examinez aussi MODE_FREEZELEVEL ou le champ MT5 correspondant. Changer le format décimal ne supprime pas une restriction opérationnelle ; les prix peuvent également bouger avant une nouvelle demande.

Un pas valide ne suffit pas au volume

Modèle indépendant : minimum 0,10 lot et pas 0,01. Votre budget autorise 0,04. Ce nombre respecte le pas mais reste inférieur au minimum. Le porter à 0,10 multiplie l’exposition par 2,5. L’acceptation technique ne répare pas le plan initial. Pour une fermeture partielle, contrôlez aussi la quantité restante et les contraintes de l’opération.

Minimum, pas et budget : trois portes séparées

Le pas valide ne remplace pas le minimum

Volume prévu 0,04 lot, minimum 0,10, pas 0,01 ; perte prévue additionnelle en EUR proportionnelle dans notre modèle.

Le pas valide ne remplace pas le minimumVolume prévu 0,04 lot, minimum 0,10, pas 0,01 ; perte prévue additionnelle en EUR proportionnelle dans notre modèle. Augmenter à 0,10 multiplie l’exposition et les coûts proportionnels par 2,5, même si le volume devient valide.Valide pour le pas, invalide pour le minimumMinimum 0,10 lot ; pas 0,01 ; modèle fictifPrévu : 0,04 lotForcé au minimum : 0,1 lot00,050,100,10 / 0,04 = 2,5 fois l’expositionModèle EUR : 9 → 22,50 EUR prévusBudget 10 EUR : la hausse ne convient pas.Pas, minimum et budget sont trois contrôles distincts.
Augmenter à 0,10 multiplie l’exposition et les coûts proportionnels par 2,5, même si le volume devient valide.

Faites défiler horizontalement ou agrandissez le schéma pour lire les détails.

Exemple EUR additionnel sans lien avec un tarif réel : notre volume de 0,04 a une perte de prix de 8 EUR et 1 EUR de frais, soit 9 EUR contre budget 10. Si les deux coûts sont proportionnels au volume, 0,10 donne 20 + 2,50 = 22,50 EUR. Une marge disponible suffisante ne rend pas cette perte prévue compatible avec 10 EUR. À l’inverse, un stop compatible avec le budget ne prouve pas une marge suffisante. Ces calculs n’offrent aucune limite contre un gap.

Permissions, cours manquants et session

Contrôlez compte, serveur et symbole complet, y compris suffixe. La session d’une autre paire ou d’un autre marché n’établit pas celle de cet instrument. Conservez le fuseau du serveur et la date avant toute conversion Europe/Paris ; un décalage fixe n’est pas toujours correct. Examinez heure de la dernière cotation, connexion et opérations autorisées. Un mode « clôture seulement » n’appelle pas une nouvelle position opposée comme contournement.

Pour un robot, distinguez autorisation du terminal, paramètres du programme et permissions serveur. Des prix qui arrivent ne démontrent pas le droit d’envoyer une instruction. N’activez pas aveuglément toutes les permissions. Préparez pour le support officiel plateforme/version, identifiant masqué, symbole, date avec zone, tâche, paramètres et réponse exacte ; jamais mot de passe ou code d’authentification.

Trois étapes après le diagnostic

  1. Créez une fiche d’incident séparant demande, réponse, état confirmé et inconnues. Rapprochez avant de renvoyer une instruction incertaine.
  2. Recopiez la spécification sur démonstration : point, tick size, distances, minimum et pas. Calculez un niveau sans provoquer délibérément d’erreurs sur un compte financé.
  3. Comparez quantité, prix, coûts et marge avant/après correction. Si le nouveau plan dépasse le budget, rejetez la configuration au lieu de chercher une confirmation verte à tout prix.

Le calcul de taille s’applique ensuite à la distance révisée. Le dépôt de marge et la perte prévue répondent à des questions différentes.