English Русский 中文 Español Deutsch 日本語 Português 한국어 Italiano Türkçe
preview
Démarrer avec MQL5 Algo Forge

Démarrer avec MQL5 Algo Forge

MetaTrader 5Exemples |
1 014 20
MetaQuotes
MetaQuotes

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.


Bienvenue sur MQL5 Algo Forge !


Liens utiles :

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

Derniers commentaires | Aller à la discussion (20)
Yuriy Bykov
Yuriy Bykov | 5 sept. 2025 à 12:33
Fernando Carreiro #:

À 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

Yuriy Bykov
Yuriy Bykov | 5 sept. 2025 à 12:49
Fernando Carreiro #:

À 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.

Fernando Carreiro
Fernando Carreiro | 5 sept. 2025 à 13:00
@Yuriy Bykov #:

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).

Vladislav Boyko
Vladislav Boyko | 5 sept. 2025 à 13:22
Fernando Carreiro #:
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!😁

Yuriy Bykov
Yuriy Bykov | 5 sept. 2025 à 14:25
Fernando Carreiro #:

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.

Tester différents types de Moyennes Mobiles pour voir leur pertinence Tester différents types de Moyennes Mobiles pour voir leur pertinence
Nous connaissons tous l'importance de l'indicateur des Moyennes Mobiles (Moving Average en anglais) pour de nombreux traders. Il existe d'autres types de Moyennes Mobiles qui peuvent s'avérer utiles pour le trading. Nous allons les identifier dans cet article et faire une comparaison simple entre chacun et une Moyenne Mobile Simple, la version la plus populaire, afin de voir lequel peut donner les meilleurs résultats.
Tout ce qu'il faut savoir sur la structure d’un programme MQL5 Tout ce qu'il faut savoir sur la structure d’un programme MQL5
Tout programme, quel que soit le langage de programmation, a une structure spécifique. Dans cet article, vous apprendrez les parties essentielles de la structure d’un programme MQL5 en comprenant les bases de la programmation de chaque partie, ce qui peut être très utile lors de la création de notre système de trading MQL5 ou d'un outil de trading pouvant être exécuté dans MetaTrader 5.
La théorie du chaos dans le trading (1ère partie) : Introduction, application aux marchés financiers et exposant de Lyapunov La théorie du chaos dans le trading (1ère partie) : Introduction, application aux marchés financiers et exposant de Lyapunov
La théorie du chaos peut-elle être appliquée aux marchés financiers ? Dans cet article, nous examinerons en quoi la théorie conventionnelle du chaos et les systèmes chaotiques diffèrent du concept proposé par Bill Williams.
Comprendre les fonctions dans MQL5 avec des applications Comprendre les fonctions dans MQL5 avec des applications
Les fonctions sont des éléments essentiels dans tout langage de programmation : elles aident les développeurs à appliquer le concept DRY, qui signifie ne vous répétez pas, et présentent bien d'autres avantages. Dans cet article, vous trouverez beaucoup plus d'informations sur les fonctions, et sur comment créer nos propres fonctions en MQL5 avec des applications simples pouvant être utilisées ou appelées dans n'importe quel système de votre choix pour l’enrichir sans compliquer les choses.