Publiez le code de votre article sur MQL5 Algo Forge en 10 minutes : guide pas à pas
Sommaire
- Introduction
- Préparer l’environnement
- Se connecter
- Créer un projet
- Type de projet
- Nommage
- Fichiers du projet
- Organiser les dossiers
- README
- Encodage et compilation
- Commit et synchronisation avec Git
- Mode public
- Projets sur plusieurs articles
- Liste de contrôle
- Conclusion
Introduction
Votre article est déjà publié sur MQL5 ? Passez à l’étape suivante : transformez le code de l’article en véritable projet sur MQL5 Algo Forge. Ne laissez pas les fichiers sources dans une simple archive. Transférez-les dans le dépôt pour que les lecteurs disposent de la version actuelle du projet, d’une structure de fichiers claire, d’un historique des modifications et d’une description précise. Algo Forge repose sur Git, mais les principales actions Git sont déjà intégrées à l’interface de MetaEditor, et le fichier README.md devient la vitrine du projet.
![]()
Préparer l’environnement
Préparez votre identifiant MQL5, tous les fichiers de l’article et un README.md complet. Ne remettez pas la publication de votre projet à plus tard. Créez-le maintenant, tant que vous avez tout le code, les paramètres et les ressources associées sous la main.
Quelques étapes simples suffisent pour publier votre projet dans le dépôt. La publication de votre code ne vous prendra pas plus de 10 minutes : vous en aurez fini avec les archives en désordre, et votre projet sera stocké et mis à jour dans le cloud.
Se connecter
Ouvrez MetaEditor. Allez dans Outils → Options → Communauté et vérifiez que vous êtes connecté avec votre compte MQL5. Sans cette authentification, MetaEditor ne pourra pas travailler avec MQL5 Algo Forge.

1. Connexion à MetaEditor avec votre identifiant et votre mot de passe mql5.com
Créer un projet
Ouvrez la fenêtre Navigateur. Repérez le dossier Projets partagés. Faites un clic droit dessus et sélectionnez Nouveau projet. Créez votre projet à cet endroit : c’est le bon point d’entrée vers Algo Forge depuis MetaEditor.

2. Création d’un nouveau projet dans l’éditeur de code
Type de projet
Choisissez le type de projet en fonction du contenu de l’article :
- Expert Advisor : si vous publiez un EA ;
- Indicateur personnalisé : si vous publiez un indicateur ;
- Script : si vous publiez un script ;
- Service : si vous publiez un service ;
- Bibliothèque : si vous publiez une bibliothèque ;
- Vide : si l’article comporte de nombreux fichiers à compiler séparément et qu’il vous faut un modèle vide.
En cas de doute, si le projet ne comporte qu’un seul fichier compilé principal, choisissez le type correspondant à ce fichier. MetaEditor créera ainsi immédiatement une structure de projet pratique.
Si un article contient tout un ensemble de fichiers différents à compiler séparément, le projet doit d’abord être créé en tant que projet Vide, puis rempli de fichiers manuellement.
Si vous créez un projet non vide et que vous y placez, par exemple, deux scripts ou plus, un seul d’entre eux pourra être compilé. Si l’on tente de compiler les autres scripts, on obtient une erreur indiquant qu’un fichier de ce type existe déjà dans le projet.

3. Choix du type de projet à créer en fonction du contenu de l’article
Nommage
Utilisez le nom que nous vous enverrons. Si vous n’avez pas encore de nom, adoptez un modèle de nommage clair :
[Material type]-[article ID]-[Short topic]
Par exemple : Article-21732-Code-Tears-And-Algo-Forge. Ce nom relie immédiatement le projet à l’article et facilite la navigation.
Fichiers du projet
Incluez tout ce dont le lecteur a besoin pour compiler, exécuter ou tester le code :
- le fichier .mq5 principal ;
- les fichiers .mqh ;
- les bibliothèques ;
- les préréglages .set ;
- les images ;
- les fichiers CSV, TXT et autres données ;
- les ressources supplémentaires utilisées par le projet.
Ne vous limitez pas au seul fichier principal. Si l’article s’appuie sur un module, une ressource ou un jeu de paramètres, incluez-les également. Un projet complet est toujours plus utile au lecteur qu’une archive incomplète.

4. Ajout des fichiers de l’article au projet
Organiser les dossiers
Ne mélangez pas tout. Organisez le projet pour qu’on s’y retrouve facilement. Dans la fenêtre Projets, MetaEditor affiche automatiquement les fichiers par sections logiques : Sources, Headers, Ressources, Paramètres et fichiers, et affiche les dépendances séparément. Cette organisation permet de voir immédiatement où se trouvent le code principal, les headers, les ressources et les fichiers de service.
Si vous migrez une ancienne archive, commencez par rassembler tous ses fichiers dans un dossier de projet bien rangé, puis ajoutez-les dans MetaEditor. Ainsi, vous ne perdrez rien et ne confondrez pas les versions.

5. Organisation des fichiers dans les dossiers du projet
README
Prenez le fichier README.md prêt à l’emploi que nous vous enverrons et placez-le à la racine de votre projet. Ne le placez pas dans un sous-dossier. C’est le README qui présente le projet au lecteur : il explique ce que fait le code, ce que contient le projet et par où commencer. Sans lui, le dépôt ressemble à une collection de fichiers anonymes.

6. Fichier de description README.md placé dans le dossier racine du projet
Encodage et compilation
Avant d’envoyer votre projet, prenez une minute pour le vérifier :
- tous les fichiers de l’article ont été ajoutés ;
- le fichier .mq5 principal est en place ;
- le fichier README.md se trouve à la racine ;
- le projet se compile sans erreur ;
- les anciens fichiers texte (si vous les reprenez d’une archive) sont enregistrés en UTF-8.

7. Enregistrement de tous les fichiers du projet en UTF-8
Si le projet comporte un seul fichier compilé principal, vous pouvez le compiler en faisant un clic droit sur le nom du projet dans la fenêtre Navigateur, puis en sélectionnant la commande Compiler dans le menu contextuel.
Si le projet contient plusieurs fichiers compilés, chacun doit être compilé séparément, sinon on obtient une erreur de compilation.

8.1 Vérification de la compilation du projet

8.2 S’il y a plusieurs fichiers exécutables à compiler, compilez-les séparément
Commit et synchronisation avec Git
Ajoutez les nouveaux fichiers à Git avec la commande Git Add File/Folder, puis cliquez sur Git Commit. Rédigez un message de commit court et clair, qui indique ce que vous avez ajouté ou mis à jour. Ne laissez pas ce champ vide. De bons commentaires vous aideront, vous et vos lecteurs, à comprendre rapidement l’historique du projet par la suite.
Dans un scénario classique, cette étape suffit : MetaEditor enregistre l’état actuel du projet par un commit et envoie les modifications vers le cloud. Si le projet existe déjà et que vous continuez à travailler dessus, effectuez d’abord un Git Pull, puis ajoutez vos modifications. Vous éviterez ainsi des conflits inutiles entre vos versions locale et cloud.

9.1 Avant de commencer à travailler sur un projet, récupérez (pull) les modifications du dépôt

9.2 Une fois terminé, envoyez (push) vos modifications locales vers le dépôt

9.3 Indiquez systématiquement un message pour chaque commit
Mode public
Une fois le projet prêt et synchronisé, ouvrez sa version web dans Algo Forge et rendez-le public. D’ici là, il peut rester privé. Publiez votre projet une fois que vous êtes sûr qu’il contient tout le code, un README et une structure fonctionnelle.

10. Si le projet doit être public, décochez la case du projet privé
Projets sur plusieurs articles
Si vous avez une série d’articles sur une même bibliothèque, un même indicateur ou un même EA, ne vous contentez pas d’uploader la dernière version sans contexte. Ajoutez les versions une à une, du premier article au dernier, et créez si nécessaire les releases correspondantes dans l’interface web d’Algo Forge. Le lecteur verra ainsi immédiatement quelle version du projet correspond à quel article.

11. Pour chaque article de la série, créez une nouvelle release du dépôt afin de conserver l’historique de développement du projet
Liste de contrôle
Avant de terminer, vérifiez que :
- le projet a été créé dans Projets partagés ;
- le nom du projet est correct ;
- tous les fichiers de l’article ont été ajoutés ;
- la structure du projet est lisible et ne prête pas à confusion ;
- le fichier README.md se trouve à la racine ;
- le projet se compile ;
- les modifications ont fait l’objet d’un commit et ont été envoyées vers Algo Forge ;
- si nécessaire, le projet est ouvert au public.
Conclusion
Ne laissez pas le code de l’article comme simple annexe de la publication. Transformez-le en projet. Votre contenu sera plus utile, sa maintenance plus simple, l’historique des révisions sera conservé et les lecteurs disposeront d’un point d’entrée pratique vers votre travail. L’article explique l’idée. Le projet MQL5 Algo Forge montre cette idée en action.
Pour une présentation détaillée de MQL5 Algo Forge, consultez les ressources suivantes :
- Démarrer avec MQL5 Algo Forge : un guide de base pour démarrer rapidement ;
- Code, larmes et Algo Forge : le passage à Algo Forge avec des exemples pratiques ;
- la série « Passer à MQL5 Algo Forge » :
Traduit du russe par MetaQuotes Ltd.
Article original : https://www.mql5.com/ru/articles/22699
Avertissement: Tous les droits sur ces documents sont réservés par MetaQuotes Ltd. La copie ou la réimpression de ces documents, en tout ou en partie, est interdite.
Comment Échanger des Données : Une DLL pour MQL5 en 10 minutes
Des matrices aux modèles : comment construire un pipeline ML en MQL5 et l’exporter au format ONNX
L'Histogramme des prix (Profile du Marché) et son implémentation en MQL5
La puissance de MetaTrader 5 : du débogage pas à pas à la protection des fichiers EX5 dans un environnement unifié
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Именование
Utilisez le nom que nous vous communiquerons. Si aucun nom n'a encore été attribué, respectez un schéma clair :
Par exemple : Article-21732-Code-Tears-And-Algo-Forge. Un tel nom établit immédiatement un lien entre le projet et l'article et facilite la navigation.
Merci de ne pas en faire une règle obligatoire pour les personnes qui ont leurs propres idées sur l'organisation des dépôts.
Voici mon idée. J’ai créé une organisation qui regroupera les dépôts liés à une même série d’articles. C’est comme un « dossier » qui regroupe des dépôts liés entre eux, ajoute du contexte et permet de donner des noms concis aux dépôts. Lorsque vous ouvrez l’organisation, tous les dépôts relatifs à la série d’articles (et uniquement ceux-là) y sont soigneusement regroupés.
Par exemple : Article-21732-Code-Tears-And-Algo-Forge. Un tel nom établit immédiatement un lien entre le projet et l'article et facilite la navigation.
Voici comment cela se passe chez moi :
C’est pourquoi ce schéma ne me convient absolument pas.
L'idée en elle-même est bonne et conviendra parfaitement à la plupart des auteurs (je pense). Mais je demande qu'il soit permis de ne pas s'y conformer si une personne peut expliquer de manière argumentée pourquoi cela ne lui convient pas.
Типизация
On peut alors les répartir dans plusieurs dépôts (le plus souvent).
Une idée pour ceux qui ont suffisamment d’enthousiasme et de discipline pour s’y atteler.
Merci
Merci de ne pas en faire une norme obligatoire pour les personnes qui ont leurs propres idées sur l'organisation des référentiels.