Der Weg, den du gehen musst, ist folgend.
Eine oder mehrere neue Instanzen vom MT5 erstellen.
Einfach den Ordner "C:\Program Files\MetaTrader 5" in einen anderen Ordner kopieren. Umbenennen und einmal die terminal64.exe starten.
Danach ist die neue Instanz lauffähig.
Hier mein Beispiel
So kannst du, wenn nötig den MT5 4 mal starten und testen.Vor rausgesetzt dein PC hat genug Kerne.
Python Programm erstellen:
1. Standard config.ini laden und parsen. https://wiki.python.org/moin/ConfigParserExamples
2. Parameter ändern und config.ini in den Ordner speichern der die zu startende Instanz enthält.Name der Ini ist frei wählbar.
In der Ini wird auch festgelegt ob ein Strategie Test gestartet werden soll.
Hier muss auch das zu verwendene Konto angegeben werden.
3. Subprocess aufrufen:
"Pfad zur 1. Instanz + config.ini"
4. Eventuell prüfen ob der Process gestartet ist.Bei mir dauert es manchmal bsi zu 2-3 sekunden bis der Process da ist.
Routinen bietet python selber.
5. Parsen der Log Files vom MT5
Erkennen von Fehlern / Ausgaben / Beenden des Tests
Steuern wie die es möchtest per "Befehl" kannst du den MT5 nicht.
Ein API bietet er nur eingeschränkt. Daten lesen ist aktuell das höchste der Gefühle
Du kannst aber den MT5 aus Python steuern. In dem die Mouse simuliert wird.
https://stackoverflow.com/questions/37990545/how-to-control-a-windows-application-from-python
Wenn du das erstmal geschafft hast kannst du dir überlegen wie man mehrere Instanz asynchron startet .
Das wird erstmal abgearbeitet. Wenn Fragen dazu entstehen frag.
- wiki.python.org
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
hey, habe folgendes bereits gefunden und einige hilfreiche sachen raus ziehen können, sofern es praktisch klappt. https://www.metatrader5.com/en/terminal/help/start_advanced/start#command_line
Habe ein python skript was nacheinander mit MetaTrader über subprocessing interagieren soll, wenn ich so schonmal ein MQL skript im startegy-tester launchen kann ist das TOP :)
also:
1.Ich müsste noch einen Befehl haben der History Daten runterlädt, also dies nicht kurz vor dem launch sondern unabhängig davon, sodass auch sicher alles gründlich vorhanden ist.
2.desweiteren überlege ich gerade wie ich "check" befehle ableiten kann ( falls es sowas nicht schon gibt), welche prüfen sollen,
ob das Historienfenster korrekt initiiert ist,
ob die EA initialisierung aufgrund fehler abbricht,
ob der Test aufgrund fehler mittendrin abgebrochen hat und
ob der Strategy Tester Erfolgreich durchgelaufen ist
3. Desweiteren wäre es großartig irgendwie durch einen derartigen Befehl einen Screenshot der Ergebnisse zu machen und sie per befehl zu downloaden.
mit befehlen meine ich natürliche externe Befehle, die über CMD abrufbar sind/ fürs subprocessing funktionieren.
Habt ihr eine Idee ob das existiert und wie ich es alternativ umsetzen könnte?
Gruß Bayne