Documentation sur le langage de trading automatisé

Référence MQL5

Le MetaQuotes Language 5 (MQL5) est un langage haut niveau conçu pour développer des indicateurs techniques, des robots de trading et des applications utilitaires qui automatisent le trading financier. Le MQL5 a été développé par MetaQuotes pour leurs plateformes de trading. La syntaxe du langage est très proche du C++, permettant aux programmeurs de développer des applications en Programmation Orientée Objet (POO ou OOP en anglais).

En plus du langage MQL5, le package de la plateforme de trading inclut aussi l'IDE MetaEditor avec des outils avancés d'écriture du code, tels que les templates, les snippets, le déboguage, le profilage et des outils d'auto-complétion, ainsi que le MQL5 Storage permettant les versions des fichiers.

Le support du langage est disponible sur le site web de la MQL5 Algotrading community, qui contient une énorme base de code CodeBase gratuite et une pléthode d'articles. Ces articles couvrent tous les aspects du trading moderne, incluant les réseaux neuronaux, les statistiques et l'analyse, le trading à haute fréquence, l'arbitrage, le test et l'optimisation de stratégies de trading, l'utilisation de robots de trading automatiques, et plus.

Les traders et les développeurs de programmes MQL5 peuvent discuter sur le forum, commander et développer des applications en utilisant le service Freelance, ainsi qu'acheter et vendre des programmes protégés dans le Market d'applications de trading automatisées.

Le langage MQL5 fournit des fonctions de trading spécialisées et des gestionnaures d'évènements prédéfinis pour aider les programmeurs à développer des Expert Advisors (EA), qui contrôle automatiquement les process de trading suivant des règles de trading spécifiques. En plus des EA, MQL5 permet de développer des indicateurs techniques, des scripts et des bibliothèques.

Cette référence du langage MQL5 contient les fonctions, les opérations, les mots réservés et d'autres constructions du langage, divisées en catégories. La référence fournit également les descriptions des classes de la Bibliothèque Standard utilisée pour développer des stratégies de trading, des panneaux de contrôle, des graphiques personnalisés et utiliser les fichiers.

De plus, la CodeBase contient la bibliothèque d'analyse numérique ALGLIB, qui peut être utilisée pour résoudre différents problèmes mathématiques.

 
Livres de Trading Algorithmique

Commencer à apprendre quelque chose de nouveau est toujours un défi. Pour aider les débutants, nous avons publié 2 livres complets sur la programmation MQL5, conçus pour tous ceux qui souhaitent maîtriser la création de robots de trading et d'applications de trading algorithmique.

Ces livres offrent une présentation systématique et structurée du sujet pour rendre le processus d'apprentissage considérablement plus facile. Des exemples de code détaillés, qui expliquent étape par étape la création de robots et d'applications de trading, permettent une compréhension plus approfondie des nuances du trading algorithmique. Les livres comprennent de nombreux exercices pratiques pour aider à renforcer les connaissances acquises et à développer les compétences en programmation dans des environnements de trading réels.

"Programmation MQL5 pour les Traders" est le tutoriel le plus complet et le plus détaillé sur MQL5, adapté aux programmeurs de tous niveaux. Les débutants apprendront les bases : le livre présente les outils de développement et les concepts de programmation de base. Sur la base de tout cela, vous créerez, compilerez et exécuterez votre première application sur la plateforme de trading MetaTrader 5. Les utilisateurs ayant de l'expérience dans d'autres langages de programmation peuvent immédiatement passer à la partie application : création de robots de trading et d'applications d'analyse en MQL5.

"Réseaux Neuronaux pour le Trading Algorithmique avec MQL5" est un guide d'utilisation des méthodes d'apprentissage automatique dans les robots de trading pour la plateforme MetaTrader 5. Vous serez progressivement initié aux fondamentaux des réseaux neuronaux et à leur application au trading algorithmique. Au fur et à mesure de votre progression, vous construirez et formerez votre propre solution d’IA, en ajoutant progressivement de nouvelles fonctionnalités. En plus d'apprendre MQL5, vous allez acquérir des compétences en programmation en Python et OpenCL et explorerez les méthodes matricielles et vectorielles intégrées, qui permettent de résoudre des problèmes mathématiques complexes avec un code concis et efficace.

 

Articles sur le développement d'applications de trading

Articles MQL5 sont une excellente ressource pour explorer tout le potentiel du langage, couvrant un large éventail de tâches pratiques de trading algorithmique. Pour une navigation aisée, tous les articles sont catégorisés par sections, comme Exemple, Expert Advisors, Machine Learning et plus. Chaque mois, des dizaines de nouveaux articles sont publiés sur le site Web de la Communauté MQL5 Algotrading, écrits par des traders pour d'autres traders. Lisez et discutez de ces articles pour maîtriser le trading algorithmique moderne. Pour les débutants, nous avons compilé une liste d'16 articles recommandés pour une immersion rapide dans MQL5.

 

Types d'Applications MQL5

Les programmes MQL5 sont divisés en cinq types spécialisés selon les tâches automatiques de trading qu'ils implémentent :

  • Expert Advisor est un système de trading automatisé lié à un graphique. Un Expert Advisor contient des gestionnaires d'évènements pour gérer les évènements prédéfinis qui activent l'exécution des éléments de la stratégie de trading désirée. Par exemple, un évènement d'initialisation et de désinitialisation du programme, de nouveaux ticks, d'évènements du time, de changements dans le Depth of Market, dans le graphique et des évènements personnalisés.
    En plus de calculer les signaux de trading selon les règles implémentées, les Expert Advisors peuvent également exécuter automatiquement des trades et les envoyer directement au serveur de trading. Les Expert Advisors sont stockés dans <Répertoire_du_terminal>\MQL5\Experts.
  • Un indicateur personnalisé est un indicateur technique développé par un utilisateur en plus des indicateurs standards intégrés dans la plateforme de trading. Les indicateurs personnalisés, comme les indicateurs standards, ne peuvent pas trader automatiquement, mais implémentent uniquement des fonctions d'analyse. Les indicateurs personnalisés peuvent utiliser les valeurs d'autres indicateurs pour les calculs, et peuvent être appelés depuis les Expert Advisors.
    Les indicateurs personnalisés sont stockés dans <Répertoire_du_terminal>\MQL5\Indicators.
  • Un script est un programme pour l'exécution unique d'une action. Contrairement aux Expert Advisors, les scripts ne gèrent aucun évènement à part son activation, son initialisation et sa désinitialisation. Le code d'un script doit contenir la fonction OnStart.
    Les scripts sont stockés dans <Répertoire_du_terminal>\MQL5\Scripts.
  • Une bibliothèque est un ensemble de fonctions personnalisées. Les bibliothèques sont prévues pour stocker et distribuer les algorithmes communément utilisés de programmes personnalisés.
    Les bibliothèques sont stockées dans <Répertoire_du_terminal>\MQL5\Libraries.
  • Un service est un programme qui, contrairement aux indicateurs, Expert Advisors et scripts, ne nécessite pas d'être lié à un graphique pour fonctionner. Comme les scripts, les services ne gérent aucun évènement excepté pour les triggers. Pour lancer un servier, son code doit contenir la fonction OnStart. Les services n'acceptent pas d'évènements autres que Start, mais ils peuvent envoyer des évènements personnalisés aux graphiques grâce à la fonction EventChartCustom. Les services sont situés dans <Répertoire_du_terminal>\MQL5\Services.
  • Un fichier Include est un texte source de blocs de code les plus fréquemment utilisés dans les programmes personnalisés. Ces fichiers peuvent être inclus dans le code source des Expert Advisors, des scripts, des indicateurs personnalisés et des bibliothèques au moment de la compilation. L'utilisation de fichiers d'include est préférable à l'utilisation de bibliothèques en raison de la charge supplémentaire au moment de l'appel aux fonctions de la bibliothèque.
    Les fichiers d'include peuvent être stockés dans le même répertoire que le fichier appelant. Dans ce cas, la directive #include doit être entre guillemets. Une autre option est de stocker les fichiers d'include dans <Répertoire_du_terminal>\MQL5\Include. Dans ce cas, #include doit être utilisé avec des chevrons.

 

© 2000-2024, MetaQuotes Ltd