Lorsqu’un Expert Advisor ne trade pas, procédez par niveaux : installation, autorisations, conditions de la stratégie, puis réponse exacte du broker. Modifier des paramètres au hasard peut masquer le vrai problème et créer de nouveaux risques.
Premiers contrôles lorsqu’un EA MT4 ne fonctionne pas
- Vérifiez que l’EA apparaît dans Navigateur → Expert Advisors et qu’il est attaché au graphique prévu.
- Vérifiez que le bouton global AutoTrading et l’autorisation de trading en réel propre à l’EA sont tous deux activés.
- Vérifiez le compte, le suffixe du symbole, l’unité de temps, le Magic Number, les horaires de marché et les paramètres.
- Ouvrez Terminal → Experts et Journal ; relevez le message complet et le code numérique.
- Ne modifiez qu’une cause à la fois, puis contrôlez de nouveau le journal.
Erreur → signification → cause → solution
| Erreur | Signification et cause probable | Comment la corriger |
|---|---|---|
| EA absent du Navigateur | Fichier placé dans le mauvais terminal ou dossier | Ouvrez le dossier de données depuis cette instance MT4, déplacez le fichier .ex4 dans MQL4/Experts, puis actualisez le Navigateur. |
| AutoTrading désactivé | Autorisation globale ou propre à l’EA désactivée | Activez le bouton de la barre d’outils et l’option Autoriser le trading en réel dans les propriétés de l’EA. |
| Compte ou licence invalide | Identifiant, type de compte ou licence associée non conforme | Vérifiez le serveur du broker et les règles de licence ; contactez l’éditeur sans contourner la protection. |
| DLL non autorisée | L’EA a appelé une bibliothèque externe sans autorisation | N’autorisez que les DLL nécessaires et fiables ; l’hébergement virtuel MetaTrader ne peut pas les exécuter. |
| Trading désactivé · 133 | Le serveur refuse la négociation pour le compte ou le symbole. | Vérifiez les autorisations du symbole et les restrictions du compte auprès du courtier. Diagnostiquez séparément les permissions du terminal. |
| Marché fermé · 132 | Instrument demandé hors de ses horaires de cotation | Attendez la session du broker ; vérifiez les jours fériés et les horaires du symbole. |
| Marge insuffisante · 134 | La marge libre ne permet pas d’ouvrir la position demandée | Réduisez le risque ou le volume ; contrôlez le levier, la marge et l’exposition existante. |
| Stops invalides · 130 | Le SL, TP ou prix d’un ordre en attente ne respecte pas les règles de prix ou de distance applicables. | Vérifiez Bid/Ask actuel, sens, précision du prix et Stops Level. Recalculez la taille si la distance du stop change. |
| Volume invalide · 131 | Lot inférieur au minimum, supérieur au maximum ou non conforme au pas | Respectez le minimum, le maximum et le pas de lot du broker, puis normalisez le volume demandé. |
| Contexte de trading occupé · 146 | Une autre opération de trading est encore en cours | Sérialisez les requêtes, attendez brièvement et réessayez avec un nombre limité de tentatives, pas en boucle serrée. |
| Cotations indisponibles · 136 / requote · 138 | Aucune cotation exécutable ou prix modifié | Contrôlez la connexion et le spread, actualisez le prix et appliquez une gestion raisonnable du slippage. |
| Problème de connexion · 6 | Le terminal a perdu la connexion au broker | Contrôlez le serveur, Internet, l’identifiant, le pare-feu et l’état du VPS ; évitez les ordres répétés avant le rétablissement. |
L’EA se charge correctement mais n’ouvre aucun trade
Ce n’est pas nécessairement une erreur. De nombreux EA attendent une nouvelle bougie, une session précise, un spread maximal ou l’alignement de plusieurs indicateurs. Confirmez le symbole et l’unité de temps documentés, puis recherchez dans les journaux des messages liés au filtre de spread, à la fenêtre de trading, au nombre maximal d’ordres ou au filtre d’actualités. Ne relâchez pas tous les filtres simplement pour forcer une entrée.
« Aucun setup détecté » relève du comportement de la stratégie. L’erreur 133 ou une autorisation désactivée bloque l’exécution. La solution n’est pas la même.
Compte invalide et licence invalide
Les EA commerciaux peuvent lier une clé à un numéro de compte, un broker, une plateforme ou un nombre maximal d’activations. Vérifiez que le compte saisi est bien celui enregistré auprès de l’éditeur et que le serveur de licence est joignable. Ne téléchargez jamais de fichiers modifiés et ne désactivez pas les protections ; demandez une réinitialisation ou une activation légitime à l’éditeur.
DLL non autorisée
Certains EA utilisent des bibliothèques externes pour la licence ou des fonctions supplémentaires. N’activez les importations de DLL que si le fichier provient d’une source fiable et que le manuel officiel l’exige. L’hébergement virtuel intégré à MetaTrader refuse les DLL ; migrez donc un tel EA uniquement vers un VPS classique compatible et approuvé par l’éditeur.
Erreurs de stops, volume, marge et exécution
Erreur 130 — Stops invalides
Le Stop Loss, le Take Profit ou le prix d’un ordre en attente peut être trop proche du marché, du mauvais côté ou mal normalisé. Consultez les spécifications du symbole et calculez selon le nombre de décimales de l’instrument ; ne résolvez pas le problème en supprimant la protection.
Erreur 131 — Volume de trade invalide
Normalisez les lots selon le minimum, le maximum et le pas du broker. Un volume calculé de 0,013 lot est invalide lorsque le pas est de 0,01 s’il n’est pas correctement arrondi ; un arrondi à la hausse peut dépasser le risque prévu.
Erreurs 136 et 138 — Cotations indisponibles et requotes
Ces erreurs reflètent généralement un prix indisponible ou modifié. Contrôlez la connexion et le spread, actualisez la cotation et limitez le nombre de nouvelles tentatives. Des envois immédiats répétés peuvent aggraver le problème.
Erreur 146 — Contexte de trading occupé
MT4 traite les opérations de trading en série. Deux graphiques ou routines peuvent entrer en conflit. L’EA doit attendre la fin de l’opération précédente, contrôler de nouveau le marché et cesser les tentatives après une limite définie.
Problèmes de synchronisation VPS et d’instances dupliquées
Après une migration vers l’hébergement virtuel MetaTrader, les changements de configuration ne sont pas automatiquement transférés de nouveau. Synchronisez de nouveau après toute modification des graphiques ou paramètres. Sur un VPS Windows, vérifiez que le terminal est ouvert, connecté et configuré pour redémarrer avec le système. Dans les deux cas, évitez de trader simultanément le même compte, EA et Magic Number depuis les terminaux local et distant.
Informations à transmettre au support
Supprimez les mots de passe, clés de licence et données personnelles avant de partager des captures d’écran ou des journaux.
Distinguer les restrictions du serveur des permissions du terminal
L’erreur 4109 signifie que le programme n’est pas autorisé à négocier : vérifiez Allow live trading dans l’EA et AutoTrading global. L’erreur 4112 signifie que le serveur a désactivé le trading automatisé. L’erreur 133 concerne une restriction de négociation du serveur. Ce sont des vérifications distinctes ; le bouton local ne supprime pas une restriction du courtier.
L’erreur 65 est une réponse « compte invalide » du serveur de négociation. Un message « invalid license » du fournisseur peut plutôt provenir de son propre rattachement au compte, abonnement ou service d’activation. Notez le message exact et son origine avant de choisir votre interlocuteur.
Gérer les résultats incertains et les règles dynamiques de stops
Après le timeout de négociation 128, le résultat de la demande peut être inconnu. Recoupez ordres ouverts, ordres en attente et historique récent avant de réessayer. Utilisez les informations de ticket disponibles, puis comparez symbole, Magic Number, sens, volume et heure. Une répétition immédiate peut créer un second ordre si la première demande a abouti.
Un Stops Level de 0 peut signifier l’absence de minimum fixe ou une règle dynamique du serveur ; il ne garantit pas l’acceptation de tous les stops. Freeze Level restreint modifications, annulations ou clôtures à proximité du marché. Vérifiez-le séparément. N’éloignez pas un stop uniquement pour supprimer l’erreur 130 sans vérifier le nouveau risque monétaire.
Les codes d’erreur MQL4 et les propriétés des symboles définissent ces différences.
Référence officielle des erreurs
Les descriptions des codes numériques reposent sur la référence officielle des codes d’erreur MQL4. La mise en œuvre du broker et les messages propres à l’EA peuvent ajouter d’autres conditions.