Startseite Systemhandel Beitrag

Manuelle Aufträge im Strategy Tester für MetaTrader 5

Anhang
14535.zip (3.68 KB, Herunterladen 1 mal)

In diesem Beitrag zeige ich dir eine einfache Methode, wie du manuelle Aufträge mit dem Strategy Tester verknüpfen kannst. Viele von uns wissen bereits, dass das ChartEvent im Strategy Tester nicht funktioniert. Die einfachsten Objekte, die du im Strategy Tester verwenden kannst, sind im Grunde genommen nur Labels und Buttons. Während das Hinzufügen eines Labels problemlos funktioniert, gibt es bei Buttons ein kleines Problem: Selbst wenn du es schaffst, einen Button im Tester zu platzieren, kannst du dessen Zustand (ob geklickt oder nicht) nicht erkennen, ohne auf fortgeschrittene Programmierung zurückzugreifen und es mit anderen Systemen zu verknüpfen.

Mein Trick, um das zu lösen, war ein einfacher Dateierkennungsprozess. Stell dir diesen Expert Advisor (EA) als eigenständigen Empfänger vor. Bei jeder Tick-Bewegung überprüft der EA einen Ordner auf das Vorhandensein einer Datei, die einen Auftrag auslösen würde. Wenn die erforderliche Textdatei an einem bestimmten Ort erkannt wird, führt der EA den entsprechenden Befehl aus und löscht die Datei anschließend. Die Existenz einer bestimmten Datei im Ordner ist also der Hauptbefehl zum Ausführen eines Handels.

Du kannst nun jede Methode verwenden, die dir einfällt, um den EA zu befehlen, den Auftrag auszuführen, indem du einfach eine bestimmte Datei in den Ordner legst.

In diesem EA löst bereits der Dateiname "buy.txt", "sell.txt" oder "close.txt" im Ordner "...\Common\Files\" von MetaTrader 5 einen Befehl aus, um einen bestimmten Auftrag basierend auf dem Dateinamen auszuführen. Die Textdateien sind leer; entscheidend ist nur der Dateiname und ihre Präsenz im Ordner. Die Dateien sollten nacheinander in \Files erscheinen (mein Ordner sieht so aus: C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\). Immer darf nur eine der drei Dateien gleichzeitig im Ordner vorhanden sein. Andernfalls wird die erste Datei, die der EA liest, ausgeführt, und der EA löscht danach alle Dateien mit diesen Namen.

Die andere Anwendung, die du benötigst, ist diejenige, die die erforderliche Textdatei in den besagten Ordner erstellt oder bereitstellt. Alternativ kannst du auch einen Weg finden, um den genannten Dateinamen in den Zielordner zu übertragen. Ich habe meine Lösung in Visual Basic erstellt. Ich würde sie gerne teilen, aber ich bezweifle, dass die Seite mir erlaubt, eine ausführbare Datei hochzuladen. Daher ist es am besten, wenn du selbst eine solche Anwendung erstellst oder suchst. Es gibt unzählige Möglichkeiten, um die Textdatei im richtigen Ordner abzulegen. Schau dir den Diskussionsbereich am Ende des Beitrags an; dort werde ich posten, wie ich mein Panel erstellt habe.

Empfehlungen:

  • Wenn du deinen eigenen gewählten Indikator für den Tester verwenden möchtest, speichere oder benenne eine Indikatortemplate in "StrategyTesterPracticeTrade.tpl" um, so wie der Name des EAs, den du im Strategy Tester verwenden wirst.
  • Achte darauf, dass die Befehls-Textdateien im richtigen Ordner erscheinen (...\MetaQuotes\Terminal\Common\Files\).
  • Du kannst dieses Konzept nicht nur für den Strategy Tester verwenden, sondern auch nutzen, um äußere Einflüsse auf deine anderen EA-Codes zu verknüpfen. Beispiel: Anstatt nur die Anwesenheit eines Dateinamens zu verwenden, kannst du FileOpen nutzen und den Inhalt der Datei lesen, wo möglicherweise Daten für Take Profit, Stop Loss und Lotgrößen gespeichert werden können... usw. So kann deine externe Anwendung auch andere Möglichkeiten abdecken, auf die dein EA reagieren soll.

Verwandte Beiträge

Kommentar (0)