Diskussion zum Artikel "Entwicklung eines Expert Advisors für mehrere Währungen (Teil 22): Beginn des Übergangs zum Hot-Swapping von Einstellungen"

 

Neuer Artikel Entwicklung eines Expert Advisors für mehrere Währungen (Teil 22): Beginn des Übergangs zum Hot-Swapping von Einstellungen :

Wenn wir die periodische Optimierung automatisieren wollen, müssen wir über automatische Aktualisierungen der Einstellungen der bereits auf dem Handelskonto laufenden EAs nachdenken. Dies sollte es uns auch ermöglichen, den EA im Strategietester laufen zu lassen und seine Einstellungen in einem einzigen Durchgang zu ändern.

Lassen Sie uns versuchen, genauer zu beschreiben, was wir erreichen wollen. Im Idealfall sollte das System in etwa so funktionieren:

  1. Es wird ein Projekt mit dem aktuellen Datum als Enddatum des Optimierungszeitraums erstellt. 
  2. Das Projekt wird auf dem Förderband gestartet. Ihre Umsetzung nimmt einige Zeit in Anspruch – von einigen Tagen bis zu mehreren Wochen.
  3. Die Ergebnisse werden in den endgültigen EA geladen. Wenn der endgültige EA noch nicht gehandelt wurde, wird er auf einem echten Konto gestartet. Wenn er bereits an dem Konto gearbeitet hat, werden seine Parameter durch neue ersetzt, die er erhalten hat, nachdem das letzte Projekt die Förderanlage durchlaufen hat.
  4. Lassen Sie uns zu Punkt 1 übergehen.

Gehen wir auf jeden dieser Punkte ein. Zur Umsetzung des ersten Punktes haben wir bereits ein Projektgenerierungsskript EA aus dem vorherigen Teil, in dem wir Parameter zur Auswahl des Enddatums der Optimierung verwenden können. Im Moment kann es jedoch nur manuell gestartet werden. Dies kann behoben werden, indem eine zusätzliche Phase in den Projektausführungsprozess aufgenommen wird, die ein neues Projekt erzeugt, sobald alle anderen Phasen des aktuellen Projekts abgeschlossen sind. Dann können wir es beim ersten Mal nur manuell ausführen.

Für den zweiten Punkt brauchen wir nur ein Terminal mit dem installierten EA Optimization.ex5, in deren Parametern die gewünschte Datenbank angegeben ist. Sobald neue offene Projektaufgaben in der Warteschlange erscheinen, werden sie in der Reihenfolge der Warteschlange zur Ausführung gebracht. Die letzte Phase, die vor der Phase der Erstellung eines neuen Projekts liegt, sollte in irgendeiner Form die Ergebnisse der Projektoptimierung in den endgültigen EA übertragen.

Der dritte Punkt ist der schwierigste. Wir haben bereits eine einzige Option für die Übergabe von Parametern an den endgültigen EA implementiert, aber sie erfordert immer noch manuelle Eingriffe: Wir müssen einen separaten EA ausführen, der die Parameterbibliothek in eine Datei exportiert, dann diese Datei in den Projektordner kopieren und anschließend den endgültigen EA neu kompilieren. Obwohl wir nun die Ausführung dieser Operationen an den Programmcode delegieren können, wird die Struktur selbst unnötig schwerfällig. Ich würde gerne etwas Einfacheres und Zuverlässigeres machen.


Autor: Yuriy Bykov