Rédaction FxRobotEasy · Dernière révision
What is MQL5?
MQL5 est développé et maintenu par MetaQuotes Software Corp — l'entreprise derrière les plateformes MetaTrader. Il a évolué depuis MQL4 (le langage de l'ère MT4) avec des améliorations significatives : support de la programmation orientée objet, backtesting multi-thread, capacités multi-actifs et performance améliorée. Les fichiers source MQL5 (.mq5) compilent vers des binaires exécutables .ex5 qui s'exécutent à l'intérieur de MT5. L'IDE MetaEditor est livrée gratuitement avec MT5 et inclut un débogueur, un profiler et la vérification de syntaxe.
Caractéristiques du langage MQL5
La syntaxe MQL5 est de type C++ avec des simplifications. Variables, fonctions, classes, héritage, polymorphisme — les principales fonctionnalités POO sont présentes. La gestion de la mémoire est automatique ; pas d'allocation/désallocation manuelle typique du C++ bas niveau. Les bibliothèques standard couvrent les opérations de trading (classe CTrade), l'accès aux données historiques, les indicateurs techniques (95+ intégrés) et de nombreuses fonctions utilitaires.
Les fonctions intégrées couvrent largement le domaine du trading : OrderSend pour la soumission de trade, PositionGetTicket pour itérer les positions ouvertes, SymbolInfoDouble pour les requêtes de données de marché, iMA/iRSI/iMACD pour les calculs d'indicateurs, CopyRates pour l'accès aux barres historiques. La plupart du code que les traders doivent écrire implique de combiner ces primitives en logique de stratégie.
Modèle d'exécution : les EAs MQL5 sont event-driven. OnInit s'exécute une fois lors du chargement de l'EA ; OnTick s'exécute à chaque nouveau tick de marché ; OnTrade s'exécute lors d'événements de trade ; OnDeinit s'exécute lors du déchargement de l'EA. La logique de stratégie vit typiquement dans OnTick.
Limitations : MQL5 ne s'exécute qu'à l'intérieur de MetaTrader 5 — pas d'exécutables standalone, pas d'intégration avec d'autres systèmes sauf via I/O fichier, named pipes ou appels DLL. La performance est adéquate pour la plupart des stratégies mais pas compétitive avec C++ bas niveau pour les applications ultra-haute-fréquence.
Ce que vous pouvez construire avec MQL5
MQL5 supporte quatre principaux types d'artefacts :
- • Expert Advisors (EAs) — systèmes de trading entièrement automatisés qui décident et exécutent les trades. Le cas d'usage principal.
- • Indicateurs personnalisés — indicateurs d'analyse technique non intégrés à MetaTrader (par ex. oscillateurs propriétaires, overlays de prédiction machine-learning). Rendus sur le graphique pour analyse visuelle ou consommés par les EAs comme sources de données.
- • Scripts — programmes one-shot qui effectuent des actions spécifiques lors d'exécution manuelle. Exemples : fermeture en masse de toutes positions, export de l'historique de trades en CSV, calcul de taille de position pour un trade planifié.
- • Bibliothèques — modules de code réutilisables que plusieurs EAs peuvent importer. Utiles pour fonctionnalité partagée (gestion des risques, gestion des news, fonctions utilitaires communes).
Apprendre MQL5
Parcours d'apprentissage réaliste pour un développeur avec expérience préalable en programmation (C, C++, Java, C#) :
Semaine 1-2 : lire la documentation officielle MQL5 (mql5.com/en/docs). Implémenter un EA hello-world qui affiche un message à chaque tick. Implémenter un indicateur simple (par ex. 'afficher high et low 20-périodes sur le graphique'). Se familiariser avec MetaEditor, débogueur et Strategy Tester.
Semaine 3-4 : implémenter un EA de trading simple basé sur un ensemble de règles clair (par ex. 'entrer long quand EMA 50 croise au-dessus de EMA 200, sortir à +30 pips ou -15 pips'). Backtester dans Strategy Tester. Faire tourner sur démo une semaine pour observer le comportement.
Mois 2-3 : implémenter primitives de gestion des risques — position sizing depuis pourcentage de risque du compte, placement du stop-loss, gestion magic-number pour comptes multi-EA. Implémenter gestion des news avec intégration calendrier économique.
Mois 4-6 : optimisation walk-forward, couverture multi-paires, gestion d'erreurs et logique de reconnexion appropriées. Lire articles communauté MQL5 sur pièges typiques (overfitting, look-ahead bias, problèmes spécifiques broker).
Après 6 mois : le développeur devrait être capable d'implémenter des stratégies significatives et de déboguer des problèmes opérationnels. Atteindre un edge de stratégie production-grade requiert typiquement substantiellement plus de temps (1-2+ ans) d'expérience de développement de stratégie indépendamment de l'apprentissage du langage.
Sans expérience préalable en programmation, le calendrier double approximativement, avec un temps significatif passé à apprendre les fondamentaux de la programmation avant que la connaissance spécifique MQL5 ne devienne utile.
Écosystème MQL5
La communauté MQL5 sur mql5.com est le hub central des ressources de développement MQL5 :
Documentation : référence du langage complète, explications fonction par fonction, exemples de code. Gratuit.
Articles : 1000+ tutoriels écrits par la communauté sur des sujets spécifiques — implémentation d'indicateurs, patterns algorithmiques communs, optimisation des performances. Gratuit.
Marketplace : EAs/indicateurs/scripts commerciaux et gratuits. Les vendeurs vendent des produits avec revue de code MetaQuotes ; les acheteurs installent en un clic dans MT5. Le plus grand canal de distribution de produits MQL5.
Service Signals : plateforme de copy-trading intégrée à MetaTrader. Les trade-providers (souvent développeurs MQL5 lançant leurs propres EAs) publient des comptes vérifiés ; les abonnés copient les trades.
Forum : communauté active de développeurs et de traders pour questions techniques. Généralement utile pour des questions d'implémentation spécifiques.
Freelance : marketplace pour embaucher des développeurs MQL5. Le développement EA personnalisé depuis cahier des charges coûte typiquement $500-$5000 selon la complexité. La qualité varie ; vérifier l'historique du développeur via profil communauté.
Le profil communauté MQL5 est identifiable à travers tous ces services, fournissant continuité de réputation. Les développeurs MQL5 établis (historique de postage pluriannuel, produits vérifiés, participation active au forum) portent des signaux de confiance significatifs.
Idées reçues fréquentes
❌ Idée reçue: MQL5 est uniquement pour le forex.
✓ En réalité: MQL5 supporte actions, CFDs, futures et instruments d'échange — partout où MetaTrader 5 se connecte. De nombreux EAs MQL5 opèrent sur indices (NAS100, US30, SPX500), commodities (or, pétrole) et CFDs crypto. Le langage est asset-agnostique ; l'offre MT5 du broker détermine ce qui est tradable.
❌ Idée reçue: Apprendre MQL5 prend des années.
✓ En réalité: Pour développeurs avec expérience préalable C/C++/Java, MQL5 est accessible en semaines. Le langage est bien documenté et a une petite surface comparée aux langages généralistes. La partie difficile du développement EA est le design de stratégie et l'évitement de l'overfitting — pas la complexité du langage.
❌ Idée reçue: Les EAs MQL5 sont lents à cause de l'overhead MetaTrader.
✓ En réalité: La performance MQL5 est adéquate pour stratégies retail-grade incluant scalping à 10-30 trades par session. La latence est typiquement dominée par le round-trip réseau VPS-vers-broker (1-5ms), pas l'exécution MQL5. Pour stratégies sub-milliseconde (HFT institutionnel), MetaTrader n'est pas la bonne plateforme — mais la contrainte est l'architecture MetaTrader, pas MQL5 comme langage.
Questions fréquemment posées
MQL5 est-il gratuit ?
Modèle de coût pour développement MQL5 : zéro pour le langage, l'IDE, la plateforme et la documentation de base. Commercial optionnel : commission vendeur MQL5 Marketplace (typiquement 20% sur ventes de produit), MetaQuotes Virtual Hosting ($10-$15/mois pour VPS MT5), comptes premium développeur sur communauté MQL5 ($10-$30 unique pour statut vendeur vérifié). Pour développement non-commercial (vos propres EAs pour vos propres comptes), MQL5 est entièrement gratuit.
Dois-je apprendre MQL4 ou MQL5 ?
Différences langages : MQL4 est procédural style C ; MQL5 est orienté objet style C++. API trading : MQL4 utilise tickets (identifiants per-order) ; MQL5 utilise positions (agrégations per-symbol) qui est plus proche du comptable institutionnel. Backtesting : Strategy Tester MQL5 est substantiellement plus puissant (multi-thread, multi-currency, données tick-level). Pour nouveau développement, MQL5 est le choix stratégique. Pour maintenir ou étendre EAs MQL4 existants, MQL4 reste supporté. Porter entre les deux requiert une réécriture de code significative, pas simple recompilation.
Puis-je intégrer MQL5 avec Python ou d'autres langages ?
Patterns d'intégration : (1) Package MetaTrader 5 Python — Python peut se connecter au terminal MT5 pour données de marché et trading. Utile pour analyse backtest et développement de stratégie externe. (2) Communication socket — EA MQL5 ouvre connexion socket vers service Python externe ; vecteurs de features sortent, prédictions rentrent. Latence ~1-10ms pour HTTP, ~0.1-1ms pour sockets bruts. (3) Named pipes — mécanisme IPC Windows-only pour communication MQL5-Python basse latence. (4) Mémoire partagée ou I/O fichier — plus lent mais intégration plus simple pour cas non-temps-réel. Pour la plupart des traders retail, MQL5 pur est plus simple et suffisant ; l'intégration devient utile lors de l'exécution de modèles ML production nécessitant du compute substantiel au-delà de ce que MQL5 peut gérer in-tick.
Combien de temps avant que je puisse écrire un EA profitable en MQL5 ?
Calendrier réaliste : programmeur avec expérience préalable peut écrire EAs fonctionnels en 4-8 semaines. Atteindre profitabilité backtest avec stratégies raisonnables prend encore 2-6 mois. Atteindre profitabilité live (qui diffère substantiellement du backtest dû à overfitting, slippage, changements de régime) prend 6-18 mois de plus. Le total 1-2 ans est dominé par l'apprentissage de la différence entre 'a l'air profitable en backtest' et 'réellement profitable live' — évitement overfitting, discipline walk-forward, conscience des régimes. Beaucoup de développeurs peuvent écrire code qui tourne ; peu peuvent spécifier des stratégies avec edge authentique.
Puis-je vendre mon EA MQL5 sur le marketplace ?
Processus de vente Marketplace : (1) Construire réputation communauté MQL5 — posts forum, contributions produits gratuits, compte MQL5 Signals vérifié si applicable. Nouveaux comptes vendeurs font face à une revue plus stricte que les établis. (2) Soumettre produit à revue de code MetaQuotes — vérifie sécurité de base (pas de malware, utilisation API correcte), pas edge de stratégie. Revue prend typiquement jours à semaines selon queue de soumission et complexité. (3) Fixer prix, écrire description produit, choisir modèle location vs achat. (4) Produit live gagne commission sur chaque vente. Vendeurs EA prospères gagnent typiquement $1K-$50K/an via marketplace ; top vendeurs dépassent $100K/an. Variance de revenu est élevée ; la plupart des EAs marketplace vendent peu d'unités.
Concepts associés
Voir aussi (externe)

William Harris
Fondateur et développeur principal de FxRobotEasy
Chicago, USA · Depuis 2021
- 12+ ans de trading en direct
- 10+ ans MQL5 / MQL4
- 3 Expert Advisors vérifiés en direct
- Fondé en 2021
“Je développe avec du code depuis le collège. Je trade depuis l'université. L'intersection de ces deux mondes — algorithmes, marchés et la technologie qui les relie — c'est là que j'ai passé les quinze dernières années. FxRobotEasy est ce qui se produit lorsqu'on refuse d'abandonner jusqu'à ce que l'idée imaginée fonctionne réellement sur un compte de courtier en direct.”
Plus de sujets
Réponses encyclopédiques aux questions que les traders posent aux IA et moteurs de recherche.
Tous les sujets d'apprentissage →