English Русский 한국어 Italiano Türkçe
preview
Publiez le code de votre article sur MQL5 Algo Forge en 10 minutes : guide pas à pas

Publiez le code de votre article sur MQL5 Algo Forge en 10 minutes : guide pas à pas

MetaTrader 5 — Exemples |
19 5
MetaQuotes
MetaQuotes

Sommaire


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.
Ne négligez pas ce dernier point. C’est important pour les projets publics : si l’encodage est incorrect, l’historique des modifications risque de ne pas s’afficher correctement.

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 :

Traduit du russe par MetaQuotes Ltd.
Article original : https://www.mql5.com/ru/articles/22699

Derniers commentaires | Aller à la discussion (5)
Vladislav Boyko
Vladislav Boyko | 26 mai 2026 à 12:49

Именование

Utilisez le nom que nous vous communiquerons. Si aucun nom n'a encore été attribué, respectez un schéma clair :

[Тип материала]-[ID статьи]-[Краткая тема]

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.

Vladislav Boyko
Vladislav Boyko | 26 mai 2026 à 12:58
[Тип материала]-[ID статьи]-[Краткая тема]

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 :

  • Un même dépôt peut être développé successivement dans plusieurs articles.
  • Plusieurs dépôts peuvent être associés à un même article.

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.

Vladislav Boyko
Vladislav Boyko | 26 mai 2026 à 13:15

Типизация

  • Vide — si l'article contient de nombreux fichiers qui doivent être compilés séparément...

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.

Max Brown
Max Brown | 27 mai 2026 à 12:51
Ça va vraiment m'aider à m'organiser à l'avenir, et je vais le mettre en place ce week-end.

Merci
Rashid Umarov
Rashid Umarov | 27 mai 2026 à 14:23
Vladislav Boyko #:
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.
Vous pouvez utiliser votre propre schéma, qui reflète bien la structure des articles/projets.
Comment Échanger des Données : Une DLL pour MQL5 en 10 minutes Comment Échanger des Données : Une DLL pour MQL5 en 10 minutes
Maintenant, peu de développeurs se rappellent de la façon d'écrire une DLL simple et des caractéristiques spéciales des différentes liaisons système. À l'aide de plusieurs exemples, je vais tenter de montrer l'ensemble du processus de création de la DLL simple en 10 minutes, ainsi que de discuter de certains détails techniques de notre implémentation de liaison. Je vais montrer étape par étape le processus de la création de DLL dans Visual Studio avec des exemples d'échange de différents types de variables (nombres, tableaux, chaînes, etc.). En outre, je vais vous expliquer comment protéger votre terminal client des plantages dans les DLL personnalisées.
Des matrices aux modèles : comment construire un pipeline ML en MQL5 et l’exporter au format ONNX Des matrices aux modèles : comment construire un pipeline ML en MQL5 et l’exporter au format ONNX
L’article décrit la mise en place d’un pipeline ML coordonné dans MetaTrader 5, avec une séparation des rôles : Python entraîne le modèle et l’exporte au format ONNX, tandis que MQL5 reproduit la normalisation et l’ACP à l’aide de matrix/vector et effectue l’inférence. Cette approche rend les entrées du modèle stables et vérifiables, et le Testeur de Stratégie de MetaTrader 5 fournit des métriques pour analyser le comportement du système.
L'Histogramme des prix (Profile du Marché) et son implémentation  en MQL5 L'Histogramme des prix (Profile du Marché) et son implémentation en MQL5
Le Profile du Marché a été élaboré par le brillant penseur Peter Steidlmayer. Il a suggéré l’utilisation de la représentation alternative de l'information sur les mouvements de marché « horizontaux » et « verticaux » qui conduit à un ensemble de modèles complètement différent. Il a assumé qu'il existe une impulsion sous-jacente du marché ou un modèle fondamental appelé cycle d'équilibre et de déséquilibre. Dans cet article, j’examinerai l'Histogramme des Prix - un modèle simplifié de profil de marché, et décrirai son implémentation dans MQL5.
La puissance de MetaTrader 5 : du débogage pas à pas à la protection des fichiers EX5 dans un environnement unifié La puissance de MetaTrader 5 : du débogage pas à pas à la protection des fichiers EX5 dans un environnement unifié
Cet article examine une approche globale du développement d’algorithmes de trading : de la configuration du projet et du débogage logique à la protection du produit fini. Nous explorerons les outils intégrés de MetaEditor, notamment le débogage pas à pas à l’aide de ticks réels, le profilage des performances et l’intégration directe avec les DLL C++ pour accélérer les calculs. L’article explique également comment protéger la propriété intellectuelle à l’aide de MQL5 Cloud Protector. L’application des techniques décrites transformera le développement des Expert Advisors d’une recherche chaotique de solutions en un processus systématique, réduisant considérablement le temps nécessaire à l’élaboration d’une stratégie.