Aide MetaEditorProjets et MQL5 StorageCréer et travailler avec un projet

Créer et travailler avec un projet

MetaEditor fournit une fonctionnalité pratique pour travailler sur de gros projets, permettant aux utilisateurs de combiner des fichiers en une seule structure, de gérer les paramètres du projet et de développer des applications en équipe via le dépôt en ligne MQL5 Storage avec contrôle de versions.

Qu'est-ce qu'un projet ?

Un projet est un fichier séparé avec l'extension MQPROJ, qui stocke les paramètres du programme, les paramètres de compilation et des informations sur les fichiers utilisés dans le projet. Un onglet séparé dans le Navigateur est fourni pour travailler de façon plus pratique dans le projet. Tous les fichiers, tels que les fichiers include, les ressources, les headers et les autres fichiers sont ordonnés par catégories dans cet onglet.

Structure et paramètres du projet

Créer un projet #

La création d'un nouveau projet est aussi facile que la création d'un programme MQL5 normal. Cliquez sur Nouveau Projet et sélectionnez le type de programme désiré dans le MQL5 Wizard :

Créer un nouveau projet

Complétez ensuite les étapes standards du MQL5 Wizard : définissez le type, le nom et les propriétés du programme désiré et sélectionnez les gestionnaires d'évènements appropriés.

L'assistant permet également la création de projets vides. Il s'agit d'une fonctionnalité utile pour les projets de développement non standard avec des structures de fichiers spécifiques pour lesquelles les modèles par défaut ne conviennent pas. Un fichier de paramètres vide "mqproj" est créé dans ce cas. Les fichiers de code source doivent être créés manuellement.

Créer un projet à partir d'un fichier MQ5 #

Si vous avez déjà des développements sous la forme de fichiers MQ5, vous pouvez facilement les transformer en un projet. Sélectionnez un fichier et cliquez sur Nouveau Projet à partir d'une Source Nouveau Projet à partir d'une Source dans le menu contextuel du fichier :

Créer un nouveau projet à partir d'un fichier source

Dans le répertoire où est situé le fichier sélectionné, un nouveau fichier projet sera créé avec le même nom et l'extension mqproj. Les principales propriétés du programme spécifiées dans le code source via #property seront automatiquement ajoutées au projet, incluant le nom, le copyright, la version, le lien vers le site web du développeur et la description du programme. Tous les fichiers inclus dans le code source avec la directive #include seront ajoutés dans la section Dépendances du projet.

Propriétés du projet #

Les principaux paramètres du projet sont accessibles depuis une boîte de dialogue séparée au lieu d'éditer le code source comme cela est fait normalement avec des fichiers MQ5 séparés. Pour ouvrir les paramètres d'un projet, cliquez sur Propriétés du projet Propriétés du projet dans le menu contextuel du projet. Les paramètres de projet suivants sont disponibles :

  • Plateforme signifie la version de la plateforme pour laquelle le projet est développé, c'est à dire MetaTrader 4 ou MetaTrader 5.
  • Type du programme : Expert Advisor, Indicateur, Script ou Bibliothèque.
  • Copyright montre les informations du copyright telles que décrites avec "#property copyright ..." dans le code source.
  • Lien montre le lien vers le site du développeur identique à "#property link ..." dans le code source.
  • Version : spécifie la version du programme, similaire à "#property version ..." dans le code source.
  • Icone : l'icone du programme, similaire à "#property icon ..." dans le code source.
  • Description : description du programme, similaire à "#property description ..." dans le code source.
  • Activer l'optimisation supplémentaire : les applications avec l'optimisation désactivée sont compilées plus rapidement mais s'exécutent plus lentement.
  • Vérifier les diviseurs à virgule flottante : les applications avec cette vérification désactivée s'exécutent un peu plus rapidement car l'erreur de division par zéro n'est pas vérifiée pendant l'exécution.
  • Utiliser le cache d'optimisation : pendant l'optimisation, le testeur de stratégie sauvegarde dans le cache les résultats des passes effectuées. Les résultats sont sauvegardés pour chaque ensemble d'entrées. Cela permet d'utiliser des résultats immédiats lors de la réoptimisation avec les mêmes paramètres, sans perdre de temps sur le recalcul.
    Mais dans certaines tâches (par exemple, dans les calculs mathématiques), il peut être nécessaire d'effectuer des calculs indépendamment de la disponibilité des résultats précédents. Dans ce cas, vous pouvez désactiver l'option "Utiliser le cache d'optimisation" dans le projet. Tous les résultats de test seront toujours sauvegardés dans le cache et vous pourrez ainsi afficher les données sur les passes effectuées dans le rapport du testeur de stratégie.
  • Calculer l'indicateur à chaque tick du testeur - cette option n'est disponible que pour les projets d'indicateurs. Il active de force le calcul des indicateurs à chaque tick lors de l'exécution dans le testeur de stratégie. L'option s'applique uniquement à l'opération dans le testeur de stratégie. Dans la plateforme, les indicateurs sont toujours calculés à chaque tick entrant.
    Lorsque vous testez des Expert Advisors à l'aide d'indicateurs, le testeur de stratégie calcule les valeurs des indicateurs uniquement lorsque leurs données sont accessibles, c'est-à-dire lorsque des valeurs de buffer de l'indicateur sont demandées. Cela permet une accélération significative lors des tests et de l'optimisation, si l'Expert Advisor n'a pas besoin de valeurs d'indicateur à chaque tick. Activez cette option, si l'indicateur doit être calculé à chaque tick.
    De plus, les indicateurs du testeur de stratégie sont calculés à chaque tick dans les cas suivants :
  • lors des tests en mode visuel
  • si l'indicateur contient des fonctions EventChartCustom, OnChartEvent, OnTimer
  • si l'indicateur a été créé avec une version inférieure à 1916 du compilateur

L'ensemble des propriétés du programme dans le fichier projet a une plus haute priorité que les propriétés spécifiées dans le code du programme. Si les propriétés sont spécifiées à la fois dans le projet et dans le fichier source, seules les propriétés du projet seront utilisées.

Ajouter et enlever des fichiers d'un projet #

Tous les fichiers utilisés dans le code source sont ajoutés au navigateur du projet automatiquement. Par exemple, si vous incluez un nouveau fichier MQH en utilisant la directive #include, il apparaîtra automatiquement dans la section Dépendances du navigateur. Les fichiers header sont ajoutés dans la section Headers ; les images, les sons et les autres programmes MQL utilisés dans le projet comme ressources (via la directive #resource) sont ajoutés à la section Ressources.

Les fichiers MQ5 avec le code source sont affichés dans la section Sources. Les autres fichiers, tels que les fichiers set pour le test et les modèles de graphiques, peuvent être ajoutés dans la section "Paramètres et fichiers".

Utilisez les commandes du menu contextuel pour ajouter les fichiers existants dans un projet ou pour y supprimer des fichiers. Faites attention lors de la suppression de fichiers, car vous pouvez effacer un fichier du projet (enlever le lien) ou le supprimer complètement du disque dur :

Ajouter et enlever des fichiers du projet

La commande "Ajouter un dossier existant" permet un ajout par lots de tous les fichiers pris en charge du répertoire sélectionné dans le projet.

Un fichier ajouté manuellement au projet n'est pas inclus dans le code du programme et n'est pas copié dans le répertoire du projet. Le fichier n'est que lié au projet pour être affiché dans son navigateur.

Compiler un projet #

Pour compiler un fichier exécutable EX5, ouvrez le projet ou le principal fichier MQ5 du programme et exécutez ensuite la commande pour compiler (F7). Le fichier exécutable résultant sera recréé dans le même répertoire où le fichier MQPROJ du fichier est situé.

Projets partagés #

MetaEditor permet aux développeurs de développer à distance des applications MQL5 en équipe. Le dépôt en ligne MQL5 Storage est intégré dans l'éditeur :

  • Le support de version vous permet de voir tous les changements effectués dans le projet et de les annuler si nécessaire.
  • L'accès en ligne au projet assure l'accès à tous les membres du projet depuis n'importe quel ordinateur en utilisant la MQL5.community .
  • Notifications de mise à jour du projet - restez informé de toutes les modifications apportées aux fichiers ou aux paramètres du projet. Pour recevoir des notifications sur votre téléphone mobile, indiquez votre Identifiant MetaQuotes dans la section "Paramètres \ Sécurité" de votre profil MQL5.community. Pour communiquer avec l'équipe, utilisez les discussions de groupe.
  • Vous pouvez donner des droits séparément aux participants du projet permettant de voir ou d'éditer le projet.
  • Vous pouvez également créer des projets publics, qui sont visibles à tous les utilisateurs. Les projets publics sont affichés dans un onglet séparé dans MetaEditor, à partir d'où n'importe qui peut demander à participer.

Les projets partagés sont gérés dans une section Projets Partagés séparée. Si vous n'avez pas encore activé le Dépôt, exécutez la commande Activer le MQL5 Storage du menu contextuel du dossier désiré. MetaEditor vérifiera si votre dépôt contient des données sauvegardées et s'il y a des projets partagés disponibles pour vous. Toutes les données disponibles seront récupérées du Dépôt et téléchargées sur votre ordinateur. Les projets de groupe disponibles apparaissent dans la section Projets Partagés. Pour récupérer les projets, exécutez la commande Checkout du Dépôt dans le menu contextuel.

Pour créer un nouveau projet de groupe, sélectionnez le dossier Projets Partagés et cliquez sur Nouveau Projet :

Créer un projet partagé

Complétez ensuite les étapes MQL5 classiques : définissez le type, le nom et les propriétés du programme désiré. Pour les projets de groupe, vous devriez utiliser des noms clairs et compréhensibles afin que les participants les retrouvent facilement. Seuls les caractères latins et les chiffres, sans espace, peuvent être utilisés dans les noms des projets.

Un projet créé est immédiatement ajouté au MQL5 Storage. Les fichiers de la bibliothèque standard utilisés dans le projet ne sont pas ajoutés au dépôt, et vous pouvez les ajouter manuellement.

Pour permettre aux participants de travailler avec le projet, ouvrez les propriétés du projet. Vous pouvez accorder des permissions aux utilisateurs sélectionnés et définir les paramètres généraux pour le travail en équipe :

  • Un projet privé n'est disponible que pour son auteur
  • Un projet libre d'adhésion permet à tout le monde de le rejoindre
  • Un projet adhésion à la demande ne peut être accédé qu'après l'envoi d'une demande à l'auteur du projet

Configurer l'accès au projet partagé

Pour accorder des permissions à un utilisateur sélectionné, cliquez sur "ajouter un nouvel utilisateur" et spécifiez le login MQL5.community de cet utilisateur. Sélectionnez ensuite les permissions :

  • Lecture : l'utilisateur peut voir les données du projet et sera capable de les télécharger dans MetaEditor.
  • Lecture et Ecriture : l'utilisateur peut voir les données du projet, ainsi que télécharger ses propres changements dans le Dépôt, mais ne peut pas changer la liste des participants.

Lorsque vous compilez un projet de groupe, le fichier exécutable EX5 est automatiquement copié dans le répertoire Experts, Indicators ou Scripts suivant le type du programme. Ceci vous permet d'exécuter instantanément le programme dans la plateforme sans avoir à le copier manuellement dans le bon répertoire.

Projets publics #

Chaque projet partagé du MQL5 Storage a des paramètres de publicité : le projet peut être privé ou ouvert aux autres utilisateurs. Tous les projets que vous pouvez rejoindre sont affichés dans un onglet séparé Projets Publics.

Projets publics

Cliquez sur Rejoindre pour joindre un projet. Après cela, le projet apparaîtra dans la section Projets Partagés. Cliquez ensuite sur Rafraîchir du DépôtRafraîchir du Dépôt dans le menu contexutuel du projet pour le télécharger sur votre ordinateur.

Chaque utilisateur qui rejoint le groupe n'a que des droits en lecture seule. Contactez l'auteur du projet pour pouvoir soumettre vos changements. Pour connaître son login MQL5.community, ouvrez les propriétés du projet via le menu contextuel :

Voir les propriétés du projet