MetaEditor Hilfe → Projekte und MQL5 Algo Forge → Anlegen und Arbeiten mit einem Projekt

Anlegen und Arbeiten mit Projekten

MetaEditor bietet viele nützliche Funktionen für die Arbeit mit Projekten. Es ermöglicht Ihnen, Dateien in einer einzigen Struktur zu organisieren, Projekteinstellungen zu verwalten und über MQL5 Algo Forge mit Versionskontrolle zusammenzuarbeiten.

Was ist ein Projekt?

Ein Projekt ist eine MQPROJ-Datei, die Einstellungen, Parameter und alle für die Kompilierung einer MQL5-Anwendung erforderlichen Informationen speichert.

Ein Doppelklick auf eine MQPROJ-Datei öffnet den Reiter „Projekt“, einen separaten Arbeitsbereich für das bequeme Arbeiten mit Projekten innerhalb des Navigators. Alle Projektdateien und -ordner sind auf diesem Reiter in Kategorien angeordnet.

Projektstruktur und die Einstellungen    

Projekt erstellen #

Klicken Sie im oberen Menü auf „Datei“ > „Neues Projekt“ oder drücken Sie Strg + Umschalt + N. Wählen Sie den gewünschten Programmtyp und fahren Sie fort im MQL5-Assistent.

Ein neues Projekt erstellen

Geben Sie einen Namen und weitere Details ein, fügen Sie Parameter hinzu und wählen Sie Ereignis-Handler aus.

Der Assistent unterstützt auch das Erstellen leerer Projekte, um Dateistrukturen aufzunehmen, die nicht mit Standardvorlagen kompatibel sind. Ein leeres Projekt enthält eine leere MQPROJ-Datei und erfordert, dass Sie Quellcodedateien manuell erstellen.

Erstellen eines Projekts basierend auf einer MQ5-Datei #

Klicken Sie mit der rechten Maustaste auf die MQ5-Datei und wählen Sie dann „Neues Projekt aus Quelle“.

Erstellen eines neuen Projekts auf Basis der Quellcodedatei.

Eine neue MQPROJ-Projektdatei mit demselben Namen erscheint im Verzeichnis. Die wichtigsten Programmeigenschaften, die im Quellcode mittels #property angegeben sind, werden dem Projekt automatisch hinzugefügt, einschließlich Name, Copyright, Version, Link zur Website des Entwicklers und Programmbeschreibung. Alle Dateien, die über die #include-Direktive im Quellcode enthalten sind, werden dem Abschnitt „Abhängigkeiten“ des Projekts hinzugefügt.

Projekteigenschaften #

Sie können auf die Projekteinstellungen über ein separates Dialogfeld zugreifen, ohne den Quellcode der MQ5-Datei bearbeiten zu müssen. Doppelklicken Sie einfach auf die MQPROJ-Datei auf der Registerkarte „Projekt“.

Projektstruktur und die Einstellungen

Die folgenden Projekteinstellungen sind verfügbar:

  • Plattform — die Plattform-Version, für die das Projekt entwickelt wird, d. h. MetaTrader 4 oder MetaTrader 5.
  • Programmtyp — Expert Advisor, Indikator, Skript oder Bibliothek.
  • Copyright — Copyright-Informationen, ähnlich wie „#property copyright ...“ im Quellcode.
  • Link — der Link zur Website eines Entwicklers, ähnlich wie „#property link ...“ im Quellcode.
  • Version — die Version des Programms, ähnlich wie „#property version ...“ im Quellcode.
  • Icon — das Icon des Programms, ähnlich wie „#property icon ...“ im Quellcode.
  • Beschreibung — Programmbeschreibung, ähnlich wie „#property description ...“ im Quellcode.
  • CPU — Optimierung der Kompilierung für bestimmte Prozessor-Befehlssätze: X64 Regular, AVX, AVX2 + FMA3, AVX512 + FMA3.
  • Maximale Optimierung — Anwendungen mit aktivierter Option werden schneller ausgeführt.
  • Gleitkomma-Divisoren prüfen — Anwendungen mit deaktivierter Option arbeiten etwas schneller, da der Fehler einer Division durch Null bei der Codeausführung nicht geprüft wird.
  • Optimierungs-Cache des Testers verwenden — während der Optimierung speichert der Strategietester die Ergebnisse aller durchgeführten Durchläufe im Cache. Die Ergebnisse werden für jeden Satz der Eingabeparameter gespeichert. Dies ermöglicht die Verwendung fertiger Ergebnisse bei der Re-Optimierung mit den gleichen Parametern, ohne Zeit für die Neuberechnung aufzuwenden.
    Aber bei einigen Aufgaben (z. B. bei mathematischen Berechnungen) kann es notwendig sein, Berechnungen unabhängig von der Verfügbarkeit früherer Ergebnisse durchzuführen. In diesem Fall sollten Sie die Option „Optimierungs-Cache verwenden“ im Projekt deaktivieren. Alle Testergebnisse werden weiterhin im Cache gespeichert, sodass Sie im Bericht des Strategietesters die Daten über durchgeführte Durchläufe einsehen können.
  • Indikator bei jedem Tick im Tester berechnen — diese Option ist nur für Indikator-Projekte verfügbar. Sie erzwingt die Indikatorberechnung bei jedem Tick während der Ausführung im Strategietester. Die Option gilt nur für den Betrieb im Strategietester. In der Plattform werden Indikatoren immer bei jedem eingehenden Tick berechnet.
    Wenn Sie Expert Advisors unter Verwendung von Indikatoren testen, berechnet der Strategietester Indikatorwerte nur dann, wenn auf deren Daten zugegriffen wird, d. h., wenn Indikator-Pufferwerte angefordert werden. Dies sorgt für eine erhebliche Beschleunigung während des Testens und der Optimierung, wenn der Expert Advisor nicht bei jedem Tick Indikatorwerte benötigt. Aktivieren Sie diese Option, wenn der Indikator bei jedem Tick berechnet werden muss.
    Außerdem werden Indikatoren im Strategietester in den folgenden Fällen bei jedem Tick berechnet:
  • beim Testen im visuellen Modus,
  • wenn der Indikator die Funktionen EventChartCustom, OnChartEvent oder OnTimer enthält,
  • oder wenn der Indikator mit einer Compiler-Build-Nummer kleiner als 1916 erstellt wurde.
  • Bestätigungsfenster vor dem Ausführen des Skripts anzeigen — verhindert das versehentliche Ausführen eines Skripts.
  • Eigenschaftenfenster vor dem Ausführen des Skripts anzeigen — ermöglicht das Überprüfen und Ändern der Eingabeparameter vor dem Ausführen eines Skripts.

Die in der Projektdatei angegebenen Eigenschaften haben bei Konflikten Vorrang vor den im Quellcode definierten Eigenschaften.

Hinzufügen und Entfernen von Dateien aus einem Projekt #

Alle im Quelltext verwendeten Dateien werden dem Projektnavigator automatisch hinzugefügt. Wenn Sie beispielsweise eine neue MQH-Datei mithilfe der Direktive #include hinzufügen, erscheint sie automatisch im Abschnitt „Abhängigkeiten“ des Navigators. Verwendete Header-Dateien werden dem Abschnitt „Headers“ hinzugefügt; Bilder, Sounds und andere MQL-Programme, die im Projekt als Ressourcen (über die Direktive #resource ) verwendet werden, werden dem Abschnitt „Resources“ hinzugefügt.

MQL5-Dateien mit dem Quellcode werden im Abschnitt „Sources“ angezeigt. Weitere Dateien, wie z. B. Testdateien und Chart-Templates, können dem Abschnitt „Einstellungen und Dateien“ hinzugefügt werden.

Sie können die Befehle des Kontextmenüs verwenden, um einem Projekt vorhandene Dateien hinzuzufügen oder daraus zu löschen. Seien Sie vorsichtig beim Löschen von Dateien, da Sie eine Datei aus dem Projekt entfernen (Bindung entfernen) oder komplett von der Festplatte löschen können.

Hinzufügen und Entfernen der Dateien aus einem Projekt

Der Befehl „Add existing folder“ ermöglicht das stapelweise Hinzufügen aller unterstützten Dateien aus dem ausgewählten Verzeichnis zum Projekt.

Eine dem Projekt manuell hinzugefügte Datei wird nicht in den Programmcode aufgenommen und nicht in das Projektverzeichnis kopiert. Die Datei wird nur dann im Navigator angezeigt, wenn sie mit dem Projekt verbunden wurde.

Ein Projekt kompilieren #

Um die ausführbare EX5-Datei für ein Projekt zu erhalten, öffnen Sie das Projekt oder die MQ5-Hauptdatei des Programms und führen Sie dann den Befehl „Compilieren“ (F7) aus. Die Datei wird in dem Verzeichnis erstellt, das die MQPROJ-Projektdatei enthält.

Wenn Sie ein Gruppenprojekt kompilieren, wird die ausführbare Datei je nach Programmtyp automatisch in das lokale Verzeichnis Experts, Indicators oder Scripts kopiert. Dies erlaubt Ihnen, das Programm sofort in MetaTrader auszuführen, ohne es manuell in das erforderliche Verzeichnis kopieren zu müssen.

Shared Projects #

Shared Projects ist ein dedizierter Bereich für gemeinschaftliche Projekte. Jedes Projekt, das Sie in diesem Bereich erstellen, wird automatisch in den Online-Speicher übertragen.

Um ein neues Shared Project zu erstellen, klicken Sie mit der rechten Maustaste auf „Shared Projects“ und wählen Sie „New Project“.

Erstellen eines gemeinsamen Projektes

Führen Sie anschließend die Standardschritte im MQL5-Assistentaus: Legen Sie Typ, Name und Eigenschaften des gewünschten Programms fest. Für gemeinschaftliche Projekte sollten Sie klare und verständliche Namen verwenden, damit andere Teilnehmer diese leicht finden können. Nur lateinische Buchstaben und Zahlen ohne Leerzeichen können in Projektnamen verwendet werden.

Wenn Sie die Erstellung des Shared Projects abgeschlossen haben, erscheint es auf der Website von MQL5 Algo Forge als privates Repository unter Ihrem Namen.

Sichtbarkeit von Shared Projects ändern #

Sie können das Repository öffentlich machen oder ausgewählten Benutzern Zugriff gewähren. Klicken Sie mit der rechten Maustaste auf den Projektordner und wählen Sie dann „Shared Project Settings“.

Ändern Sie „Sharing“ von „Private project“ in eine neue Option:

  • Privates Projekt: Nur der Autor kann auf das Projekt zugreifen.
  • Projekt mit freiem Beitritt: Jeder kann dem Projekt beitreten.
  • Projekt mit Beitritt auf Anfrage: Benutzer können den Beitritt zum Projekt beantragen, und der Autor kann jede Anfrage genehmigen oder ablehnen.

Zugriff auf das Shared Project konfigurieren

Sie können einem bestimmten Benutzer Zugriff gewähren. Klicken Sie auf „Neuen Benutzer hinzufügen“ und geben Sie dann den MQL5.community-Login des Benutzers ein. Ein Klick auf das Dropdown-Menü „Berechtigung“ zeigt die verfügbaren Berechtigungen an, die Sie dem Benutzer erteilen können:

  • Lesen: Der Benutzer kann die Projektdateien sehen und herunterladen.
  • Lesen und Schreiben: Der Benutzer kann die Projektdateien sehen, herunterladen und Änderungen daran vornehmen.
  • Administrator: Der Benutzer kann alles, was unter „Lesen und Schreiben“ möglich ist, und zusätzlich die Teilnehmerliste verwalten.

Öffentliche Projekte #

Ein öffentliches Projekt ist ein Repository, dessen Sichtbarkeitseinstellung auf „öffentlich“ gesetzt ist. Jeder MQL5-Benutzer kann die Dateien eines öffentlichen Projekts herunterladen, es forken, um eine eigene Kopie zu erstellen, mit dem Eigentümer oder den Betreibern zusammenarbeiten und Codeänderungen vorschlagen.

Die Registerkarte „Öffentliche Projekte“ in MetaEditor befindet sich in der Entwicklung. Stattdessen können Sie die öffentlichen Projekte erkunden, die auf der verfügbar sind, und die so etwas wie ein GitHub für die Algorithmus-Trading-Community ist.

Website für öffentliche Projekte

Nachdem Sie ein öffentliches Projekt forken, erscheint Ihre geforkte Kopie als öffentliches Repository unter Ihrem Namen auf der Website. Nachdem Sie die geforkte Kopie in MetaEditor geklont haben, erscheint sie unter Shared Projects.

Die Sichtbarkeit von Projekten ändern

Wenn Sie möchten, dass Ihr bestehendes Projekt ein öffentliches Projekt wird, setzen Sie dessen Sichtbarkeit auf öffentlich. Führen Sie diese Aktion in MetaEditor oder befolgen Sie diese Anweisungen, um dies auf der MQL5 Algo Forge-Website zu tun:

Öffnen Sie Ihre Repository-Seite und klicken Sie dann oben rechts auf „Einstellungen“.

Webseite für Repository-Einstellungen

Deaktivieren Sie die Option „Repository privat machen“ und klicken Sie dann auf „Einstellungen speichern“.

Ändern der Repository-Einstellungen