Aide MetaTrader 5Trading Algorithmique, Robots de TradingComment créer un Expert Advisor ou un indicateur

Comment créer un Expert Advisor ou un indicateur

La plateforme de trading contient le langage de programmation intégré MetaQuotes Language 5 (MQL5), l'environnement de développement MetaEditor et des outils de test de stratégie.

Toutes les informations concernant le développement de stratégies de trading en MQL5 peuvent être trouvées sur le site officiel de la MQL5.Community. La section Code Base du site comporte des exemples d'applications prêtes-à-l'emploi.

Le Langage de Programmation MQL5 de Stratégies de Trading #

La plateforme de trading possède son propre langage MetaQuotes Language 5. C'est la 5ème génération des langages MQL. Il permet de développer des Expert Advisors pour automatiser votre trading, mais aussi pour implémenter vos propres stratégies de trading. MQL5 permet également de créer des indicateurs personnels, des scripts et des bibliothèques de fonctions.

Caractéristiques du langage MQL5 :

  • Le langage est orienté objets ;
  • La syntaxe MQL5 est similaire à celle du C++ ;
  • Il contient un grand nombre de fonctions nécessaires à l'analyse des cotations, à la gestion des positions, aux appels d'indicateurs techniques, etc. ;
  • C'est un langage à hautes performances ;
  • Il a une haute protection contre la décompilation : nouveaux algorithmes complexes de cryptage, vérifications de l'intégrité des fichiers, et complexité du langage ;
  • OpenCL montre comment utiliser les cartes vidéos pour les calculs des applications MQL5 ;
  • L'environnement de développement intégré MetaEditor inclut un débogueur.

Une description détaillée de toutes les fonctions et constructions du langage est fournie dans la Référence MQL5. Toutes les informations nécessaires sur MQL5 peuvent également être trouvées sur le site internet de la communauté des développeurs sur https://www.mql5.com.

MetaEditor #

MetaEditor est un environnement de développement MQL5 intégré. C'est un composant de la plateforme de trading. MetaEditor vos permet de créer, de modifier, de compiler et de déboguer les codes sources écrits en MQL5.

  • Le MQL5 Wizard pour créer des modèles et des robots de trading
    MetaEditor inclut le MQL5 Wizard pour vous aider à créer rapidement des programmes MQL5. Grâce au MQL5 Wizard, un trader n'ayant aucune connaissance en programmation peut facilement créer des Expert Advisors. Vous n'avez besoin que de sélectionner les signaux de trading pour l'Expert Advisor, ainsi que les algorithmes de money management et de stops suiveurs. Le code de l'Expert Advisor est généré automatiquement basé sur les paramètres sélectionnés.
    De plus, le MQL5 Wizard permet de créer des modèles de programmes MQL5 pour simplifier le travail d'un développeur.
  • Aide sur le source code
    MetaEditor reconnaît les structures du langage : il suggère comment utiliser les fonctions et met en avant les différents éléments du code source du programme. L'éditeur améliore donc la navigation dans le code source des programmes de trading et contribue à améliorer le processus de développement.
  • Deboguage
    MetaEditor vous permet de déboguer les programmes pour faciliter la recherche d'erreurs. Une exécution en mode pas-à-pas du code source permet de surveiller les valeurs des variables.
  • Profilage pour optimiser le code
    L'éditeur fournit également des outils pour profiler les programmes. Vous pouvez identifier les fonctions les plus lentes dans le code source et optimiser votre programme.
  • Articles sur la programmation et une bibliothèque de code source
    Vous pouvez accéder à de nombreux tutoriels de programmation MQL5 directement depuis la plateforme. Vous pouvez également accéder à une base de code énorme de programmes automatisés de trading gratuits.
  • MQL5 Storage en ligne avec gestion des versions
    Le stockage fournit un stockage sécurisé des fichiers et la possibilité de recouvrir des fichiers perdus, mais aussi d'accéder à votre code depuis n'importe quel ordinateur utilisant le compte de la MQL5.Community.

Vous pouvez trouver plus de détails à propos de MetaEditor dans son aide intégrée. La description de MQL5 est disponible dans la référence intégrée et sur le site internet officiel de la MQL5.Community.

Articles sur le développement des applications de trading #

Le site web de la MQL5.community comporte une bibliothèque étendue d'articles sur la programmation MQL4/MQL5. Les articles sont un excellent guide pour créer des applications, puisqu'ils couvrent beaucoup de tâches pratiques impliquant le trading algorithmique. De nouveaux articles sont publiés chaque semaine.

La liste de tous les articles disponibles est affichée directement dans MetaEditor. Pour trouver les informations désirées, utilisez la recherche en ligne.

Articles sur la programmation MQL4/MQL5

Types d'applications MQL5 #

Il existe trois types principaux d'applications de trading.

Expert Advisors

Les Expert Advisors sont des systèmes mécaniques de trading permettant l'automatisation complète des activités d'analyse et de trading permettant d'effectuer des opérations efficacement sur les marchés financiers. Ils permettent d'effectuer des analyses techniques rapides des données et contrôlent les activités de trading sur la base des signaux reçus. Ils aident également à suivre strictement une stratégie de trading en éliminant les émotions.

Tous les Expert Advisors sont stockés dans le répertoire /MQL5/Experts de la plateforme de trading.

Indicateurs Personnels

Les Indicateurs Personnels sont des indicateurs techniques développés à la demande pour analyser les mouvements des prix. Les tactiques de trading et les Expert Advisors sont développés sur les algorithmes des indicateurs. Les indicateurs personnels ne sont utilisés que pour analyser les mouvements des prix des symboles. Les indicateurs ne peuvent pas effectuer d'opérations de trading et n'ont pas accès aux graphiques.

Tous les indicateurs sont stockés dans le répertoire /MQL5/Indicators de la plateforme de trading.

Scripts

Un script est une application écrite en MQL5 conçue pour n'exécuter une action qu'une seule fois. Un script peut effectuer à la fois des fonctions d'analyse et de trading. Contrairement aux Expert Advisors, les scripts ne sont exécutés que sur demande. En d'autres termes, si un Expert Advisor travaille pratiquement en continu, un script s'exécute et se termine.

Tous les scripts sont stockés dans le répertoire /MQL5/Scripts de la plateforme de trading.

Services

Les services permettent l'utilisation des flux personnalisés de prix pour la plateforme et d'implémenter la livraison des prix depuis des systèmes externes en temps réel, tout comme c'est implémenté sur les serveurs des courtiers. Les services peuvent également être utilisés pour effectuer d'autres tâches en arrière plan.

Contrairement aux Expert Advisors, aux indicateurs et aux scripts, les services ne sont pas liés à un graphique spécifique. De telles applications fonctionnent en arrière-plan et sont lancées automatiquement au démarrage du terminal (sauf si une telle application a été arrêtée de force).

Tous les services sont stockés dans le répertoire /MQL5/Services de la plateforme de trading.

Dans les répertoires des Experts, des Indicateurs, des Scripts et des Services, les applications peuvent être triées en sous-répertoires. La structure de leur stockage est affichée dans la fenêtre du Navigator.

Comment Créer et Exécuter une Application de Trading #

Cliquez sur "CréerCréer" dans le menu contextuel de la fenêtre du Navigator dans la section Expert Advisors, Indicateurs ou Scripts. MetaEditor peut également être lancé en appuyant sur la touche F4.

Commencer à créer une application de trading

Ceci lance MetaEditor avec le MQL5 Wizard ouvert automatiquement. Vous pouvez l'utiliser pour générer le modèle du programme désiré pour commencer rapidement le développement de votre programme. Commençons par créer un script simple écrivant le message "Hello world" dans le journal.

Le MQL5 Wizard génére un modèle de l'application

Dans le modèle généré, nous ajoutons le code Print("Hello World"); et le compilons en appuyant sur la touche F7 pour générer un fichier exécutable. Le fichier exécutable possède l'extension EX5 et peut être lancé depuis la plateforme de trading.

Compiler et voir les résultats

Les résultats de la compilation sont ajoutés au journal de l'éditeur.

Conformément au type de l'application, le code source est sauvegardé dans le répertoire MQL5\Scripts\. Le fichier exécutable est créé dans le même répertoire. Vous pouvez maintenant revenir sur la plateforme de trading et lancer le script généré.

Lancer un script dans la plateforme de trading

Les utilisations spécifiques des programmes de trading automatique sont décrites dans la section "Expert Advisors et indicateurs personnels".

Comment Modifier une Application de Trading #

Pour modifier un robot de trading ou un indicateur personnel, cliquez sur "ModifierModifier" dans son menu contextuel dans la fenêtre du Navigatorou sélectionnez-le et appuyez sur la touche Entrée. Ceci ouvre MetaEditor avec le code source de l'indicateur sélectionné. Après avoir modifié l'indicateur, vous devez le recompiler (F7). Autrement, ce sera toujours la version précédente et inchangée qui sera utilisée dans la plateforme.

Comment Stopper une Application de Trading #

Une application de trading peut être stoppée de plusieurs façons depuis la plateforme.

Robot de trading

Indicateur technique personnel

Script

  • Cliquer sur "Supprimer l'indicateurSupprimer" ou "Supprimer la fenêtre de l'indicateurSupprimer la fenêtre de l'indicateur" dans le menu contextuel de l'indicateur ;
  • Cliquer sur "Effacer" dans la fenêtre de la Liste des Indicateurs ;
  • Changer le modèle du graphique ;
  • Ré-ouvrir le graphique.
  • Cliquer sur "Supprimer" dans la fenêtre Liste des Experts. Cette fenêtre contient également la liste des scripts en cours d'exécution ;
  • Changer le modèle du graphique ;
  • Changer le profil, à condition que l'option correspondante soit activée dans les paramètres de la plateforme ;
  • Changer le symbole du graphique ;
  • Changer la période du graphique ;
  • Fermer la plateforme de trading ;
  • Fermer le graphique sur lequel le script est en train de s'exécuter ;
  • Exécuter un autre script sur le même graphique ;
  • Cliquez sur "Supprimer le scriptSupprimer" dans le menu contextuel de l'icone du script sur le graphique.
  • Si une application de trading est en cours d'exécution sur le graphique, elle ne sera pas arrêtée si vous supprimez le fichier exécutable correspondant de la fenêtre du Navigator.

Comment Exécuter un Fichier MQL5 de Code Source Téléchargé #

Si vous n'avez que le fichier du code source (*.MQ5), sauvegardez-le dans un répertoire correspondant au type de l'application :

  • Pour les Expert Advisors /MQL5/Experts
  • Pour les indicateurs /MQL5/Indicators
  • Pour les scripts /MQL5/Scripts

Pour naviguer rapidement dans le répertoire des données de la plateforme de trading, cliquez sur "Ouvrir le dossier des donnéesOuvrir le dossier des données" dans le menu Fichier.

Pour exécuter un fichier dans la plateforme de trading, compilez-le dans MetaEditor :

  • Ouvrez MetaEditor en appuyant sur la touche F4.
  • Dans MetaEditor, ouvrez le fichier du code source depuis la fenêtre du Navigator en double cliquant sur le nom du fichier.
  • Appuyez sur la touche F7 pour le compiler.

Ceci crée un fichier exécutable *.EX5 qui peut être exécuté dans la plateforme de trading.

Les fichiers source (*.MQ5) ne sont pas affichés dans la fenêtre du Navigator de la plateforme de trading.