MQL5 Algo Forge ist das in MetaEditor integrierte, auf Git basierende Versionskontroll- und Speichersystem. Es arbeitet in erster Linie mit dem MQL5-Ordner (der alle Algorithmen enthält) und dem speziellen Shared Projects-Verzeichnis (in dem alle öffentlichen Projekte gespeichert sind).
Git ist ein Versionskontrollsystem, das festhält, wie Ihre Dateien zu verschiedenen Zeitpunkten aussahen. Es hilft, den Verlust wichtiger Änderungen zu verhindern, erleichtert das Zurücksetzen, unterstützt die Erstellung von Zweigen (branches) für Experimente und ermöglicht es mehreren Entwicklern, gemeinsam an einem Projekt zu arbeiten. Es kann hilfreich sein, sich anhand der offiziellen Dokumentation mit den Git-Grundlagen vertraut zu machen.
Ein Commit stellt den Zustand von Dateien zu einem bestimmten Zeitpunkt dar. Jeder Commit hat eine eindeutige Kennung und eine Meldung, die die Änderungen beschreibt. Die Projektgeschichte wird über Commits, Zweige und die Beziehungen zwischen ihnen nachverfolgt.
Sie können sich anschauen, wann Änderungen vorgenommen wurden, wer sie vorgenommen hat, welche Dateien geändert wurden und was in den einzelnen Commits enthalten war. Außerdem können Sie Dateiversionen vergleichen, frühere Dateizustände wiederherstellen, zwischen Zweigen wechseln und ausgewählte Änderungen bei Bedarf rückgängig machen.
Wenn Sie in einem gemeinsamen Projekt oder einem kollaborativen Arbeitsbereich arbeiten, wird dringend empfohlen, Änderungen regelmäßig abzurufen. Dadurch wird sichergestellt, dass Git nicht miteinander in Konflikt stehende Änderungen vom Remote-Repository automatisch mit der lokalen Kopie zusammenführt. Wenn jedoch zwei Benutzer dieselbe Codezeile ändern oder konkurrierende Änderungen vornehmen, kann es zu einem Konflikt kommen. Sie müssen die Konflikte lösen, bevor Sie neue Änderungen festschreiben oder an den Remote-Server übertragen.
Grundlegender Arbeitsablauf:
Stellen Sie sicher, dass Sie mit Ihrem MQL5.community-Konto im MetaEditor angemeldet sind. Führen Sie einen der folgenden Schritte aus, um die Arbeit in einem Verzeichnis mit aktiviertem Git zu beginnen:
Git ist ein Befehlszeilenprogramm, aber MetaEditor bietet eine komfortable Benutzeroberfläche, um per Mausklick damit zu arbeiten. Sie können von verschiedenen Stellen aus auf Git-Befehle zugreifen:
1. Klicken Sie mit der rechten Maustaste auf eine Datei/einen Ordner unter Navigator.

2. Klicken Sie mit der rechten Maustaste auf eine Registerkarte.

3. Klicken Sie mit der rechten Maustaste auf einen beliebigen Text oder eine leere Stelle im Code-Editor.

4. Klicken Sie im oberen Menü auf Git.

Diese Befehle führen Git-Operationen durch und interagieren mit MQL5 Algo Forge:
Um einen lokalen Ordner oder eine Datei zum MQL5-Repository hinzuzufügen, klicken Sie mit der rechten Maustaste darauf und wählen Sie Git Add File/Folder. Es erscheint ein Dialogfeld mit einer Liste der hinzuzufügenden Dateien.

Stellen Sie sicher, dass die Dateien, die Sie hinzufügen möchten, ausgewählt sind, und klicken Sie dann auf OK. MetaEditor fügt die Dateien über einen Commit hinzu und überträgt den Commit sofort an den Remote-Server.
Hinzugefügte (kontrollierte) Dateien sind mit
gekennzeichnet.

Ein Zweig fungiert als parallele Sandbox, in der Sie sicher neue Funktionen oder Fehlerbehebungen entwickeln können, ohne die stabile Codebasis zu beeinträchtigen. Sobald Ihre Arbeit in einem neuen Zweig abgeschlossen und gründlich getestet ist, kann der Zweig zusammengeführt in das Hauptprojekt werden.
Klicken Sie mit der rechten Maustaste auf die Datei/den Ordner, wählen Sie Git-Zweig und dann Neu. Geben Sie im angezeigten Dialogfeld einen Namen für den Zweig ein und klicken Sie anschließend auf OK.

Anschließend können Sie zu dem neuen Zweig wechseln und dort mit der Arbeit beginnen.
Durch das Wechseln zwischen Zweigen können Sie sicher zwischen verschiedenen Sandboxen oder Zeitachsen in Ihrem Repository hin- und herspringen. Dadurch werden Ihre Arbeitsdateien sofort aktualisiert und entsprechen nun genau dem Zustand des ausgewählten Zweigs.
Klicken Sie mit der rechten Maustaste auf die Datei/den Ordner und wählen Sie Git-Zweig. Wählen Sie aus der Liste der Zweige den Zweig aus, zu dem Sie wechseln möchten.
Geänderte Dateien und Ordner sind mit
.
![]()
Bevor Sie die Änderungen festschreiben, können Sie diese in einer Datei überprüfen, indem Sie mit der rechten Maustaste auf die Datei klicken und Differenzen zu Gut auswählen.
Sobald Sie bereit sind, die Änderungen zu übermitteln, klicken Sie mit der rechten Maustaste auf die Datei/den Ordner und wählen Sie dann Änderungen im Git festschreiben aus.
Im Commit-Dialog können Sie die geänderten Dateien auswählen, die übermittelt werden sollen, und einen Kommentar hinzufügen. Detaillierte Kommentare erleichtern die spätere Analyse der Änderungen.

Klicken Sie auf OK und MetaEditor führt den Commit der Änderungen durch und überträgt sie zudem an das Remote-Repository.
Nach einem erfolgreichen Festschreiben im Git werden die entsprechenden Ordner und Dateien mit
gekennzeichnet.
Bei der Zusammenarbeit kann es vorkommen, dass jemand anderes das Projekt vor Ihnen aktualisiert. Möglicherweise haben Sie auch Änderungen auf einem Computer festgeschrieben und arbeiten auf einem anderen weiter. Das Abrufen von Änderungen stellt sicher, dass Ihr lokales Projekt die neuesten Aktualisierungen aus dem Remote-Repository enthält, wodurch Konflikte vermieden werden.
Um alle Remote-Änderungen abzurufen, klicken Sie mit der rechten Maustaste auf den Ordner und wählen Sie Git herunterladen. Auf der Registerkarte Journal werden automatisch relevante Protokolle angezeigt, einschließlich der spezifischen Änderungen aus dem Remote-Repository.

Nachdem Sie bearbeiteten Code gespeichert oder Dateien gelöscht haben, können Sie das Projekt ganz einfach in den Zustand vor den Änderungen zurückversetzen.
Um Änderungen an einer Datei oder einem Ordner rückgängig zu machen, klicken Sie mit der rechten Maustaste auf die Datei bzw. den Ordner und wählen Sie Änderungen im Git zurücknehmen.
Das Rückgängigmachen von Änderungen in einem Projekt mit mehreren geänderten Dateien öffnet ein Dialogfenster. Dort können Sie die Dateien auswählen, deren Änderungen Sie rückgängig machen möchten, und auf OK klicken.

Wenn Sie die Änderungen, die Sie rückgängig machen möchten, bereits festgeschrieben haben, machen Sie stattdessen den Commit rückgängig.
Wenn ein bestimmter Commit Ihr Programm unbrauchbar macht oder Sie dessen Änderungen nicht mehr wünschen, können Sie ihn schnell rückgängig machen.
Klicken Sie mit der rechten Maustaste auf die betroffene Datei/den betroffenen Ordner und wählen Sie dann Git Log, um das Dialogfeld mit dem Commit-Verlauf zu öffnen. Klicken Sie mit der rechten Maustaste auf den Commit, den Sie rückgängig machen möchten, und wählen Sie dann Auf diese Revision zurücksetzen.

MetaEditor fügt einen neuen Commit hinzu, der die Änderungen des ausgewählten Commits rückgängig macht, wobei der Commit-Verlauf erhalten bleibt.
Um eine Datei oder einen Ordner zu löschen, klicken Sie mit der rechten Maustaste darauf und wählen Sie Löschen. Durch diese Aktion wird die Datei bzw. der Ordner lokal entfernt.
Um sicherzustellen, dass dieselbe Datei bzw. derselbe Ordner auch aus dem Remote-Speicher gelöscht wird: Aktualisieren Sie das Projekt und führen Sie anschließend einen Commit der Änderungen für die Löschung durch. Wie bei allen Commits überträgt MetaEditor den Lösch-Commit automatisch auf den Remote-Speicher.
Um ein Projekt aus den Gemeinsamen Projekten zu löschen, klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Gemeinsames Projekt löschen.
Die lokale Kopie wird entfernt. Wenn Sie der ursprüngliche Ersteller des Projekts sind, wird auch die Remote-Kopie gelöscht.
Der Commit-Verlauf für eine bestimmte Datei/einen bestimmten Ordner zeigt Kommentare, Autoren und Datumsangaben an und hilft Ihnen dabei, die Änderungen an der Datei/dem Ordner im Laufe der Zeit nachzuvollziehen.
Klicken Sie mit der rechten Maustaste auf die Datei/den Ordner und wählen Sie dann Git-Log anzeigen.
Die Spalten oben umfassen:

Klicken Sie in der Liste auf ein Commit, und die geänderten, hinzugefügten oder gelöschten Dateien werden im darunterliegenden Bereich angezeigt.

Icons zeigen die Art der Änderungen an:
Ein Rechtsklick auf einen Commit zeigt folgende Optionen an: