Démarrer avec MQL5 Algo Forge
Le nouveau site MQL5 Algo Forge est plus qu'une simple liste de vos projets : c'est un véritable réseau social pour les développeurs. Vous pouvez facilement suivre les modifications, conserver l'historique du projet, vous connecter avec des professionnels partageant les mêmes idées et découvrir de nouvelles idées. Vous pouvez y suivre des auteurs intéressants, former des équipes et collaborer à des projets de trading algorithmique.
MQL5 Algo Forge est construit sur Git, le système moderne de contrôle de version. Il fournit à chaque développeur un ensemble d'outils puissants permettant de suivre l'historique des projets, de créer des branches, d'expérimenter et de travailler en équipe. Mais comment cela fonctionne-t-il ? Dans cet article, nous allons vous expliquer comment démarrer avec MQL5 Algo Forge.

Qu'est-ce qu'un Dépôt (Repository) dans MQL5 Algo Forge ?
Le développement d'un logiciel est généralement un processus long qui nécessite du temps et du débogage. Le code doit non seulement être rédigé et mis à jour, mais aussi stocké en toute sécurité. Les algorithmes de trading modernes vont bien au-delà des simples croisements de moyennes mobiles. Ils s'appuient sur des bibliothèques mathématiques, des réseaux neuronaux et l'apprentissage automatique. Les développeurs ont donc besoin d'un moyen pratique pour enregistrer rapidement les modifications et accéder au code actualisé où qu'ils se trouvent.
MQL5 Storage est le système de contrôle de version intégré à MetaEditor. Il utilisait auparavant Subversion 1.7, un système de contrôle de version centralisé dans lequel tout l'historique était stocké sur les serveurs de MetaQuotes. Sans connexion internet, il n'était pas possible de valider des modifications, de revenir à des versions antérieures ou de consulter l'historique. Aujourd'hui, il a été entièrement remplacé par une solution plus puissante et plus flexible – MQL5 Algo Forge.
Aujourd'hui, MQL5 Algo Forge fonctionne différemment :
| MQL5 Algo Forge (basé sur Git) | MQL5 Storage (legacy) | |
|---|---|---|
| Stockage de l'historique | Local et en nuage | MetaQuotes cloud uniquement |
| Travail hors ligne | Complet (commits, rollbacks, diff) | Limité ou indisponible |
| Vitesse de fonctionnement | Instantané, local | Dépend du réseau/serveur |
Algo Forge vous offre la liberté. Vous pouvez travailler hors ligne dans un train, créer des branches expérimentales, enregistrer les résultats intermédiaires et les fusionner ultérieurement dans la branche principale.
Un référentiel de projet dans Algo Forge n'est pas un simple dossier sur le cloud. Il s'agit d'un dépôt Git structuré qui existe sur votre disque local et se synchronise avec le serveur cloud MQL5 Algo Forge. Il se compose de plusieurs couches :
Répertoire de Travail dans MetaEditor
| | Vos fichiers .MQ5, .MQH, .SET et autres fichiers que vous éditez dans MetaEditor. C'est ici que vous écrivez le code de l’Expert Advisor, que vous connectez les indicateurs et que vous testez les stratégies. Tant que vous n'ajoutez pas explicitement des modifications, Algo Forge ne les suit pas. |
Zone de Staging (Index)
| | Avant d'enregistrer les modifications dans l'historique du projet, vous devez les préparer. La commande ’Git Add’ permet de sélectionner les fichiers à inclure dans la prochaine livraison. Cela vous permet de regrouper les modifications de manière logique - par exemple, en enregistrant les ajustements de la logique de trading séparément des mises à jour de l'interface ou de la configuration. |
Dépôt Local
| | Une fois que vous avez validé les modifications avec 'Git Commit', Algo Forge stocke un instantané de vos fichiers dans le dépôt local sur votre ordinateur. À tout moment, vous pouvez consulter les versions précédentes, revenir à un état antérieur ou analyser les modifications qui ont affecté les performances de votre Expert Advisor. |
Dépôt distant dans MQL5 Algo Forge
| | Lorsque vous êtes prêt, vous pouvez envoyer les modifications au serveur MQL5 Algo Forge à l'aide de la commande ’Git Push’. Cela permet de créer une sauvegarde sécurisée et de mettre vos modifications à la disposition des membres de l'équipe. Même si vous travaillez seul, c'est utile : votre code est stocké en toute sécurité dans le cloud et l'historique de votre projet reste intact. |
Comment se connecter à MQL5 Algo Forge ?
Pour commencer à travailler avec MQL5 Algo Forge, vous n’avez besoin que d’un compte MQL5. Il vous suffit de vous connecter à l'aide de vos identifiants à l'adresse https://forge.mql5.io/.

Une fois connecté, vous pouvez explorer toutes ses fonctionnalités. Les projets publics sont disponibles dans la section Explore, où vous pouvez parcourir les projets, étudier leur code, partager votre propre travail et collaborer avec d'autres.

Cependant, la plupart de vos travaux de développement se dérouleront dans l'environnement MetaEditor. Pour connecter MetaEditor à MQL5 Algo Forge, il suffit de se connecter avec les identifiants de votre compte MQL5 dans l'onglet Community.

Qu'est-ce que Git et comment fonctionne-t-il dans MQL5 Algo Forge ?
Git est un système de contrôle de version qui enregistre l'aspect de vos fichiers à différents moments. Il permet d'éviter la perte de modifications importantes, facilite le retour en arrière, prend en charge la création de branches pour les expériences et permet à plusieurs développeurs de collaborer sur le même projet.
Dans MetaEditor, vous ne travaillez pas directement avec les commandes Git – tout est géré par une interface conviviale. Mais sous le capot, Git exécute quelques opérations essentielles. Décomposons-les et voyons ce qui se passe lorsque vous utilisez les commandes correspondantes dans MetaEditor.
Créons un nouveau projet "Base_EA" dans le dossier des projets publics.

Cliquez avec le bouton droit de la souris sur le fichier du projet pour afficher les commandes Git disponibles.

1. Git Add File/Folder — Mise sous contrôle des changements
Lorsque vous modifiez des fichiers, Git ne les suit pas automatiquement. Pour indiquer au système que vous souhaitez enregistrer ces modifications, vous ajoutez des fichiers à l'index. Cela peut être fait via ’Git Add File/Folder’ ou lors de la sélection des fichiers pour un commit.
Git prend un instantané de l'état actuel du fichier et le prépare à l'enregistrement, comme le fait de placer des documents dans un dossier "À signer".
2. Git Commit — Sauvegarde d'un instantané du projet
Cliquer sur ’Git Commit’ dans MetaEditor permet de capturer l'état actuel de votre projet et de l'enregistrer dans l'historique des versions.
Voici ce qui se passe :
- Git compare vos modifications avec les fichiers précédents.
- Il ne stocke que les différences (pour économiser de l'espace).
- Les modifications sont écrites dans un dossier .git caché.
- La livraison reçoit un identifiant SHA-1 unique.
Une livraison est essentiellement un point de contrôle, montrant comment le projet se présentait à ce moment-là. Vous pouvez toujours revenir à un tel point plus tard et continuer à partir de là.
3. Git Push — Envoi vers le Cloud MQL5 Algo Forge
Lorsque vous sélectionnez ’Git Push’, vos modifications locales sont envoyées sur le serveur MQL5 Algo Forge.
C'est comme si vous téléchargiez une nouvelle version de votre projet sur le cloud, mais avec un historique complet des modifications.
Pour des raisons de commodité, MetaEditor effectue automatiquement un ’Git Push’ juste après un ’Git Commit’. Cela garantit que votre version actuelle est toujours synchronisée avec le cloud. Si la transmission des modifications au serveur échoue pour une raison quelconque, vous pouvez exécuter manuellement la commande "Git Push".
4. Git Pull — Récupérer la dernière version
Lors d'une collaboration, quelqu'un d'autre peut mettre à jour le projet avant vous. Vous pouvez également valider des modifications à partir d'un ordinateur et continuer à travailler sur un autre (ou sur le même ordinateur, mais dans un terminal différent). Pour récupérer ces mises à jour, utilisez 'Git Pull', qui récupère toutes les modifications depuis Forge.
Git téléchargera les nouvelles modifications depuis le cloud et les fusionnera avec votre version locale.
5. Git Branch — Brancher et expérimenter en toute sécurité
Il arrive que l'on veuille tester des idées sans affecter le projet principal. Cela peut se faire par l'intermédiaire de branches. Par exemple, vous pouvez créer une branche pour tester un indicateur différent ou ajouter un filtre à votre stratégie. Chaque branche a son propre nom et vous pouvez passer de l'une à l'autre librement.
Une branche est simplement une ligne de développement parallèle. Vous pouvez expérimenter autant que vous le souhaitez, puis soit le rejeter, soit le fusionner avec la branche principale.
6. Git Difference — Examen des modifications de fichiers
Cette commande montre exactement ce qui a été modifié dans un fichier (ligne par ligne) avant la validation. Elle ouvre un panneau de comparaison mettant en évidence les lignes ajoutées, supprimées ou modifiées.
7. Git Log — Visualisation de l'historique du projet
La commande ’Git Log’ liste toutes les livraisons avec leur date, leur auteur et le message de livraison. Vous disposez ainsi d'une chronologie claire de l'évolution du projet et vous pouvez savoir qui a modifié quoi et quand.
8. Git Revert — Annuler un commit
’Git Revert’ crée un nouveau commit qui annule l'effet d'un commit précédent sans l'effacer de l'historique. C'est le moyen le plus sûr d'annuler les modifications. Mais cela ne fonctionne proprement que sur le dernier commit.
Cette commande peut être particulièrement utile si vous remarquez qu'un commit a cassé l'Expert Advisor : vous pouvez rapidement l'annuler sans affecter les autres commits. Cependant, si le commit annulé affecte le même code que les commits ultérieurs, un conflit de fusion peut se produire, qui doit être résolu manuellement.
Pratiques de sécurité pour travailler avec des projets
L'un des problèmes les plus courants en matière de contrôle de version est le conflit entre les versions locales et les versions distantes. Pour les éviter, il suffit de suivre des règles simples : Récupérez toujours le code avant tout. Lorsque vous ouvrez un projet pour continuer à travailler, exécutez ’Git Pull’ pour vous assurer que vous disposez de la dernière version.

Une autre règle est de toujours faire le commit et le push en dernier. Lorsque vous avez fini de travailler, lancez 'Git Commit' (avec le push automatique) pour envoyer vos mises à jour dans le cloud. En suivant ces habitudes, votre flux de travail restera fluide et sans conflit, tout en garantissant la sécurité de votre code.
MQL5 Algo Forge — Tout ce dont vous avez besoin pour une gestion de projet fiable
Il n'est pas nécessaire de saisir manuellement les commandes Git. Tout est intégré dans MetaEditor :
- Ajout de fichiers, validation et branchement — via le menu contextuel du projet.
- Push and Pull — seulement deux boutons pour la synchronisation avec le cloud.
- Branch et Revert — des commandes simples pour le contrôle du développement.
- Historique des modifications — disponible sous la forme d'un journal clair et intégré.
Ces 8 commandes sont tout ce dont vous avez besoin pour utiliser MQL5 Algo Forge en toute confiance. Elles offrent un développement structuré, une expérimentation sûre, un soutien au travail d'équipe et une protection complète contre la perte de données.
Commencez dès aujourd'hui
MQL5 Algo Forge est plus qu'un simple stockage — c'est un système complet de gestion de projet pour les traders algorithmiques. Il vous permet de suivre chaque modification, d'expérimenter sans risque, de collaborer en équipe et de maintenir un code stable et fiable.
Si Git vous a semblé trop complexe, MQL5 Algo Forge le simplifie. MetaEditor intègre les commandes essentielles, afin que vous puissiez vous concentrer sur l'écriture du code, l'enregistrement de la progression et la préparation à tout retour en arrière.
Liens utiles :
Traduit du russe par MetaQuotes Ltd.
Article original : https://www.mql5.com/ru/articles/18518
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.
La théorie du chaos dans le trading (1ère partie) : Introduction, application aux marchés financiers et exposant de Lyapunov
- 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


À titre de test, j'ai ajouté une description de la publication Heikin Ashi en tant que fichier README au format Markdown et je l'ai intégré au dépôt.
Veuillez vérifier si vous avez reçu une notification de ce changement et si vous pouvez mettre à jour la fourche.
J'ai vu cela dans l'interface web du dépôt :
J'essaierai de mettre à jour la fourche plus tard
À titre de test, j'ai ajouté une description de la publication Heikin Ashi en tant que fichier README au format Markdown et je l'ai intégré au dépôt.
Veuillez vérifier si vous avez reçu une notification de ce changement et si vous pouvez mettre à jour la fourche.
Tout d'abord, mon clone local n'a pas encore le dernier commit :
Connecter le dépôt original, selon la documentation Git :
Je vais sur l'interface web de la fourche et je vois ceci :
Je clique sur le bouton "Sync" et je fais un Pull dans MetaEditor :
Comme vous pouvez le voir, tous vos commits étaient en sécurité dans la fourche et après Pull dans le clone de la fourche sur mon ordinateur local.
Sur cette page de documentation, il y a d'autres façons de synchroniser en utilisant les commandes de la console, mais je ne les ai pas testées, car tous les commits sont déjà synchronisés.
J'expérimenterai plus tard pour voir comment les commandes Commit et Push de MetaEditor se comporteront pour le fork. Je me demande s'il essaiera d'envoyer les modifications au dépôt original également.
Tout d'abord, mon clone local n'a pas encore le dernier commit :
Connecter le dépôt original, selon la documentation Git :
Je vais sur l'interface web du fork et je vois ceci :
Je clique sur le bouton "Sync" et je fais un Pull dans MetaEditor :
Comme vous pouvez le voir, tous vos commits étaient en sécurité dans la fourche et après Pull dans le clone de la fourche sur mon ordinateur local.
Sur cette page de la documentation, il y a d'autres façons de synchroniser en utilisant les commandes de la console, mais je ne les ai pas testées, parce que tous les commits sont déjà synchronisés.
Tout cela est très bien, mais vous avez prouvé mon point de vue qu'un "Clone" et un "Fork" ne sont pas les mêmes, et la méthode que MetaQuotes a adoptée nécessite une intervention supplémentaire en dehors de MetaEditor juste pour être en mesure de synchroniser le projet.
Sans compter qu'elle nécessite un espace de stockage supplémentaire sur les serveurs d'AlgoForge, pour les "forks", alors qu'un "clone" ne nécessite pas de stockage supplémentaire ni d'étapes supplémentaires.
Je considère que les implémentations de MetaQuotes sont trop "défectueuses" pour être utilisées efficacement et je continuerai à utiliser un client Git externe, ou à utiliser VSCode (qui fonctionne parfaitement avec AlgoForge sans aucun problème).
Je considère que les implémentations de MetaQuotes sont trop "imparfaites" pour une utilisation efficace et je continuerai à utiliser un client Git externe, ou à utiliser VSCode (qui fonctionne parfaitement avec AlgoForge sans aucun problème).
Nous sommes heureux de vous accueillir dans notre communauté d'utilisateurs de clients Git externes!😁
Je trouve l'implémentation de MetaQuotes trop "imparfaite" pour l'utiliser efficacement et je continuerai à utiliser un client Git externe ou VSCode (qui fonctionne parfaitement avec AlgoForge sans aucun problème).
Malheureusement, c'est effectivement le cas pour l'instant. Je préfère moi aussi utiliser un client externe pour le moment. Mais si vous comparez ce qui a été ajouté à MetaEditor au cours des 5 derniers mois, c'est un progrès notable. C'est juste qu'avant il n'y avait pas du tout d'outils pour travailler avec le nouveau dépôt, et maintenant il y a au moins une version réduite.