MetaTrader 5 Strategy Tester: Bugs, Bugs, Verbesserungsvorschläge - Seite 39

 
Wenn Sie ein Skript oder einen EA debuggen und im Collstack umherwandern, erscheint ein grüner Pfeil auf der linken Seite des Quellcodes, der anzeigt, in welcher Zeile Sie sich befinden. Wenn Sie den Collstack in verschiedenen Dateien durchstreifen, z. B. in vielen verschiedenen Inludes, wird jede geöffnete Registerkarte mit ihrer eigenen Datei einen anderen grünen Pfeil haben. Aber wenn ich das Debugging beende, verschwinden sie nicht, sondern bleiben da. Fehler oder Wanze?
 
Ich weiß nicht, ob dies bereits in diesem Thread erwähnt wurde oder nicht. Vielleicht werden sie endlich den Zugang zu allen verfügbaren Bars vom Tester aus ermöglichen? Ich habe es wirklich satt, über mehrere Jahre hinweg mit Krücken auf 5 Minuten zu arbeiten, um höhere TFs zu laden!
 
traveller00:

Es wird ein Build von 2280 verwendet. Er nimmt ein Symbol und einen Punkt, wenn keine Anführungszeichen vorhanden sind. In diesem Fall ist es Börse, Broker Otkritie, Symbol UCAD-12.19, Zeitraum 01.09.2019-03.09.2019. Ein einfacher Expert Advisor wird ausgeführt (siehe unten). Wenn Sie einen Durchgang nach dem anderen fahren, ist alles in Ordnung, es wird nur kein Verlauf, 0 Balken und 0 Ticks angezeigt. Wenn ich die Optimierung ausführe, spielt es keine Rolle, ob sie genetisch oder voll ist, das Protokoll wird eine Menge Fehler enthalten

Es scheint eine Antwort zu sein, um auf dasOldTicks-Array zuzugreifen, aber ich weiß nicht, warum. Das Ersetzen des Funktionsrückergebnisses durch die Array-Größe hilft nicht. Was man dagegen tun kann, ist unbekannt.

Um diesen Fehler zu reproduzieren und zu beheben, benötigen wir einen Experten in Form von ex5 und Optimierungsbedingungen.

Wenn es für Sie kein Problem ist, schicken Sie es mir bitte in einer privaten Nachricht. Der Experte wird nach der Forschung unwiederbringlich ausgelöscht sein

 
Slava:

Um diesen Fehler zu reproduzieren und zu korrigieren, benötigen wir einen Experten in Form von ex5 und Optimierungsbedingungen.

Wenn es Ihnen nicht zu viel Mühe macht, dann schreiben Sie mir eine private Nachricht. Nach der Recherche wird der Experte unwiderruflich gelöscht

Der Quellcode des Expert Advisors ist im selben Beitrag zu finden. Vorsichtshalber habe ich sie unten noch einmal gepostet.

Das Symbol und der Punkt, wenn keine Anführungszeichen vorhanden waren. In meinem Fall ist es die Börse, Broker Otkritie, Symbol UCAD-12.19, Zeitraum 01.09.2019-03.09.2019.

Genetische Optimierung oder völliges Überschießen - das spielt keine Rolle. Durch eine einzige Variable Test, mehr Pässe, setzen von 0 bis 1000000.

input int test=1;

double OnTester()
{
  return 0;
}

void Test(const MqlTick &Tick)
{
}

void OnInit()
{
  MqlTick OldTicks[];
  int OldTicksCount=CopyTicks(_Symbol,OldTicks,COPY_TICKS_ALL);
  while(OldTicksCount>=1000)
    OldTicksCount=CopyTicks(_Symbol,OldTicks,COPY_TICKS_ALL,OldTicks[OldTicksCount-500].time_msc);
  for(int i=0;i!=ArraySize(OldTicks);++i)
    Test(OldTicks[i]);
}
 
traveller00:

Es wird ein Build von 2280 verwendet. Er nimmt ein Symbol und einen Punkt, wenn keine Anführungszeichen vorhanden sind. In diesem Fall ist es Börse, Broker Otkritie, Symbol UCAD-12.19, Zeitraum 01.09.2019-03.09.2019. Ein einfacher Expert Advisor wird ausgeführt (siehe unten). Wenn Sie einen Durchgang nach dem anderen fahren, ist alles in Ordnung, es wird nur kein Verlauf, 0 Balken und 0 Ticks angezeigt. Wenn ich die Optimierung ausführe, spielt es keine Rolle, ob sie genetisch oder voll ist, das Protokoll wird eine Menge Fehler enthalten

Es scheint eine Antwort zu sein, um auf dasOldTicks-Array zuzugreifen, aber ich weiß nicht, warum. Das Ersetzen des Funktionsrückergebnisses durch die Array-Größe hilft nicht. Was man dagegen tun kann, ist unbekannt.

Danke für die Nachricht!

Das Problem wurde gefunden und behoben.

 
Anton:

Vielen Dank für Ihre Nachricht!

Das Problem wurde gefunden und behoben.

Ich danke Ihnen.

 
Es wurde keine Geschichte heruntergeladen. Mit allen Charakteren begonnen.
2019.12.16 16:41:50.787 Tester  Experts\fxsaber\Research\Research03.ex5 on EURGBP,H1 from 2015.01.01 00:00 to 2019.12.16 00:00
2019.12.16 16:41:50.787 Tester  optimization on all MarketWatch symbols started
2019.12.16 16:41:50.790 Core 1  agent process started on 127.0.0.1:3000
2019.12.16 16:41:50.791 Core 2  agent process started on 127.0.0.1:3001
2019.12.16 16:41:50.792 Core 3  agent process started on 127.0.0.1:3002
2019.12.16 16:41:50.793 Core 4  agent process started on 127.0.0.1:3003
2019.12.16 16:41:50.794 Core 5  agent process started on 127.0.0.1:3004
2019.12.16 16:41:50.795 Core 6  agent process started on 127.0.0.1:3005
2019.12.16 16:41:51.145 Core 4  connecting to 127.0.0.1:3003
2019.12.16 16:41:51.145 Core 4  connected
2019.12.16 16:41:51.155 Core 2  connecting to 127.0.0.1:3001
2019.12.16 16:41:51.155 Core 2  connected
2019.12.16 16:41:51.162 Core 4  authorized (agent build 2280)
2019.12.16 16:41:51.162 Core 1  connecting to 127.0.0.1:3000
2019.12.16 16:41:51.162 Core 1  connected
2019.12.16 16:41:51.162 Core 3  connecting to 127.0.0.1:3002
2019.12.16 16:41:51.163 Core 3  connected
2019.12.16 16:41:51.163 Tester  EURGBP: history data begins from 2003.02.06 00:00
2019.12.16 16:41:51.163 Core 4  pass 0 started on EURGBP
2019.12.16 16:41:51.167 Core 4  common synchronization completed
2019.12.16 16:41:51.171 Core 2  authorized (agent build 2280)
2019.12.16 16:41:51.178 Core 3  authorized (agent build 2280)
2019.12.16 16:41:51.178 Core 1  authorized (agent build 2280)
2019.12.16 16:41:51.276 Tester  EURUSD: history data begins from 1971.01.04 00:00
2019.12.16 16:41:51.276 Core 2  pass 1 started on EURUSD
2019.12.16 16:41:51.280 Core 2  common synchronization completed
2019.12.16 16:41:51.476 Core 3  GBPUSD: preliminary downloading of M1 history started
2019.12.16 16:41:51.694 Core 2  EURUSD: history for 2014 year synchronized
2019.12.16 16:41:52.009 Core 2  EURUSD: history for 2015 year synchronized
2019.12.16 16:41:52.351 Core 2  EURUSD: history for 2016 year synchronized
2019.12.16 16:41:52.663 Core 2  EURUSD: history for 2017 year synchronized
2019.12.16 16:41:52.958 Core 2  EURUSD: history for 2018 year synchronized
2019.12.16 16:41:53.080 Core 2  EURUSD: history for 2019 year synchronized
2019.12.16 16:41:53.080 Core 2  EURUSD: history synchronization completed [13567 Kb]
2019.12.16 16:41:53.080 Core 2  EURUSD: 13.25 Mb of history processed in 0:01.778
2019.12.16 16:41:56.077 Core 4  pass 0 on EURGBP returned result 100000.00 in 0:00:04.862
2019.12.16 16:41:57.077 Core 2  pass 1 on EURUSD returned result 100000.00 in 0:00:03.961
2019.12.16 16:42:05.052 Core 3  pass 2 started on GBPUSD
2019.12.16 16:42:05.059 Core 3  common synchronization completed
2019.12.16 16:42:05.276 Core 3  GBPUSD: history synchronization started
2019.12.16 16:42:06.143 Core 4  pass 3 started on AUDCAD
2019.12.16 16:42:06.143 Core 5  connecting to 127.0.0.1:3004
2019.12.16 16:42:06.144 Core 6  connecting to 127.0.0.1:3005
2019.12.16 16:42:06.144 Core 5  connected
2019.12.16 16:42:06.144 Tester  testing on MarketWatch symbols finished, total passes 2
2019.12.16 16:42:06.144 Statistics      optimization done in 0 minutes 16 seconds
2019.12.16 16:42:06.144 Statistics      local 2 tasks (100%), remote 0 tasks (0%)
2019.12.16 16:42:06.144 Core 6  connected
2019.12.16 16:42:06.167 Tester  2 new records saved to cache file 'tester\cache\Research03.all_symbols.H1.20150101.20191216.22.FBC21040E327AF5F62DDA1A545DE091D.opt'
2019.12.16 16:42:06.168 Core 1  connection closed
2019.12.16 16:42:06.168 Core 2  connection closed
2019.12.16 16:42:06.168 Core 3  connection closed
2019.12.16 16:42:06.172 Core 6  authorized (agent build 2280)
2019.12.16 16:42:06.177 Core 5  authorized (agent build 2280)
2019.12.16 16:42:06.349 Core 4  AUDCAD: history synchronization started
2019.12.16 16:42:11.777 Core 3  GBPUSD: history downloading completed
2019.12.16 16:42:11.777 Core 3  GBPUSD: history synchronization interrupted
2019.12.16 16:42:11.777 Core 4  connection closed
2019.12.16 16:42:24.794 Core 4  AUDCAD: history downloading completed
2019.12.16 16:42:24.794 Core 4  AUDCAD: history synchronization interrupted
2019.12.16 16:42:24.794 Core 5  connection closed
2019.12.16 16:42:24.794 Core 6  connection closed
2019.12.16 16:42:24.794 Tester  stopped by user
Nach der markierten Zeile drücken Sie Stop. Das Terminal geht in den Modus "Nicht antworten" über. Nach 27 Sekunden (dem Protokoll nach zu urteilen) hat er sich aufgehängt.
 
Wie berechnet man die Anzahl aller Fehler in einem einzigen EX5-Lauf? Zum Beispiel eine falsche Partie oder ein Mangel an Marge.
 
Bild 2280. Sie nimmt ein Symbol und einen Punkt, wenn keine Anführungszeichen vorhanden sind. In diesem Fall ist es eine Börse, Broker Otkritie, Symbol 1MFR-1.20, Zeitraum 01.09.2019-01.12.2019. Führt einen beliebigen Expert Advisor aus, zum Beispiel aus Examples\Moving Average\Moving Average.ex5. Genetische Optimierung ist eingestellt (obwohl ich vermute, dass andere diesen Fehler auch haben), Kriterium macht keinen Unterschied (sowieso keine Ticks), jeder Tick basiert auf echten Ticks, Gewinn in Pips. Wir optimieren sie und erhalten im Wesentlichen eine Reihe von Nulldurchgängen. Warum werden profit_factor und margin_level in jedem Durchgang mit Müll gefüllt? Sind die Variablen nicht irgendwo mit Null initialisiert? Auf der Registerkarte "Backtest" sieht es nur wie ein leeres Feld aus, es wird nichts ausgegeben. Wenn wir die opt-Datei von Hand analysieren, sind die Werte profit_factor = 1.797693134862316e+308 und margin_level = 1.797693134862316e+308.
 
traveller00:
profit_factor = 1.797693134862316e+308 und margin_level = 1.797693134862316e+308.

DBL_MAX