Aide MetaEditor → Projets et MQL5 Algo Forge → Créer et travailler avec un projet

Créer et travailler avec les projets

MetaEditor offre de nombreuses fonctionnalités utiles pour travailler avec les projets. Il vous permet d'organiser les fichiers dans une structure unique, de gérer les paramètres du projet et de collaborer via MQL5 Algo Forge avec le contrôle de version.

Qu'est-ce qu'un projet ?

Un projet est un fichier MQPROJ qui stocke les paramètres, les réglages et toutes les informations nécessaires à la compilation d'une application MQL5.

Un double-clic sur un fichier MQPROJ ouvre l'onglet « Projet », un espace de travail distinct permettant de travailler plus facilement avec des projets dans le Navigateur. Tous les fichiers et dossiers du projet sont classés par catégories dans cet onglet.

Structure et paramètres du projet    

Création d'un projet #

Dans le menu supérieur, cliquez sur « Fichier » > « Nouveau projet » ou appuyez sur Ctrl + Maj + N. Choisissez le type de programme souhaité et continuez avec l’ Assistant MQL5.

Créer un nouveau projet

Saisissez un nom et d'autres détails, ajoutez des paramètres et choisissez les gestionnaires d'événements.

L'assistant prend également en charge la création de projets vides pour héberger des structures de fichiers incompatibles avec les modèles par défaut. Un projet vide contient un fichier MQPROJ vierge et vous oblige à créer manuellement les fichiers de code source.

Création d'un projet basé sur un fichier MQ5 #

Cliquez avec le bouton droit sur le fichier MQ5, puis sélectionnez « Nouveau projet à partir de la source ».

Création d'un nouveau projet à partir du fichier source

Un nouveau fichier de projet MQPROJ portant le même nom apparaîtra dans le répertoire. Les principales propriétés du programme spécifiées dans le code source via #property seront automatiquement ajoutées au projet, notamment le nom, le droit d'auteur, la version, le lien vers le site du développeur et la description du programme. Tous les fichiers inclus dans le code source via la directive #include seront ajoutés à la section « Dépendances » du projet.

Propriétés du projet #

Vous pouvez accéder aux paramètres d'un projet depuis une boîte de dialogue séparée sans avoir à modifier le code source du fichier MQ5. Il suffit de double-cliquer sur le fichier MQPROJ dans l'onglet « Projet ».

Structure et paramètres du projet

Les paramètres de projet suivants sont disponibles :

  • Plateforme – la version de la plateforme pour laquelle le projet est développé, c'est-à-dire MetaTrader 4 ou MetaTrader 5.
  • Type de programme – Expert Advisor, indicateur, script ou bibliothèque.
  • Droits d'auteur – informations relatives aux droits d'auteur similaires à « #property copyright ... » dans le code source.
  • Lien – le lien vers le site d'un développeur, similaire à « #property link ... » dans le code source.
  • Version – la version du programme similaire à « #property version ... » dans le code source.
  • Icône – l'icône du programme, similaire à « #property icon ... » dans le code source.
  • Description – description du programme similaire à « #property description ... » dans le code source.
  • Processeur – optimise la compilation pour des jeux d'instructions spécifiques au processeur : X64 Standard, AVX, AVX2 + FMA3, AVX512 + FMA3.
  • Optimisation maximale – les applications dont cette option est activée s'exécutent plus rapidement.
  • Vérifier les diviseurs à virgule flottante – les applications dont cette option est désactivée fonctionnent un peu plus rapidement, car l'erreur de division par zéro n'est pas vérifiée lors de l'exécution du code.
  • Utiliser le cache d'optimisation du testeur – lors de l'optimisation, le Testeur de Stratégie enregistre les résultats de tous les passages effectués dans le cache. Les résultats sont enregistrés pour chaque ensemble de données d'entrée. Cela permet d'utiliser les résultats déjà obtenus lors d'une nouvelle optimisation avec les mêmes paramètres, sans perdre de temps à recalculer.
    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é de résultats antérieurs. Dans ce cas, vous devez désactiver l'option « Utiliser le cache d'optimisation » dans le projet. Tous les résultats des tests seront toujours enregistrés dans le cache et vous pourrez ainsi consulter les données relatives aux passages effectués dans le rapport du Testeur de Stratégie.
  • Calculer l'indicateur à chaque tick dans le testeur – cette option est uniquement disponible 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. Cette option s'applique uniquement aux opérations effectuées dans le Testeur de Stratégie. Dans la plateforme, les indicateurs sont systématiquement calculés à chaque nouveau tick.
    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 consultées, c'est-à-dire lorsque les valeurs du tampon d'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 des valeurs d'indicateur à chaque tick. Activez cette option si l'indicateur doit être calculé à chaque tick.
    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 les fonctions EventChartCustom, OnChartEvent, OnTimer
  • si l'indicateur a été créé à l'aide d'une version du compilateur antérieure à 1916
  • Afficher une fenêtre de confirmation avant d'exécuter le script – empêche l'exécution accidentelle d'un script.
  • Afficher une fenêtre avec les propriétés avant d'exécuter le script – vous permet de consulter et de modifier les paramètres d'entrée avant d'exécuter un script.

En cas de conflit, les propriétés spécifiées dans le fichier projet sont prioritaires sur celles définies dans le code source.

Ajout et suppression de fichiers d'un projet #

Tous les fichiers utilisés dans le code source sont automatiquement ajoutés au navigateur de projet. Par exemple, si vous ajoutez un nouveau fichier MQH en utilisant #include Cette directive apparaîtra automatiquement dans la section « Dépendances » du Navigateur. Les fichiers d'en-tête utilisés sont ajoutés à la section « Headers » ; les images, les sons et autres programmes MQL utilisés dans le projet comme ressources (via la directive #resource ) sont ajoutés à la section « Ressources ».

Les fichiers MQL5 contenant le code source sont affichés dans la section « Sources ». D'autres fichiers, tels que des fichiers de configuration pour les tests et des modèles de graphiques, peuvent être ajoutés à la section « Paramètres et fichiers ».

Vous pouvez utiliser les commandes du menu contextuel pour ajouter des fichiers existants à un projet ou en supprimer. Soyez prudent lorsque vous supprimez des fichiers, car vous pouvez supprimer un fichier du projet (supprimer la liaison) ou le supprimer complètement du disque.

Ajout et suppression de fichiers du projet

La commande « Ajouter un dossier existant » permet d'ajouter par lots tous les fichiers compatibles du répertoire sélectionné au 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 est uniquement lié au projet pour être affiché dans son navigateur.

Compilation d'un projet #

Pour obtenir le fichier exécutable EX5 d'un projet, ouvrez le projet ou le fichier MQ5 principal du programme, puis exécutez la commande de compilation (F7). Le fichier sera créé dans le répertoire contenant le fichier de projet MQPROJ.

Lors de la compilation d'un projet de groupe, le fichier exécutable est automatiquement copié dans le répertoire local Experts, Indicators ou Scripts, selon le type de programme. Cela vous permet d'exécuter instantanément le programme dans MetaTrader sans avoir à le copier manuellement dans le répertoire requis.

Projets partagés #

La section Projets partagés est dédiée aux projets collaboratifs. Tout projet créé dans cette section sera automatiquement transféré vers le stockage en ligne.

Pour créer un nouveau projet partagé, cliquez avec le bouton droit sur « Projets partagés » et choisissez « Nouveau projet ».

Création d'un projet partagé

Ensuite, suivez les étapes standard de l’ Assistant MQL5: définissez le type, le nom et les propriétés du programme souhaité. Pour les projets collaboratifs, il convient d'utiliser des noms clairs et compréhensibles, permettant aux autres participants de les retrouver facilement. Seuls les caractères latins et les chiffres sans espaces peuvent être utilisés dans les noms de projets.

Une fois la création du projet partagé terminée, il apparaîtra sur le site web MQL5 Algo Forge en tant que dépôt privé sous votre nom.

Évolution de la visibilité des projets partagés #

Vous pouvez choisir de rendre le dépôt public ou d'en accorder l'accès à certains utilisateurs. Cliquez avec le bouton droit sur le dossier du projet, puis sélectionnez « Paramètres du projet partagé ».

Modifiez l'option « Partage » de « Projet privé » à une nouvelle option :

  • Projet privé : Seul l'auteur peut accéder au projet.
  • Projet à participation libre : N'importe qui peut participer au projet.
  • Adhésion au projet sur demande : Les utilisateurs peuvent demander à rejoindre le projet, et l'auteur peut approuver ou refuser chaque demande.

Configuration de l'accès au projet partagé

Vous pouvez accorder l'accès à un utilisateur spécifique. Cliquez sur « Ajouter un nouvel utilisateur », puis saisissez les identifiants de connexion MQL5.community de l'utilisateur. Cliquer sur le menu déroulant « Autorisation » affiche les privilèges disponibles que vous pouvez accorder à l’utilisateur :

  • Lecture : L'utilisateur peut consulter et télécharger les fichiers du projet.
  • Lecture et écriture : L'utilisateur peut consulter, télécharger et modifier les fichiers du projet.
  • Administrateur : L'utilisateur peut tout faire, de la lecture à l'écriture, en passant par le contrôle de la liste des participants.

Projets publics #

Un projet public est un dépôt dont le paramètre de visibilité est défini sur public. Tout utilisateur MQL5 peut télécharger les fichiers d'un projet public, le forker pour créer sa propre copie, collaborer avec son propriétaire ou ses responsables, et proposer des modifications du code.

L'onglet « Projets publics » de MetaEditor est en cours de développement. Au lieu de cela, vous pouvez explorer les projets publics disponibles sur le site web MQL5 Algo Forge, qui est un peu comme GitHub pour la communauté du trading algorithmique.

Site web des projets publics

Après avoir forké un projet public, votre copie dupliquée apparaîtra comme un dépôt public sous votre nom sur le site web. Après avoir cloné la copie dans MetaEditor, elle apparaîtra dans Projets partagés.

Changer la visibilité des projets

Si vous souhaitez que votre projet existant devienne public, définissez sa visibilité sur « publique ». Effectuez cette action dans MetaEditor ou suivez ces instructions pour le faire sur le site web MQL5 Algo Forge :

Ouvrez la page de votre dépôt, puis cliquez sur « Paramètres » en haut à droite.

Page Web des paramètres du dépôt

Décochez l'option « Rendre le dépôt privé », puis cliquez sur « Enregistrer les paramètres ».

Modification des paramètres du dépôt