C'est quoi MQL5 ?
MQL signifie MetaQuotes Language. C'est le langage de programmation créé par MetaQuotes, l'éditeur de MetaTrader. MQL4 sert à programmer pour MetaTrader 4, MQL5 pour MetaTrader 5.
Avec ces langages, on écrit des programmes qui tournent directement dans le terminal :
- Indicateur personnalisé : calcule et affiche des valeurs sur le graphique, par exemple une moyenne modifiée ou un signal visuel. Il ne passe pas d'ordres.
- Expert Advisor (EA) : programme qui suit le marché à chaque nouveau tick (variation de prix) et peut ouvrir, modifier ou fermer des positions selon des règles fixées à l'avance.
- Script : exécute une tâche une seule fois puis s'arrête, par exemple fermer toutes les positions ouvertes.
- Bibliothèques et fichiers d'inclusion : du code réutilisable, partagé entre plusieurs programmes.
Le code s'écrit dans MetaEditor, l'éditeur fourni avec MetaTrader. Le fichier source est ensuite compilé, c'est-à-dire traduit en un fichier exécutable que le terminal peut lancer.
Prêt à essayer sur un compte réel ou démo ?
Lien partenaire · le trading comporte un risque élevé de perte
MQL4 et MQL5 : quelles différences ?
Les deux langages se ressemblent par leur syntaxe, proche du C++. Ils ne sont pourtant pas compatibles : un EA écrit en MQL4 ne fonctionne pas dans MetaTrader 5 sans réécriture.
| Point | MQL4 | MQL5 |
|---|---|---|
| Plateforme | MetaTrader 4 | MetaTrader 5 |
| Gestion des ordres | Fonctions d'ordres simples | Distinction entre ordres, transactions et positions |
| Programmation objet | Ajoutée après coup | Intégrée dès la conception |
| Testeur de stratégie | Mono-thread, plus limité | Multi-devises, optimisation plus poussée |
| Comptes | Logique de couverture | Modes hedging et netting |
En MQL5, il faut tenir compte du mode du compte : en netting, une seule position par symbole ; en hedging, plusieurs positions possibles sur le même symbole. Voir Hedging vs netting MT5. Pour choisir la plateforme elle-même, consultez MT4 ou MT5.
Ce qu'un débutant peut automatiser
Commencez par des tâches qui ne touchent pas directement à l'argent :
- un indicateur qui colore les bougies selon une condition simple ;
- une alerte sonore ou une notification quand le prix franchit un niveau ;
- un script qui calcule la taille de position à partir d'un risque choisi ;
- un EA « gestionnaire » qui place automatiquement un stop loss sur chaque position ouverte à la main.
Un expert advisor MQL5 qui prend seul des décisions d'entrée et de sortie demande plus de travail : gestion des erreurs d'exécution, des déconnexions, du spread variable, des week-ends et des écarts de prix à l'ouverture. Un EA ne garantit aucun résultat. Il exécute des règles, y compris de mauvaises règles, sans fatigue et sans jugement.
Parcours d'apprentissage
Bases du langage
Variables, types, conditions, boucles et fonctions. La documentation officielle de MetaQuotes, accessible depuis MetaEditor avec l'aide intégrée, est la référence. Une connaissance du C ou du C++ aide, mais elle n'est pas indispensable.
Premier programme
Dans MetaEditor, l'assistant de création (menu Nouveau) propose de générer un squelette d'Expert Advisor, d'indicateur ou de script. Les menus et intitulés peuvent changer selon la version du terminal : vérifiez dans votre build actuel. Compilez, lisez les messages d'erreur, corrigez.
Tests
Testez d'abord dans le testeur de stratégie, puis sur un compte démo. Un bon résultat sur l'historique ne prouve rien pour l'avenir : le surajustement (optimiser les paramètres jusqu'à coller au passé) est l'erreur la plus fréquente.
Installation
Pour placer un programme dans le terminal, suivez Installer un Expert Advisor ou Indicateurs personnalisés. En cas de blocage, voir Erreurs MetaTrader.
Risques du code copié
Les forums, groupes et marketplaces regorgent d'EA et d'indicateurs gratuits ou payants. Points à surveiller :
- Fichier compilé seul, sans source : vous ne savez pas ce que fait le programme. Il peut contenir des appels à des bibliothèques externes (DLL) capables d'agir hors du terminal.
- Code non adapté : un EA conçu pour un autre type de compte, un autre symbole ou une autre précision de prix peut ouvrir des positions trop grandes ou ne jamais fermer.
- Résultats affichés : captures de gains et backtests flatteurs sont faciles à fabriquer.
- Vendeurs de « robots » avec recommandations : au Maroc, le conseil en investissement (y compris les recommandations d'achat/vente en ligne) requiert un enregistrement préalable auprès de l'AMMC en vertu de la loi 19-14 ; le conseil non autorisé et les informations financières fausses ou trompeuses sont passibles de sanctions pénales. L'AMMC a publié une mise en garde de l'AMMC du 22.12.2025 contre le conseil en investissement non autorisé et les plateformes de trading frauduleuses (aucun nom cité).
Ne lancez jamais un programme inconnu sur un compte réel. Le trading de CFD et de forex avec effet de levier peut faire perdre de l'argent rapidement, et un EA mal codé peut accélérer ces pertes en quelques minutes. Voir Gestion du risque et Régulation et sécurité.
Questions fréquentes
Le langage MQL5 est-il difficile à apprendre ?
Les bases s'apprennent comme celles de n'importe quel langage. La difficulté vient surtout de la gestion des ordres et des cas imprévus du marché.
Un EA MQL4 fonctionne-t-il dans MetaTrader 5 ?
Non. Il faut le réécrire en MQL5, notamment toute la partie gestion des ordres.
Faut-il un logiciel à part pour programmer ?
Non. MetaEditor est installé avec MetaTrader sur ordinateur. Les applications mobiles ne permettent pas de lancer d'EA.
Un EA peut-il trader quand l'ordinateur est éteint ?
Non. Le terminal doit rester ouvert et connecté, sur votre ordinateur ou sur un serveur distant.
Où trouver les termes techniques ?
Dans le Glossaire du trading.
