MetaEditor HilfeProjekte und MQL5-StorageAnlegen und Arbeiten mit einem Projekt

Anlegen und Arbeiten mit einem Projekt

MetaEditor bietet komfortable Funktionen für die Arbeit mit großen Projekten, die es Benutzern ermöglichen, Dateien in einer einzigen Struktur zusammenzufassen, Projekteinstellungen zu verwalten und Anwendungen in Teams über das Online-Repository MQL5 Storage mit Versionskontrolle zu entwickeln.

Was ist ein Projekt?

Ein Projekt ist eine separate Datei mit der Erweiterung MQPROJ, die Programmeinstellungen, Kompilierungsparameter und Informationen über alle im Projekt verwendeten Dateien speichert. Ein separates Register im Navigator dient der Arbeitserleichterung im Projekt. Alle Dateien, wie Include-, Ressourcen-, Header- und andere Dateien sind in Kategorien in diesem Reiter angeordnet.

Projektstruktur und die Einstellungen

Projekt erstellen #

Das Erstellen eines neuen Projektes ist so einfach wie die Erstellung eines normalen MQL5-Programms. Klicken Sie auf Neues Projekt und wählen Sie im Menü des MQL5 Assistenten den Typ des gewünschten Programms aus:

Ein neues Projekt erstellen

Führen Sie dann die Standardschritte des -MQL5-Assistenten aus: Legen Sie den Typ, den Namen und die Eigenschaften des gewünschten Programms fest und wählen Sie die entsprechenden Event-Handler aus.

Der Assistent erlaubt jetzt auch das Anlegen von leeren Projekten. Dies ist eine nützliche Funktion für nicht standardmäßige Entwicklungsprojekte mit spezifischen Dateistrukturen, für die die Standardvorlagen nicht geeignet sind. In diesem Fall wird eine leere Setup-Datei "mqproj" erstellt. Die Quellcode-Dateien müssten manuell erstellt werden.

Erstellen eines Projekts basierend auf einer MQ5-Datei #

Wenn Sie bereits Entwicklungen in Form von MQ5-Dateien haben, können Sie diese einfach in ein Projekt umwandeln. Wählen Sie eine Datei aus und klicken Sie aufNeues Projekt aus einer QuellcodedateiNeues Projekt aus einer Quellcodedatei im Datei-Kontextmenü:

Erstellen eines neuen Projekts auf Basis der Quellcodedatei

In dem Verzeichnis, in dem sich die ausgewählte Datei befindet, wird eine neue Projektdatei mit dem gleichen Namen und der Erweiterung mqproj erstellt. Die wichtigsten Programmeigenschaften, die im Quellcode mittel #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 #

Auf die wichtigsten Projekteinstellungen kann von einem separaten Dialogfeld aus zugegriffen werden, anstatt den Quellcode zu bearbeiten, wie es normalerweise in separaten MQ5-Dateien geschieht. Um die Projekteinstellungen zu öffnen, klicken Sie auf Projekteigenschaften Projekteigenschaften im Kontextmenü des Projekts. Die folgenden Projekteinstellungen sind verfügbar:

  • Plattform ist 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 zeigt die Informationen zum Copyright ähnlich wie "#property copyright ..." im Quellcode.
  • Link zeigt den Link zu einer Entwicklerseite ähnlich "#property link ...." im Quellcode.
  • Version: Angabe der Programmversion ähnlich "#property version ...." im Quellcode.
  • Icon: das Icon des Programms ähnlich "#property icon ...." im Quellcode.
  • Beschreibung: Programmbeschreibung ähnlich "#Property description ...." im Quellcode.
  • Zusätzliche Optimierung aktivieren: Anwendungen mit deaktivierter Optimierung werden schneller kompiliert, aber langsamer ausgeführt.
  • Gleitkomma-Divisoren prüfen: Anwendungen mit deaktivierter Prüfung arbeiten etwas schneller, da der Fehler einer Division durch Null bei der Codeausführung nicht geprüft wird.
  • Den Optimierungs-Cache 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, so dass Sie im Bericht des Strategietesters die Daten über durchgeführte Durchläufe einsehen können.
  • Einen Indikator bei jedem Tick im Tester berechnen – diese Option ist nur für Indikatorprojekte verfügbar. Das ermöglicht die Berechnung des Indikators bei jedem Tick im Strategietester. Die Option gilt nur für die Operation im Strategietester. In der Plattform werden die Indikatoren immer bei jedem eingehenden Tick berechnet.
    Wenn Sie Expert Advisors mit Indikatoren testen, berechnet der Strategietester Indikatorwerte nur dann, wenn auf ihre Daten zugegriffen wird, d.h. wenn Indikatorpufferwerte angefordert werden. Dies bietet 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.
    Auch in den folgenden Fällen werden die Indikatoren im Strategietester bei jedem Tick berechnet:
  • beim Testen im visuellen Modus
  • wenn der Indikator die Funktionen EventChartCustom, OnChartEvent, OnTimer enthält
  • wenn der Indikator mit dem Compiler-Build früher als 1916 erstellt wurde

Die Programmeigenschaften in der Projektdatei haben eine höhere Priorität als die im Programmcode angegebenen Eigenschaften. Wenn Eigenschaften sowohl im Projekt als auch im Quelldatei angegeben sind, werden die Eigenschaften aus dem Projekt verwendet.

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 mit der #include-Direktive einbinden, wird sie automatisch im Abschnitt Abhängigkeiten des Navigators angezeigt. Verwendete Header-Dateien werden dem Abschnitt Header hinzugefügt; Bilder, Sounds und andere MQL-Programme, die im Projekt als Ressourcen (über die #Resource-Direktive) verwendet werden, werden dem Abschnitt Resources hinzugefügt.

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

Verwenden Sie die Befehle des Kontextmenüs, um einem Projekt vorhandene Dateien hinzuzufügen oder 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 "Vorhandenen Ordner hinzufügen" ermöglicht ein stapelweises Hinzufügen aller unterstützten Dateien aus dem ausgewählten Verzeichnis in das 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 eine ausführbare EX5-Datei zu kompilieren, öffnen Sie das Projekt oder die MQ5-Hauptdatei des Programms und führen Sie dann den Befehl zum Kompilieren (F7) aus. Die resultierende ausführbare Datei wird im selben Verzeichnis erstellt, in dem sich auch die Projektdatei MQPROJ befindet.

Shared Project #

MetaEditor ermöglicht es Programmierern, MQL5-Anwendungen im Team zu entwickeln. Das online Repository von MQL5 Storage ist in den Editor integriert:

  • Die Versionskontrolle ermöglicht es Ihnen, alle Änderungen am Projekt zu sehen und ggf. rückgängig zu machen.
  • Der Online-Zugriff auf das Projekt stellt den Zugriff für alle Projektmitglieder von jedem Computer aus sicher, nur mit seinem MQL5.community Konto.
  • Benachrichtigungen über Projektaktualisierungen – bleiben Sie über alle Änderungen an Projektdateien oder Einstellungen auf dem Laufenden. Um Benachrichtigungen auf Ihrem Mobiltelefon zu erhalten, geben Sie Ihre MetaQuote ID unter dem Abschnitt "Einstellungen \ Sicherheit" Ihres MQL5.community-Profils an. Um mit dem Team zu kommunizieren, verwenden Sie Gruppenchats.
  • Sie können den Projektteilnehmern separate Rechte erteilen, um das Projekt anzusehen oder zu bearbeiten.
  • Sie können auch öffentliche Projekte anlegen, die für alle Benutzer sichtbar sind. Öffentliche Projekte werden in einem separaten Reiter im MetaEditor angezeigt, von dem aus sich jeder für die Teilnahme beantragen kann.

Shared Projects werden in einem separaten Bereich für Shared Projects verwaltet. Wenn Sie den Storage noch nicht aktiviert haben, führen Sie den Befehl Aktivieren MQL5 Storage aus dem Kontextmenü des gewünschten Ordners aus. MetaEditor prüft, ob Ihr Speicherplatz gespeicherte Daten enthält und ob Ihnen Shared Projects zur Verfügung stehen. Alle verfügbaren Daten werden aus dem Speicher abgerufen und auf Ihren Computer hochgeladen. Verfügbare Gruppenprojekte werden im Bereich Shared Project angezeigt. Um die Projekte abzurufen, führen Sie im Kontextmenü des Storage den Befehl Abrufen aus.

Um ein neues Gruppenprojekt zu erstellen, wählen Sie den Ordner Shared Project und klicken Sie auf Neues Projekt:

Erstellen eine Shared Project

Führen Sie dann die Standardschritte aus: Legen Sie den Typ, den Namen und die Eigenschaften des gewünschten Programms fest. Für Gruppenprojekte sollten Sie klare und verständliche Namen verwenden, damit andere Teilnehmer sie leicht finden können. Nur lateinische Buchstaben und Zahlen ohne Leerzeichen können in Projektnamen verwendet werden.

Ein erstelltes Projekt wird sofort dem MQL5 Storage hinzugefügt. Die Dateien der Standardbibliothek, die im Projekt verwendet werden, werden nicht zum Speicher hinzugefügt, können aber manuell hinzugefügt werden.

Damit andere Teilnehmer mit dem Projekt arbeiten können, öffnen Sie die Projekteigenschaften. Sie können ausgewählten Benutzern Berechtigungen erteilen und allgemeine Parameter für die Teamarbeit festlegen:

  • Ein privates Projekt steht nur dem Autor zur Verfügung.
  • Ein kostenloses Projekt erlaubt es jedem, daran teilzunehmen.
  • Ein Projekt Teilnahme aus Anfrage kann nach dem Senden einer Anfrage an den Autor verwendet werden.

Zugriff auf das Shared Project konfigurieren

Um einem ausgewählten Benutzer Berechtigungen zu erteilen, klicken Sie auf "Neuen Benutzer hinzufügen" und geben Sie das MQL5.community-Login dieses Benutzers an. Legen Sie dann die Berechtigungen fest:

  • Lesen: Der Benutzer kann die Projektdaten einsehen und in seinen MetaEditor herunterladen.
  • Lesen und Schreiben: Der Benutzer kann die Projektdaten sehen und seine eigenen Änderungen in den Speicher hochladen, aber die Teilnehmerliste nicht ändern.

Wenn Sie ein Gruppenprojekt kompilieren, wird die ausführbare EX5-Datei je nach Programmtyp automatisch in das lokale Verzeichnis Experts, Indicators oder Scripts kopiert. Es erlaubt Ihnen, das Programm sofort auf der Plattform auszuführen, ohne es manuell in das richtige Verzeichnis kopieren zu müssen.

Öffentliche Projekte #

Jedes Shared Project im MQL5 Storage hat eine entsprechende Einstellung: Es kann entweder privat oder offen für andere Benutzer sein. Alle Projekte, denen Sie beitreten können, werden in der separaten Reiter Öffentliche Projekte angezeigt.

Öffentliche Projekte

Klicken Sie auf Beitreten, um einem Projekt beizutreten. Danach erscheint das Projekt im Bereich Gemeinsame Projekte. Dann klicken Sie aufAktualisieren aus dem SpeicherAktualisieren aus dem Speicher im Kontextmenü des Projekts, um es auf Ihren Computer herunterzuladen.

Jeder angemeldete Benutzer erhält nur Leserechte. Wenden Sie sich an den Projektautor, um Ihre Änderungen einreichen zu können. Um seinen oder ihren MQL5.community-Login zu erfahren, öffnen Sie die Projekteigenschaften über das Kontextmenü:

Anzeigen der Projekteigenschaften