- Concepts de Base du Langage
- Constantes, Enumérations et Structures
- Programmes MQL5
- Variables Prédéfinies
- Fonctions Communes
- Fonctions sur les Tableaux
- Méthodes sur les Matrices et les Vecteurs
- Fonctions de Conversion
- Fonctions Mathématiques
- Fonctions sur les Chaînes de Caractères
- Date et Heure
- Information du Compte
- Vérification
- Gestion d'Evènements
- Information du Marché
- Calendrier Economique
- Accès aux Séries de Données et aux Indicateurs
- Symboles personnalisés
- Opérations sur le Graphique
- Fonctions de Trading
- Signaux de Trading
- Fonctions réseau
- Variables Globales du Terminal
- Fonctions sur les Fichiers
- Indicateurs Personnalisés
- Fonctions sur les Objets
- Indicateurs Techniques
- Utilisation des Résultats d'Optimisation
- Utilisation des Evènements
- Utilisation d'OpenCL
- Utilisation de bases de données
- Utilisation de DirectX
- MetaTrader pour Python
- Modèles ONNX
- Bibliothèque Standard
- Migration depuis MQL4
- Liste des fonctions MQL5
- Liste des constantes MQL5
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.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.
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-2023, MetaQuotes Ltd