Optimierung mit dem Strategy Tester

 
Bitte helfen Sie mir, es zu verstehen.

Ich habe zum Beispiel den Standard-Expert Advisor aus der Datei "Moving Average.mq5" gewählt (um Fragen zum Code des Expert Advisors zu vermeiden).
Ursprüngliche Daten:
EURUSD, täglich, vom 01.07.2010 bis 31.08.2010, nur offene Kurse, Modus ohne Optimierung (d.h. ein Durchlauf des Testers).
Die Datei StrategyTester_1pass.log ist beigefügt.

Hier sehen wir, dass die Gesamtlaufzeit des Testers 8 Sekunden beträgt, von denen NUR 546 ms für den Test des Expert Advisors aufgewendet wurden. Der Rest der Zeit war Vorbereitungsarbeit.

Dann habe ich die Optimierung eines Eingangsparameters mit 5 Werten eingestellt (für fünf Durchläufe des Testers).

Hier ist ein Screenshot des Protokolls

Prüferprotokoll

und die Datei StrategyTester_5passes.log sind beigefügt.

Das Protokoll zeigt, dass jede Iteration 7-9 Sekunden dauert, d.h. wir haben jedes Mal einen ganzen Zyklus von Einzelläufen!
Daher beträgt die gesamte Optimierungszeit 25 Sekunden auf einem Dual-Core-Prozessor (auf einem Kern würde es 45 Sekunden dauern, anstelle von 3 Sekunden beim echten EA-Test).

Und was, wenn wir 3 Eingabeparameter für mindestens 10 Werte (10 * 10 * 10 = 1000) optimieren müssen? In MT4 war die Optimierung um mehrere Größenordnungen schneller.

Ich habe Fragen zu demselben Problem in einem der Forumsthreads https://www.mql5.com/ru/forum/852/page14 gefunden, aber alle wurden entweder an mein persönliches Konto oder an servicedesk geschickt.

Erläutern Sie bitte, was das Problem ist und wie man im Strategietester richtig optimiert.

 

Ich habe es auch bemerkt... aber ich habe es auf die "Unvollkommenheit" von mql5 geschoben -))

Ich optimiere 5 Parameter... Ich nehme ein elementares Signal als Eingabe... keine Berechnungen... Ich habe alles entfernt, was ich konnte...

als Ergebnis 1200 läuft auf einem 4-Kern-Prozessor dauert den ganzen Abend ... und das ist nur in einem Monat ...

Ich habe nach einer Möglichkeit gesucht, die Dinge zu beschleunigen... ich habe den eXpert darauf beschränkt, die Bedingungen einmal alle 5 Minuten zu überprüfen... das hat nicht funktioniert... nicht eine Sekunde schneller...

Seit zwei Wochen teste ich also und teste und teste... und ich bin geneigt zu denken, dass ich die Parameter einfach ohne jegliche Optimierung einfügen sollte...

 
maryan.dirtyn:

Ich habe es auch bemerkt... aber ich habe es auf die "Unvollkommenheit" von mql5 geschoben -))

Ich optimiere 5 Parameter... Ich nehme ein elementares Signal als Eingabe... keine Berechnungen... Ich habe alles entfernt, was ich konnte...

als Ergebnis 1200 läuft auf einem 4-Kern-Prozessor dauert den ganzen Abend ... und das ist nur in einem Monat ...

Ich habe nach einer Möglichkeit gesucht, die Dinge zu beschleunigen... ich habe den eXpert darauf beschränkt, die Bedingungen einmal alle 5 Minuten zu überprüfen... das hat nicht funktioniert... nicht eine Sekunde schneller...

Seit zwei Wochen teste ich also und teste und teste... und ich bin geneigt zu denken, dass ich die Parameter einfach ohne jegliche Optimierung einfügen sollte...

Ich dachte auch zuerst, dass es einen Fehler in meinem Code gibt. Ich habe es gesucht und vereinfacht, aber dann bin ich auf das hier gestoßen (...): "Experte".

input int          X = 100;

int OnInit()
  {
   return(0);
  }

void OnDeinit(const int reason)
  {
  }

void OnTick()
  {
   Print("Тик-Так.");
  }

Das Ergebnis war das gleiche.

1 Durchgang dauert 7-9 Sekunden. Solcher Unsinn stellt sich heraus.

 
Batohov:

1 Durchgang dauert 7-9 Sekunden. Das ist die Art von Unfug, die man bekommt.

+1.

dasselbe gilt für die Eröffnungspreise.

der Roten Armee eine solche Optimierung...

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 
Ich optimiere jetzt seit einem Monat))) und es sieht so aus, als würde es kein Ende nehmen), aber "Optimierung durch OOP" deckt alle möglichen Aspekte menschlicher Dummheit ab... vielleicht sind es nur wir, die es schon so lange tun... )), da niemand sonst hierher kommt... Ich kann mir vorstellen, wie lange der Test dauern würde, wenn ich einen amöbenbasierten ExpertAdvisor mit der Funktion"Balance curve slope control during Expert Advisor's work" ausstatten würde.
 
Ja, genau das mache ich gerade.... es ist genauso umständlich wie das Herunterladen eines Films mit GPRS....
 
maryan.dirtyn:
Ich optimiere jetzt schon seit einem Monat))) und es sieht so aus, als ob kein Ende in Sicht ist... Ich schätze, es gibt nur uns so lange... ))), da niemand sonst hier sucht...
Ja, das tut jeder :) Es gibt einfach nichts zu sagen. Ich bin an 5-6 Tage schneller Optimierung auf einer 2-Kern-CPU bei "allen Ticks" von 10,5 Tausend Schritten gewöhnt. Keine Beschwerden.
 
Yedelkin:
Ja, alle kommen vorbei :) Es gibt einfach nichts zu sagen. Ich bin daran gewöhnt, dass auf einem 2-Kern-Prozessor eine schnelle Optimierung auf "alle Ticks" von 10,5 Tausend Schritten 5-6 Tage dauert. Keine Beschwerden.
Aber früher war es deutlich schneller
 
maryan.dirtyn:
Aber vorher war es viel schneller

Mein Computer steht seit Mai nicht mehr still - er wird ständig optimiert. Deshalb weiß ich jetzt schon nicht mehr, ob es schneller war oder nicht.

Nachtrag: Ich habe gerade festgestellt, dass der Compiler 10 mal schneller geworden ist.

 
Yedelkin:

Mein Computer steht seit Mai nicht mehr still - er wird ständig optimiert. Ich weiß also schon nicht mehr, ob es schneller war oder nicht.

unheimlich
 

Ich wählte ein paar Parameter aus, klickte auf den Test... Am Morgen zählte ich die Anzahl der Läufe und wie viele noch übrig waren... berechnete, dass es noch 50 Tage bis zum Ende der Optimierung waren... mein Computer hat 4 Kerne + 2 Kernagenten... Ich brauche diese Optimierung nicht, also habe ich sie abgeschaltet...