Versionsverwaltung der EA

 

Ich würde gerne sauber meine Änderungen an meinen EAs im Metaeditor nachvollziehen können.

Ich kenne mich mit GIT etwas aus, aber wie kann ich dem Metaeditor beibringen, dass er in den gewünschten Branch schreibt?

Oder eine andere Lösung?

Danke =)

 
Christian Linden:

Ich würde gerne sauber meine Änderungen an meinen EAs im Metaeditor nachvollziehen können.

Ich kenne mich mit GIT etwas aus, aber wie kann ich dem Metaeditor beibringen, dass er in den gewünschten Branch schreibt?

Oder eine andere Lösung?

Danke =)

Ich arbeite viel mit git. Nicht speziell mit dem Editor aber vielen anderen.

Der Metaeditor muss doch gar nichts machen bzw von Git wissen.

Einfach ein Ordner als Git Projekt einrichten ( Experts/Git/Ea1)

Und dann extern verwalten. Ich nutze dafür SmartGit.


PS: MetaEditor arbeit intern mit Subversion aka SVN nicht Git !

 
Christian:

Ich arbeite viel mit git. Nicht speziell mit dem Editor aber vielen anderen.

Der Metaeditor muss doch gar nichts machen bzw von Git wissen.

Einfach ein Ordner als Git Projekt einrichten ( Experts/Git/Ea1)

Und dann extern verwalten. Ich nutze dafür SmartGit.


PS: MetaEditor arbeit intern mit Subversion aka SVN nicht Git !

Ja, gut, Ordner ist eingerichtet, nun bearbeite ich EA1.mqh. Wenn ich im Metaeditor speicher, wird die gleiche Datei überschrieben, 
dann fehlt mir die Vorgängerversion. Oder meinst Du, jedesmal unter einem neuen Namen speichern? 

 
Christian Linden:

Ja, gut, Ordner ist eingerichtet, nun bearbeite ich EA1.mqh. Wenn ich im Metaeditor speicher, wird die gleiche Datei überschrieben, 
dann fehlt mir die Vorgängerversion. Oder meinst Du, jedesmal unter einem neuen Namen speichern? 

Mein Gefühl ist, das Du von Git sehr wenig Information hast.

Schau dir Git-Tutorials mal an.

Arbeitsweise mit Git einfaches Schema:


Ordner als Git Projekt einrichten.

Git erstellt einen nicht sichtbaren .git Ordner mit den Information was wann wie verändert worden ist.

Datei erstellen und in git versionieren.

Die Datei gibt es immer nur einmal . Alles andere ist im .git Ordner und WIRD VON GIT verwaltet.

Das Thema ist lang ....


Git und SVN sind Verschieden Metaeditor nutzt SVN !

Es geht aber auch ohne SVN und dann mit Git (Extern)

 

Die Kombination VSCode/Git könnte für Dich ggf. interessant sein.

Ich nutze diese Kombi mit den entsprechenden MQL und GIT-Erweiterungen für VSCode.

Leider muß ich zum Kompilieren/Debuggen immer in den Metaeditor wechseln. Allerdings soll es auch Tricks geben, um dies zu umgehen - was mir aber unter Linux mit einem vertretbaren Zeitaufwand noch nicht gelungen ist.

 
liju1970:

Leider muß ich zum Kompilieren/Debuggen immer in den Metaeditor wechseln. Allerdings soll es auch Tricks geben, um dies zu umgehen - was mir aber unter Linux mit einem vertretbaren Zeitaufwand noch nicht gelungen ist.

Ist kein Trick, steht auch in der Doku. Debuggen ist leider verboten und nur im Metaeditor gestattet.


https://www.metatrader5.com/de/metaeditor/help/beginning/integration_ide




Kompilieren von MQL-Programmen in anderen Entwicklungsumgebungen

Eine ausführbare MetaEditor-Datei kann als Compiler verwendet werden, wenn mit einem Quellcode in externen Editoren gearbeitet wird. Der Compiler wird von der Kommandozeile aus gestartet und gibt den Pfad und Namen der zu kompilierenden Datei an:

  • metaeditor.exe /compile:"<voller Pfad zur Quelldatei >"
  • metaeditor64.exe /compile:"<vollständiger Pfad zur Quelldatei>>"

Beispiel

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts\myscript.mq5"

Kompilierung aller Dateien in einem Verzeichnis

Dafür geben Sie den Pfad zu einem Ordner an und nicht zu einer Datei. Alle Quellcode-Dateien im angegebenen Ordner werden kompiliert. Unterordner werden ignoriert.

Quelldateien, für die bereits eine entsprechende kompilierte Version vorliegt, werden nicht erneut kompiliert.

Das folgende Beispiel zeigt das Kompilieren aller Dateien im Ordner \MQL5\Scripts.

Beispiel

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts"

Benutzerdefinierter MQL5/MQL4-Ordner mit Include-Dateien

Programme können Include-Dateien (*.mqh) und Ressourcendateien (*.bmp, *.wav, *.ex4, *.ex5) verwenden, die sich außerhalb des Arbeitsverzeichnisses der aktuellen Plattform befinden (zum Beispiel im \MQL5-Ordner einer anderen Plattform auf demselben Computer). Geben Sie für die korrekte Kompilierung den Pfad zu diesem Ordner mit dem Befehl "/include" an. Während der Kompilierung werden die Dateien wie folgt durchsucht:

  • Dateien einbinden: [spezifiziertes Verzeichnis]\include\[Pfad von #include<...>]
  • Ressourcendateien: [spezifiziertes Verzeichnis]\[Pfad von #Ressource "....]]

Beispiel

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts" /include:"C:\Program Files\TradingPlatform 2\MQL5"

Kompilierungsprotokoll

Geben Sie den zusätzlichen Befehl /log an, um weitere Informationen über den Kompilierungsvorgang zu erhalten. In diesem Fall wird eine Datei mit dem Protokoll (log) der Kompilierung <Quelldateiname>.log in dem Ordner erstellt, der die Quelldatei enthält.

Beispiel

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts\myscript.mq5" /log
Protokolldatei: C:\Programmdateien\TradingPlatform\MQL5\Script\myscript.log

Syntaxprüfung

Um die Syntax eines Programms ohne Kompilierung zu überprüfen, starten Sie MetaEditor von der Kommandozeile mit den Tasten /s und /log (so dass die Ergebnisse der Prüfung in der Protokolldatei angezeigt werden).

Beispiel

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts\myscript.mq5" /s /log
Die Datei mit den Ergebnissen der Prüfung: C:\Program Files\TradingPlatform\MQL5\Script\myscript.log

 

Integration mit anderen IDEs - MetaEditor Hilfe
Integration mit anderen IDEs - MetaEditor Hilfe
  • www.metatrader5.com
Bei der Entwicklung von Handelsprogrammen auf MQL4/MQL5 können Sie problemlos C++-DLLs von Drittanbietern verwenden. Sie können Dateien mit Quellcode von С++ (CPP und H) ähnlich wie MQ4, MQ5 und MQH bearbeiten. Diese DLL-Dateien können auch direkt aus dem Editor kompiliert werden. Microsoft Visual Studio, das auf dem PC des Benutzers...
 

@Christian

Danke, diese Doku ist mir bekannt. Allerdings gehen die Aufruf-Parameter irgendwo "verloren". Ggf. liegt es an der Kombination mit Wine.

 
liju1970:

@Christian

Danke, diese Doku ist mir bekannt. Allerdings gehen die Aufruf-Parameter irgendwo "verloren". Ggf. liegt es an der Kombination mit Wine.

Ach so, außerhalb von Windows, möglich hab da keine Erfahrungen.
 
Christian:

Mein Gefühl ist, das Du von Git sehr wenig Information hast.

Schau dir Git-Tutorials mal an.

Arbeitsweise mit Git einfaches Schema:


Ordner als Git Projekt einrichten.

Git erstellt einen nicht sichtbaren .git Ordner mit den Information was wann wie verändert worden ist.

Datei erstellen und in git versionieren.

Die Datei gibt es immer nur einmal . Alles andere ist im .git Ordner und WIRD VON GIT verwaltet.

Das Thema ist lang ....


Git und SVN sind Verschieden Metaeditor nutzt SVN !

Es geht aber auch ohne SVN und dann mit Git (Extern)

Ich habe schon einige Tutorials durchgearbeitet; ich denke, so wie Du meinst, arbeite ich dann direkt im master und nicht auf einem weiteren Branch?
Ich muss es mir nochmal ansehen.. das dauert..

 
liju1970:

Die Kombination VSCode/Git könnte für Dich ggf. interessant sein.

Ich nutze diese Kombi mit den entsprechenden MQL und GIT-Erweiterungen für VSCode.

Leider muß ich zum Kompilieren/Debuggen immer in den Metaeditor wechseln. Allerdings soll es auch Tricks geben, um dies zu umgehen - was mir aber unter Linux mit einem vertretbaren Zeitaufwand noch nicht gelungen ist.

danke liju 

 
Christian Linden:

Ich habe schon einige Tutorials durchgearbeitet; ich denke, so wie Du meinst, arbeite ich dann direkt im master und nicht auf einem weiteren Branch?
Ich muss es mir nochmal ansehen.. das dauert..

Ja, bleib erstmal im Master und taste Dich ran.

Eine 2. Branch erst, wenn Du grundlegende Änderungen im EA ausprobieren willst.

Es ist schwer da einen Rat zu geben. Ein EA ist ja im Vergleich was man mit Git verwaltet Firlefanz.

Aber es hilft beim EA entwickeln wirklich das konsequent zu nutzen.

Eine kleinerer Änderung und schon ist der EA im Eimer und man weiß nicht, wo man suchen soll.

Kann ich jedem wärmstens empfehlen.


Was ich aber mühselig finde, ist einen EA mit git auf mehren Rechnern/Instanzen zu verwalten.

Da ist die interne SVN-Lösung einfacher.

Grund der Beschwerde: