Bibliotheken: MultiTester - Seite 23

 
fxsaber:

In OnTesterInit führen Sie GetSettings aus und übergeben die erhaltenen Werte von dort über ParametersSetRange an die Variable sinput.

Danke, das hat teilweise geholfen.

Als ich den Aufruf von GetSettings() in OnTesterInit() verschoben habe, hat der Tester aufgehört, zur Registerkarte Einstellungen zu wechseln, aber irgendetwas stimmt mit den lokalen Agenten nicht.

Die GetSettings-Daten werden nirgends verwendet, nur der Aufruf der Funktion.

void OnTesterInit()
  {
   //Abfrage der Testereinstellungen
   string  Str;
   if(MQLInfoInteger(MQL_TESTER) && MTTESTER::GetSettings(Str))
     {
      // Print(Str);
     }
  }
  
 void  OnTesterDeinit()
  {
  }


 
Sunriser:

Mit den örtlichen Vertretern stimmt etwas nicht.

GetSettings kann nur auf lokalen Agenten aufgerufen werden - dem Rechner, auf dem das Terminal läuft. Sie können es nicht auf anderen Rechnern ausführen.

Deshalb ist OnTesterInit die einzige Option.

 
Aktualisiert.
 

Ich möchte nach jedem einzelnen Durchlauf Informationen über diesen einzelnen Test in eine Datei schreiben.

Wo füge ich den Datensatzblock ein? In der Bibliothek? Oder ist er nur im Expert Advisor implementiert?

Im normalen Fall ohne die Bibliothek habe ich ihn in den ondeinit-Block eingefügt. Ich habe noch nicht gefunden, wo ich ihn hier einfügen kann.

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
FileWrite - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Aleksei Skrypnev:

Ich möchte nach jedem Durchlauf Informationen über diesen einzelnen Test in eine Datei schreiben.

Wo füge ich den Datensatzblock ein? In der Bibliothek? Oder ist er nur im Expert Advisor implementiert?

In dem üblichen Fall ohne die Bibliothek habe ich ihn in den ondeinit-Block eingefügt. Ich habe noch nicht gefunden, wo ich ihn hier einfügen kann.

Wenn es keinen Quellcode für den Expert Advisor gibt, den Sie verwenden: nur EX5, dann müssen Sie die Informationen (innerhalb von MultiTester) aus einem einzigen Lauf durch die generierte tst-Datei ziehen.

Wenn es eine Quelle gibt, dann fügen Sie einen Datensatz in die Common-Datei in OnDeinit des Expert Advisors ein.

 
fxsaber:

Wenn es keinen Quellcode für den auszuführenden Expert Advisor gibt, sondern nur EX5, dann sollten Sie Informationen (innerhalb von MultiTester) aus einem einzigen Durchlauf durch die generierte tst-Datei ziehen.

Wenn es eine Quelle gibt, dann fügen Sie einen Datensatz in die Common-Datei in OnDeinit des Expert Advisors ein.

Das klingt klar, aber die Implementierung ist noch nicht ganz klar. Ich werde weiter stochern).

Aber soweit ich das verstanden habe, wird das einfache Einfügen eines Blocks zum Aufzeichnen von Informationen an der richtigen Stelle in den Bibliotheksdateien diesen Fall nicht so einfach lösen? (Das heißt, es gibt keinen fertigen Block, um jeden Durchlauf in einer Datei zu speichern).

 
fxsaber:

Wenn es keinen Quellcode für den auszuführenden Expert Advisor gibt, sondern nur EX5, dann sollten Sie Informationen (innerhalb von MultiTester) aus einem einzigen Durchlauf durch die generierte tst-Datei ziehen.

Wenn es eine Quelle gibt, dann fügen Sie einen Datensatz in die Common-Datei in OnDeinit des Expert Advisors ein.

Übrigens, aus irgendeinem Grund habe ich einen Datensatz nur für den letzten Expert Advisor. Das heißt, 3 identische Skripte werden nacheinander getestet und schreiben Daten in 3 verschiedene Dateien, aber nur das letzte schreibt in seine eigene Datei.

Nun gut, ich habe weitere Expert Advisors dupliziert, aber der Datensatz bezieht sich immer noch nur auf den letzten Expert Advisor. Die Methode des Schreibens in eine Datei mit Standard filewrite in OnDeinit von jedem Expert Advisor.

Laut den Terminalprotokollen wird das Gleiche geöffnet und in den letzten geschrieben.
Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
FileWrite - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Aleksei Skrypnev:

Aber soweit ich das verstanden habe, kann man diesen Fall nicht so einfach lösen, indem man einfach einen Block zur Informationsaufzeichnung an der richtigen Stelle in die Bibliotheksdateien einfügt? (Das heißt, es gibt keinen fertigen Block, um jeden Durchgang in einer Datei zu speichern).

Ich habe Kombinationen erstellt, die nach der Optimierung die besten Durchläufe aus der Opt-Datei heraussuchen. Darauf aufbauend habe ich dann weitere Optimierungsaufträge erstellt.

Aber das ist wirklich etwas, was nur wenige Leute hier machen können.

 
Aleksei Skrypnev:

Übrigens, aus irgendeinem Grund nehme ich nur den letzten EA auf.

Ich verstehe das nicht.

 
fxsaber:

Das verstehe ich nicht.

In der Bibliothek gibt es eine Datei MultiTester_Example2.

Ich nahm es und fügte zu den bestehenden 4 EAs dort 3 weitere EAs identisch nur von einander kopiert.

In der ondeinit von jedem seiner Berater angegeben einen Datensatz in der Datei zum Beispiel advisor1 macht einen Datensatz in file1, advisor2 macht einen Datensatz in file2, advisor3 macht einen Datensatz in file3.

Ich werfe MultiTester_Example2 auf das Diagramm. Die Zeile läuft - zeigt das Ende an. Ich gehe zu den Datensatzordnern und sehe nur die aufgezeichnete Datei namens file3.

(Ich verstehe den Grund dafür noch nicht).

Ich füge z.B. EA4 hinzu, führe den Test durch und sehe die Ausgabeaufzeichnung in der Datei EA4.- (d.h. nur file4 und file1, 2, 3, nein).

Das heißt, nur der letzte Expert Advisor wird in die letzte Datei geschrieben.

(Das heißt, als ob OnDeinit mit der Bibliothek oder so 1 mal im allerletzten EA aus der Liste ausgeführt wird. ). ( Und nicht am Ende jedes EA aus der Liste. )

(Vorher habe ich versucht, in 1 Datei Informationen von jedem der 3-4 EAs zu schreiben, aber die Informationen in der Datei waren auch nur vom letzten EA.

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
FileWrite - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5