Diskussion zum Artikel "Individuell Strategien testen basierend auf schnellen mathematischen Berechnungen" - Seite 2

 
Und es hat mir gefallen, schon allein deshalb, weil es keinen einzigen Artikel über Kalkül gibt und das Nachschlagewerk wenig zu diesem Thema enthält.
 
fxsaber:

Ein guter Artikel, um damit zu beginnen! Anmerkungen

  • Es wird tatsächlich vorgeschlagen, eine eigene Handels-API zu verwenden. Das macht die Entwicklung fast überflüssig. Es macht Sinn, einen eigenen Tester im MT5 zu haben, wenn die Handels-API für Ihren Tester mit der Standard-API übereinstimmt. Andernfalls stellt sich heraus, dass Sie einige fertige Tester von Konkurrenten oder dem gleichen R mit dem gleichen Nutzen verwenden können.
  • Bei dem Mechanismus der benutzerdefinierten Symbole ist nicht ganz klar, wofür ein solcher Tester benötigt werden könnte.
  • Es wäre schön, Byte-Manipulationen in einer universellen Form zu sehen.
  • Es fehlt ein Vergleich der Geschwindigkeit Ihres Testers mit der des Standardtesters.
  • Es ist sinnvoll, Ihren Tester auch für diesen Zweck zu verwenden.

Vielen Dank an den Autor!

Warum wird FrameNext ohne Weile verwendet?

Ihr eigener Tester ohne zusätzliche Pipelines wird schneller sein als der Standardtester. Plus Forschung. Plus die Möglichkeit, in einer Wolke zu arbeiten. Es stellt sich also heraus, dass es nicht so viele Optionen gibt, wenn man Cloud Computing sehr effektiv nutzen möchte. Natürlich muss man für alles bezahlen. Und es kommt nicht in Frage, so etwas für den echten Handel zu verwenden. Aber etwas Einfaches zu schreiben und es schnell zu testen, ist das Beste. Schauen Sie sich die Testvariante der Strategie zu den Durchschnitten an - sie wurde sehr schnell geschrieben, aber die Ergebnisse sind selbst ohne Provisionen und Slippages nicht gut. Für solche Tests wird ein Tester benötigt.

 

Aus irgendeinem Grund wird in dem Artikel nur auf den Tester eingegangen, aber über den Analysator hat noch niemand gesprochen. Und das ohne Grund. Ich halte den Analysator für nicht weniger wichtig und vielleicht sogar für interessanter als den Tester selbst. Zum Beispiel kann dieser Analysator in den Test eines regulären Strategietesters integriert werden und das gewünschte Berichtsformat erhalten.

Außerdem möchte ich anmerken, dass es dank der Speicherung der vollständigen Informationen über jeden Durchlauf ausreicht, einmal zu optimieren und dann die Ergebnisse zu studieren, wie und wo man will. Dies kann man von dem hauseigenen Tester nicht behaupten; die Informationen über die von ihm generierten Läufe sind sehr allgemein gehalten, und es ist unmöglich, sich mit ihm ein Bild von jedem Lauf zu machen.

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Vasiliy Sokolov:

Nun, wie werden Sie den MetaTrader Wolke auf Python verwenden? Auch wie wollen Sie Python-Skript auf MT laufen?


Wir können die Cloud nicht nutzen, aber wir können sie auch nicht für die Auto-Optimierung verwenden, selbst wenn der Expert Advisor läuft. Sie können ein Python-Skript wie dieses ausführen .

Ich meine, der Hauptpunkt ist, dass die Expert Advisors in der Lage sein sollten, sich selbst zu optimieren, wenn ich das richtig verstehe... nicht nur schnell.
CreateProcess function (Windows)
  • msdn.microsoft.com
Creates a new process and its primary thread. The new process runs in the security context of the calling process. If the calling process is impersonating another user, the new process uses the token for the calling process, not the impersonation token. To run the new process in the security context of the user represented by the impersonation...
 
Maxim Dmitrievsky:

Wir können die Cloud nicht nutzen, aber wir können sie auch nicht für die automatische Optimierung verwenden, selbst wenn der Expert Advisor läuft. Um ein Python-Skript wie dieses auszuführen .

Nun, der Hauptpunkt ist, dass die Expert Advisors in der Lage sein sollten, sich selbst zu optimieren, wenn ich das richtig verstanden habe... nicht nur schnell.

Das ist ein etwas anderes Thema.

 
Vasiliy Sokolov:

Das ist ein etwas anderes Thema.


Nun, wenn man über die Ideologie nachdenkt... warum brauchen wir eine superschnelle Optimierung, wenn wir sie sowieso von Hand machen müssen?

 
Vasiliy Sokolov:

Aus irgendeinem Grund wird in dem Artikel nur auf den Tester eingegangen, aber über den Analysator hat noch niemand gesprochen. Und das ohne Grund. Ich halte den Analysator für nicht weniger wichtig und vielleicht sogar für interessanter als den Tester selbst. Zum Beispiel kann dieser Analysator in den Test eines regulären Strategietesters integriert werden und das gewünschte Berichtsformat erhalten.

Außerdem möchte ich anmerken, dass es dank der Speicherung der vollständigen Informationen über jeden Durchlauf ausreicht, einmal zu optimieren und dann die Ergebnisse zu studieren, wie und wo man will. Das kann man vom hauseigenen Tester nicht sagen, denn die Informationen über die Läufe sind sehr allgemein gehalten, und es ist unmöglich, das Bild eines jeden Laufs damit zu rekonstruieren.

Von meiner Seite gibt es keine Aussagen zu diesem Thema, weil ich so etwas einmal in KB implementiert habe.

 
Vasiliy Sokolov:

Ein eigenes Prüfgerät ohne zusätzliche Verrohrung ist schneller als das Standardgerät. Plus Forschung. Und die Möglichkeit, in der Cloud zu arbeiten. Es stellt sich also heraus, dass es eigentlich gar nicht so viele Möglichkeiten gibt, wenn man Cloud Computing sehr effektiv nutzen will. Natürlich muss man für alles bezahlen. Und es kommt nicht in Frage, so etwas für den echten Handel zu verwenden. Aber etwas Einfaches zu schreiben und es schnell zu testen, ist das Beste. Schauen Sie sich die Testvariante der Strategie zu den Durchschnitten an - sie wurde sehr schnell geschrieben, aber die Ergebnisse sind selbst ohne Kommissionen und Slippages nicht gut. Dafür ist ein Tester da.

Du verstehst mich nicht. Sie schlagen vor, einen TS zum Testen auf Ihrer Handels-API speziell für diesen Zweck zu schreiben. Und das ist gleichbedeutend mit der Verwendung anderer Testerlösungen.

Und Sie haben den Punkt mit den benutzerdefinierten Symbolen ignoriert, ebenso wie den Vergleich der Geschwindigkeiten in Zahlen.

 
Vasiliy Sokolov:

Soweit ich das verstanden habe, gehen die Daten nicht verloren, weil die Statistiken von einer anderen Instanz des Programms erfasst werden.

Sie gehen verloren, weil diese andere Instanz des Programms OnTesterDeinit nicht ausführt.

 
Vasiliy Sokolov:

Das verstehe ich nicht. Was ist die Universalansicht?

Schablonen. Ich habe etwas Ähnliches in KB gepostet.

OnTesterPass wird an den letzten Lauf übergeben, der FrameNext lädt. While wird in diesem Fall nicht benötigt.

OnTesterPass ist nur eine Reaktion auf das Ereignis des Schreibens des nächsten Frames in die mqd-Datei.

FrameNext liest einen Frame aus der mqd-Datei an der aktuellen Position und verschiebt diese Position zum nächsten Frame.


Wenn also FrameNext nicht mindestens in einem OnTesterPass aufgerufen wird, erhalten alle nachfolgenden OnTesterPass+FrameNext den vorherigen Frame statt des eingetroffenen.

Da es sich bei dem Artikel um ein Tutorial handelt, würde es nicht schaden, diese Nuance im Code in Form der gleichen Kommentare zu implementieren.