Aide MetaEditorProjets et MQL5 StorageTravailler avec le MQL5 Storage

Travailler avec le MQL5 Storage

Le MQL5 Storage (ou dépôt) ne fonctionne qu'avec le répertoire MQL5 (ou MQL4) de la plateforme de trading, et avec le répertoire spécial Shared Projects, qui est utilisé pour les projets de groupe.

Toutes les opérations sur le MQL5 Storage sont effectuées via le menu contextuel de la fenêtre du Navigateur et de l'éditeur de code source :

Menu MQL5 Storage

Grâce aux commandes, vous pouvez effectuer les actions suivantes sur le MQL5 Storage :

Pour commencer #

Le dépôt conserve les informations sous la forme d'un arbre de fichiers. Lorsqu'il se connecte au Storage, un utilisateur de MetaEditor lit et écrit ces fichiers. L'utilisateur travaille toujours avec une copie locale des données, et si nécessaire, les envoie sur le Storage.

Pour commencer à travailler avec les données du MQL5 Storage, vous devez associer un répertoire de données local avec le dossier correspondant du dépôt :

  • Si vous avez juste créé le dépôt, il est vide. Vous devez y ajouter un répertoire. Après cela, un répertoire correspondant sera créé pour le répertoire spécifié dans le dépôt (au même chemin relatif au dossier /MQL5). C'est le répertoire racine. Toutes les opérations sur les fichiers sont effectuées dans ce répertoire.
  • Si le dépôt a déjà des données, téléchargez-les dans un répertoire local. Pour cela, cliquez sur "Rafraîchir du Dépôt Rafraîchir les fichiers du Dépôt" dans le menu contextuel de l'élément racine MQL5 (ou MQL4) du Navigateur.

Stockage versionné des données

Le contrôle de version est implémenté pour les répertoires/fichiers associés au dépôt, donc les répertoires/fichiers ont une version, c'est à dire un numéro de révision. Un numéro de révision correspond à chaque mise à jour des données. Chaque fois que vous mettez à jour un répertoire/fichier du dépôt, son numéro de révision est incrémenté ainsi que celui du répertoire racine en entier. Une révision est l'état d'un répertoire/fichier à un moment donné.

Les répertoires racines sont le dossier MQL5/MQL4 et les dossiers de chaque projet partagé. Les révisions sont gérées séparément pour chaque répertoire racine, afin qu'ils aient des numéros de révisions individuels. Lorsque vous publiez des changements dans le répertoire MQL5, son numéro de révision est augmenté, alors que le numéro de révision des projets ne change pas (sauf si les projets utilisent des fichiers partagés du répertoire MQL5).

Schéma général des opérations :

  • Lorsque vous ajoutez un fichier au dépôt MQL5 ou que vous le récupérez du dépôt sur un PC local, ses versions (numéro de révision) sur l'ordinateur et sur le dépôt correspondront.
  • Les numéros de révision du fichier local (la copie de travail) et du fichier correspondant dans le dépôt sont initialement égaux. Ce qui arrive si vous venez juste d'ajouter un fichier ou de l'avoir récupéré du dépôt.
  • Si vous changez le fichier et que vous publiez les changements dans le dépôt, le numéro de révision sera augmenté à la fois localement et dans le dépôt.
  • Lorsque vous publiez des changements, il se peut que le fichier ait déjà été édité par quelqu'un d'autre et que le numéro de révision du dépôt est supérieur à celui en local. Dans ce cas, vous devrez récupérer les changements depuis le dépôt avant d'envoyer les vôtres. Le MQL5 Storage essaiera de fusionner les changements dans le dépôt et dans votre fichier local. Dans ce cas, le numéro de révision du fichier local sera défini égal au numéro de révision du fichier dans le dépôt.

Chaque transaction de changements est enregistrée dans le journal du Dépôt, afin que par la suite, l'utilisateur puisse voir quand, par qui et quels fichiers ont été changés. L'utilisateur peut également mettre à jour le copie locale des données à une révision sélectionnée et annuler les changements pour revenir à une révision sélectionnée.

Ajouter au Dépôt #

Pour ajouter un dossier ou un fichier au dépôt, sélectionnez-le et exécutez la commande Ajouter un Fichier ou un Répertoire Ajouter un Fichier ou un Répertoire. Ceci ouvrira une boîte de dialogue affichant la liste des dossiers et des fichiers à ajouter.

  • Les fichiers sont ajoutés localement. Pour envoyer les changements dans le dépôt, exécutez Publier (commit) vers le Dépôt Publier (commit) vers le Dépôt.
  • Le MQL5 Storage ne fonctionne qu'avec les types de fichiers suivants : mq4, mq5, mqh, cpp, h, bmp, wav, ex4, ex5, tpl et set. Les autres types de fichiers ne peuvent pas être ajoutés au dépôt.
  • Les fichiers dont la taille est supérieure à 64 Mo ne peuvent pas être ajoutés au dépôt.

Ajouter un dossier au Dépôt

Cochez les fichiers et dossiers désirés et cliquez sur OK.

  • Le principe des opérations de stockage ne permet pas d'ajouter des fichiers sans le dossier dans lequel ils sont situés. Vous ne pouvez pas ajouter un fichier situé dans un dossier qui n'est pas ajouté dans le dépôt.
  • Vous ne pouvez pas ajouter des fichiers individuels au répertoire racine /MQL4 ou /MQL5.
  • Dans le répertoire associé au dépôt, seuls ses répertoires enfants peuvent être ajoutés. Les dossiers qui sont en-dessous dans la hiérarchie ne peuvent pas être ajoutés sans leur dossier parent.

Les fichiers et les dossiers ajoutés sont marqués avec Ajouté au Dépôt :

Fichier et dossiers ajoutés

Ces changements doivent ensuite être envoyés sur le dépôt. Sélectionnez le répertoire/fichier ajouté et exécutez Publier (commit) vers le Dépôt Publier vers le Dépôt.

Publier (commit) vers le Dépôt

Dans cette boîte de dialogue, vous pouvez également choisir les changements à envoyer sur le dépôt. Vous pouvez ajouter un commentaire sans publier les changements. Des commentaires détaillés facilitent l'analyse des changements dans le futur.

Après avoir publié les changements courants vers le dépôt, les dossiers et les fichiers correspondants sont marqués avec Aucun changement. Cela signifie que la copie locale des données n'est pas différente de celle du dépôt au moment de la dernière opération de commit ou de mise à jour.

  • Si un dossier correspondant à celui que vous ajoutez existe déjà sur le dépôt, l'erreur "Folder already exists, update it from storage" ("Le dossier existe déjà, mettez-le à jour depuis le dépôt") sera affiché. Pour ce type de dossier, sélectionnez Rafraîchir du Dépôt Rafraîchir du Dépôt. Après cela, il sera lié au Dépôt, et les données du dépôt y seront ajoutées. Vous pouvez alors envoyer vos changements sur le dépôt en utilisant la commande Publier (commit) vers le Dépôt Publier (commit) vers le Dépôt.
  • Si la taille du fichier est supérieure à 1 Mo, il est automatiquement enlevé de la boîte de dialogue du commit. Téléchargez les gros fichiers avec attention pour éviter de surcharger le système de stockage.

Checkout et mise à jour depuis le MQL5 Storage #

L'extraction initiale des données est exécutée lorsque le dépôt est activaté dans MetaEditor. Lorsque vous exécutez la commande Activer le MQL5 Storage Activer le MQL5 Storage, MetaEditor vérifiera si le Dépôt contient des données.

  • Si le Dépôt contient des données du répertoire MQL5 (MQL4), elles seront instantanément téléchargées sur l'ordinateur.
  • Si le Dépôt contient des projets partagés disponibles, ils apparaîtront dans la section des Projets Partagés. Pour télécharger les fichiers du projet sur un ordinateur local, cliquez sur Rafraîchir du Dépôt Rafraîchir du Dépôt depuis le menu contextuel du projet.

Les mises à jour ultérieures peuvent être récupérées du Dépôt en utilisant la commande Rafraîchir du Dépôt Rafraîchir du Dépôt du menu contextuel des fichiers et des dossiers du Navigateur.

Si le dépôt contient des dossiers qui n'existent pas dans votre copie de travail locale, exécutez Rafraîchir du Dépôt sur l'élément racine MQL5 (ou MQL4) dans la fenêtre du Navigateur. Toutes les données du Dépôt seront téléchargées dans les dossiers locaux correspondants. Le numéro de révision des données correspondra à la révision des données du dépôt.

Mettre à jour les données

Si un dossier local contient des données, alors pendant le checkout, les données obtenues du dépôt y seront ajoutées. Les nouveaux fichiers seront ajoutés. Pour les fichiers avec des noms et des chemins correspondants, il essaiera de fusionner les données.

Mettre à jour à une révision #

Le MQL5 Storage stocke l'historique entier des changements publiés par les utilisateurs du dépôt. Chaque publication (commit) de changements est une nouvelle révision (état du dépôt à un moment donné). Lors de l'utilisation en parallèle par plusieurs utilisateurs des données du dépôt, vous devez récupérer régulièrement les changements des autres utilisateurs. Mettre à Jour à une Révision Mettre à Jour à une Révision vous permet de mettre à jour graduellement la copie locale des données du dépôt.

Par exemple, depuis la dernière mise à jour de la copie locale des données, 3 nouvelles versions sont apparues dans le dépôt. Vous pouvez d'abord mettre à jour à la 1ère révision, ensuite à la seconde puis à la troisième.

Pour mettre à jour à une révision spécifique, sélectionnez un fichier ou un dossier et ouvrez le journal du dépôt en cliquant sur Afficher le Journal du Dépôt Afficher le Journal du Dépôt dans le menu contextuel.

Mettre à jour à une révision

Dans la fenêtre qui s'ouvre, sélectionnez la révision sélectionnée et exécutez la commande Mettre à Jour à une Révision Mettre à Jour à une Révision.

  • Une copie locale des données ne peut être mise à jour qu'à une révision supérieure (plus récente).
  • Les données obtenues du dépôt sont ajoutées à la copie locale. Pour les fichiers avec des noms et des chemins correspondants, il essaiera de fusionner les données. Si des fichiers ont été ajoutés à une révision, ils seront ajoutés à la copie locale. Si des fichiers ont été supprimés d'une révision, ils seront supprimés de la copie locale.

Revenir à une révision #

Le MQL5 Storage stocke l'historique entier des changements publiés par les utilisateurs du dépôt. Chaque publication (commit) de changements est une nouvelle révision (état du dépôt à un moment donné). A n'importe quel moment, vous pouvez revenir à l'un des états précédents d'un fichier ou d'un dossier.

Pour revenir à une révision spécifique, sélectionnez un fichier ou un dossier et ouvrez le journal du dépôt en cliquant sur Afficher le Journal du Dépôt Afficher le Journal du Dépôt dans le menu contextuel.

Revenir à une révision

Dans la fenêtre ouverte, sélectionnez la révision sélectionnée et exécutez la commande Revenir à Cette Révision Revenir à Cette Révision.

Après être revenu à une révision, le fichier/dossier sélectionné sera remis totalement à l'état spécifié. Vous pouvez revenir à la fois à une révision précédente ou à une révision plus récente.

Publier des changements vers le Dépôt #

Comme mentionné auparavant, vous ne pouvez travailler avec les données que sur les copies locales. Pour transférer les changements locaux vers le dépôt, utilisez la commande Publier (commit) vers le Dépôt Publier (commit) vers le Dépôt. Les fichiers et dossiers locaux qui ont été changés sont marqués avec l'icone Modifié.

Avant de publier des changements, vous pouvez les voir en sélectionnant un fichier puis Différence de Versions Différence de Versions dans le menu contextuel.

Publier (commit) vers le Dépôt

Dans la boîte de dialogue du commit, vous pouvez sélectionner les fichiers et les dossiers modifiés à publier sur le dépôt. Vous pouvez ajouter un commentaire sans publier les changements. Des commentaires détaillés facilitent l'analyse des changements dans le futur.

  • Les changements locaux ont une priorité supérieure, ils sont dans tous les cas ajoutés au Dépôt.
  • Si le numéro de révision du dépôt est supérieur à la révision locale (modifié depuis une autre source et les données locales ne sont pas à jour du dépôt), vous aurez alors une erreur du style "Out of date" lors d'une tentative de publication des changements. Dans ce cas, exécutez d'abord la commande Rafraîchir du Dépôt Rafraîchir du Dépôt pour fusionner les données, et sélectionnez ensuite la commande Publier (commit) vers le Dépôt Publier (commit) vers le Dépôt.
  • Faites attention lors de la mise à jour des fichiers bmp et wav. Lorsqu'ils sont fusionnés, ces fichiers sont totalement remplacés par les nouvelles révisions. Ils peuvent donc être remplacés avec les fichiers du dépôt pendant la mise à jour. Pour éviter ce genre de situations, sauvegardez des copies de ces fichiers séparément, exécutez la commande Rafraîchir du Dépôt Rafraîchir du Dépôt pour augmenter le numéro de la révision locale, replacez les fichiers copiés auparavant et publiez les changements vers le Dépôt.

Supprimer #

Si vous souhaitez supprimer un fichier ou un dossier, utilisez la commande Supprimer un Fichier ou un RépertoireSupprimer un Fichier ou un Répertoire. Le dossier/fichier sera supprimé de la copie locale des données. Pour supprimer un fichier ou un dossier du dépôt, publiez ces changements en utilisant la commande Publier (commit) vers le Dépôt Publier (commit) vers le Dépôt.

  • La suppression d'un fichier ou d'un dossier avec la commande standard Supprimer Supprimer de la fenêtre du Navigateur n'influence pas le MQL5 Storage. Lors de la prochaine mise à jour, les données supprimées seront restaurées depuis le Dépôt.
  • Le répertoire racine lié au Dépôt ne peut pas être supprimé.

Annuler des changements #

Si vous souhaitez annuler les changements effectués sur la copie locale des données, exécutez la commande Annuler les ChangementsAnnuler les Changements sur le fichier ou le dossier concerné. Le fichier/dossier revient à l'état sauvegardé localement au moment de la dernière synchronisation avec le dépôt.

Lorsque vous annulez des changements, la révision locale initiale est restaurée et non pas la révision courante du dépôt.

Journal du Dépôt #

Chaque commit de changements vers le Dépôt avec la commande Publier (commit) vers le Dépôt Publier (commit) vers le Dépôt est sauvegardé dans un journal. Les journaux vous aident à analyser facilement l'historique des changements dans vos projets. Pour voir le journal des changements d'un fichier/dossier, sélectionnez Afficher le Journal du Dépôt Afficher le Journal du Dépôt dans le menu contextuel.

Voir le journal

La partie supérieure affiche la liste des changements :

  • Révision – le numéro unique du commit ;
  • Auteur – le nom de l'utilisateur (correspond au login du compte de la MQL5.community) qui a effectué ces changements ;
  • Date – date de publication des changements au format UTC ;
  • Commentaire – commentaires liés au changement.

Avec la commande Mettre à Jour à une Révision Mettre à Jour à une Révision du menu contextuel, vous pouvez mettre à jour la copie locale des données à une révision sélectionnée.

Le bas de la fenêtre affiche la liste des fichiers modifiés dans la révision sélectionnée. Les icones reflètent les types de changement :

  • Ajouté – fichier ajouté ;
  • Modifié – fichier modifié ;
  • Supprimé – fichier supprimé.

Vous pouvez analyser les changements avec le menu contextuel de la liste des fichiers modifiés :