Créer un robot MT5 : comment coder et lancer un Expert Advisor MetaTrader 5
Dernière mise à jour: octobre 2026
Un robot MetaTrader 5 — officiellement un Expert Advisor (EA) — est un petit programme qui surveille le marché et passe des ordres à ta place selon les règles que tu définis. Ce guide pour débutants t'accompagne pour créer ton premier EA en MQL5, le tester en toute sécurité, en rédiger une ébauche avec l'IA et le faire tourner 24h/24, 7j/7.
Qu'est-ce qu'un Expert Advisor ?
Un EA est un code attaché à un graphique dans le terminal de bureau MetaTrader 5. À chaque variation du prix (un tick), MT5 appelle l'EA, qui peut lire des indicateurs, ouvrir et clôturer des positions et gérer les stops. Les EA s'écrivent en MQL5, un langage proche du C++, dans MetaEditor, fourni avec MT5.
Important : les EA ne fonctionnent que sur le terminal de bureau. L'application mobile MT5 permet de trader manuellement, mais pas de faire tourner des robots.
Ce dont tu as besoin
- MetaTrader 5 pour ordinateur (chez ton broker ou sur metatrader5.com) — MetaEditor est inclus.
- Un compte démo chez ton broker. Ne commence jamais sur un compte réel.
- Des règles claires : quand entrer, quand sortir, combien risquer.
L'anatomie d'un EA
OnInit()s'exécute une fois au démarrage de l'EA — crée les handles d'indicateurs, vérifie les paramètres.OnTick()s'exécute à chaque variation de prix — c'est là que vit ta logique de trading.OnDeinit()s'exécute quand l'EA est retiré — libère les ressources.- Les variables
inputdeviennent des réglages modifiables sans toucher au code.
Ton premier EA : le croisement de moyennes mobiles
Dans MetaEditor, choisis Fichier → Nouveau → Expert Advisor (modèle), donne-lui un nom et remplace le code par :
#include <Trade\Trade.mqh>
input int FastMA = 10; // fast average
input int SlowMA = 30; // slow average
input double Lots = 0.01; // lot size
input ulong Magic = 260101; // tags this robot's orders
CTrade trade;
int hFast, hSlow;
int OnInit() {
hFast = iMA(_Symbol, _Period, FastMA, 0, MODE_SMA, PRICE_CLOSE);
hSlow = iMA(_Symbol, _Period, SlowMA, 0, MODE_SMA, PRICE_CLOSE);
if (hFast == INVALID_HANDLE || hSlow == INVALID_HANDLE) return INIT_FAILED;
trade.SetExpertMagicNumber(Magic);
return INIT_SUCCEEDED;
}
void OnDeinit(const int reason) {
IndicatorRelease(hFast);
IndicatorRelease(hSlow);
}
void OnTick() {
static datetime lastBar = 0;
datetime bar = iTime(_Symbol, _Period, 0);
if (bar == lastBar) return; // decide once per new candle, not every tick
lastBar = bar;
double f[2], s[2]; // [0] = two bars ago, [1] = last closed bar
if (CopyBuffer(hFast, 0, 1, 2, f) < 2 || CopyBuffer(hSlow, 0, 1, 2, s) < 2) return;
bool crossUp = f[0] <= s[0] && f[1] > s[1];
bool crossDown = f[0] >= s[0] && f[1] < s[1];
bool hasPos = PositionSelect(_Symbol);
if (crossUp && !hasPos) trade.Buy(Lots, _Symbol);
if (crossDown && hasPos) trade.PositionClose(_Symbol);
}Il achète quand la moyenne rapide croise la lente à la hausse et clôture quand elle repasse en dessous. Il ne décide qu'une fois par nouvelle bougie, ce qui évite les ordres en double, et marque ses trades avec un magic number pour les distinguer de tes trades manuels ou d'autres robots.
Compiler : .mq5 → .ex5
Appuie sur F7 (Compiler) dans MetaEditor. S'il n'y a pas d'erreur, tu obtiens un fichier .ex5 — c'est lui que MT5 exécute. Lis chaque avertissement dans l'onglet Erreurs : la plupart des problèmes de débutant apparaissent ici.
Le backtester dans le Strategy Tester
- Dans MT5, ouvre Affichage → Testeur de stratégie (Strategy Tester, Ctrl+R).
- Sélectionne ton EA, le symbole, l'unité de temps et une période d'au moins un an.
- Utilise « Chaque tick basé sur les ticks réels » pour les résultats les plus réalistes.
- Regarde le profit net, le drawdown maximal et le nombre de trades — pas seulement le profit.
Un bon backtest n'est pas une promesse. Les marchés changent ; un EA qui semblait excellent sur des données passées peut perdre de l'argent en réel.
Le lancer sur un graphique
- Fais glisser l'EA depuis le Navigateur (Navigator) vers un graphique.
- Dans les paramètres, coche Autoriser l'Algo Trading et règle tes inputs.
- Active le bouton Algo Trading dans la barre d'outils. Une icône active sur le graphique indique qu'il tourne.
- Surveille les onglets Experts et Journal pour les messages et les erreurs.
Écrire un EA avec l'IA
Les assistants IA (ChatGPT, Claude et d'autres) peuvent rédiger rapidement une ébauche de code MQL5. Donne-leur des règles précises :
Écris un Expert Advisor MetaTrader 5 en MQL5.
Stratégie : acheter quand la SMA 10 périodes croise à la hausse la SMA 30 périodes sur le graphique actuel,
clôturer la position quand elle la croise à la baisse. Une seule position à la fois.
Exigences : utiliser CTrade, un input pour le magic number et un pour la taille du lot, décider uniquement à l'ouverture d'une nouvelle bougie,
vérifier chaque résultat d'ordre et afficher le code d'erreur avec Print, pas de Sleep(), pas d'import de DLL.
Ajoute des commentaires courts.Traite ensuite le résultat comme du code écrit par un inconnu :
- Compile-le et corrige chaque erreur — l'IA mélange souvent des fonctions MQL4 et MQL5.
- Vérifie la taille des lots et la logique de risque ligne par ligne.
- Assure-toi que chaque ordre a des stops ou une sortie claire, et un magic number unique.
- Backtest d'abord, puis des semaines en démo — et seulement ensuite le réel.
Le faire tourner 24h/24
Un EA ne fonctionne que tant que le terminal est ouvert et connecté. Si ton PC se met en veille ou perd Internet, le robot s'arrête. Les options : laisser un PC allumé, louer un VPS Windows ou utiliser un cloud géré. Sur etrink, tu importes ton fichier .mq5 ou .ex5 sur la page Ajouter un bot — nous le compilons, affichons les éventuelles erreurs et le plaçons sur ton terminal MT5 toujours allumé ; tu peux suivre l'écran en direct depuis ton téléphone.
Checklist avant de passer en réel
- Backtesté sur une longue période et dans plusieurs conditions de marché.
- A tourné des semaines sur un compte démo, avec des résultats que tu comprends.
- Risque par trade défini ; drawdown maximal que tu peux accepter fixé.
- Stops et sorties sur chaque position ; magic number unique.
- Commence en réel avec la plus petite taille de lot.
FAQ
Faut-il savoir coder pour faire tourner un robot MT5 ?
Non. Tu peux exécuter un Expert Advisor (.ex5) tout prêt sans coder. Pour écrire le tien, des bases en MQL5 aident — ou tu peux en rédiger une ébauche avec un assistant IA et la tester soigneusement.
Quelle est la différence entre .mq5 et .ex5 ?
Le .mq5 est le code source que tu modifies dans MetaEditor. Le .ex5 est le fichier compilé que MetaTrader 5 exécute réellement.
Puis-je faire tourner un robot MT5 sur mon téléphone ?
Non. L'application mobile MetaTrader 5 ne peut pas exécuter d'Expert Advisors. Les robots ont besoin du terminal de bureau allumé 24h/24 — sur ton PC, un VPS ou un cloud géré comme etrink.
Combien de temps tester un robot avant de passer en réel ?
Fais d'abord un backtest dans le Strategy Tester (testeur de stratégie), puis fais-le tourner sur un compte démo pendant au moins quelques semaines, dans différentes conditions de marché, avant de risquer de l'argent réel.
Commencer gratuitement — fais tourner ton EA testé sur un terminal MT5 toujours allumé dans le cloud. À lire aussi : Faire tourner un EA MT5 24h/24 sans VPS.