Bibliotheken: MultiTester - Seite 42

 

Guten Tag!

Ist es möglich, vom Skript aus das Start- und Enddatum des Optimierungszeitraums zu ändern, das beim Start des Skripts festgelegt wurde?


In diesem Fall wäre es möglich, die Optimierungsoptionen zu erweitern.


Mit freundlichen Grüßen, Alexander

 
klycko #:

Ist es möglich, das Start- und Enddatum des Optimierungszeitraums, das bei der Ausführung des Skripts festgelegt wurde, über das Skript zu ändern?

MTTESTER::SetValue(Settings, "FromDate", TimeToString(D'2020.01.01', TIME_DATE));
MTTESTER::SetValue(Settings, "ToDate", TimeToString(TimeCurrent(), TIME_DATE));
 
fxsaber #:

Ich danke Ihnen!

 
Fantastische Bibliothek !!!
 
fxsaber #:
Sie haben eine opt-Datei in einem Byte-Array erhalten. Als nächstes müssen Sie sie in den Cache einspeisen.

Guten Tag!


Die Frage betrifft die Prozedur Run.

Ich kann nicht verstehen, warum der Befehl: Settings[0] = Cache.TesterString(Pos);

den Einstellungsstring Settings[0] durcheinander bringt.

Unten ist der Code-Text, und die Daten aus dem Protokoll sind beigefügt.

Mit freundlichen Grüßen, Alexander.


Run(Settings[0]); // Genetische Optimierung für den Parameter TF durchführen

TESTERCACHE<ExpTradeSummary> Cache;

GLOC = MTTESTER::GetLastOptCache(Bytess); // Opt-Datei in Bytess Byte-Array holen

CL = Cache.Load(Bytess); // Einspeisen des Bytess-Byte-Arrays in den Cache

Print(" GLOC = ",GLOC," CL = ",CL); // Diagnose schreiben und lesen

// ProfitNow = Cache[GetMaxProfitPos(Cache)].profit; // Maximaler Gewinn https://www.mql5.com/ru/forum/318998/page2#comment_13846951

int NomProchMaxProfit = Cache[GetMaxProfitPos(Cache)].Pass; // Nummer des Durchgangs mit maximalem Gewinn

// Cache.GetInputs(IndexMaxProfitRuna,Paramas);

// prWrite2 = Cache.Save(OptFile); // Speichern des Laufergebnisses in einer Opt-Datei in MQL5\Files

// prRead2 = Cache.Load(OptFile); // Lesen zur Überprüfung aus MQL5\Files

// Print(OptFile+" write = ",prWrite2," read = ",prRead2); // Diagnose schreiben und lesen

Pos = GetMaxProfitPos(Cache);

Cache.SaveSet(Pos); // Erstellen einer Set-Datei des profitabelsten Durchlaufs in MQL5\Files


Print("Pos = ",Pos," NomProchMaxProfit = ",NomProchMaxProfit);

Print("Before Cache.TesterString(Pos) ",PrGenetic," NumPeriod=",NumPeriod,"\nControl Genetics: \n",Settings[0]);


Settings[0] = Cache.TesterString(Pos); // Neue Einstellungen in den aktuellen Settings-String schreiben

// Im vorherigen Befehl ist die Zeichenkette Settings[0] sehr hässlich, obwohl der Wert TF=20 korrekt gesetzt ist.

Print("Nach Cache.TesterString(Pos) ",PrGenetic," NumPeriod=",NumPeriod,"\nControl of genetics: \n",Settings[0]);


Библиотеки: TesterCache - Что такое 0xCACA?
Библиотеки: TesterCache - Что такое 0xCACA?
  • 2019.08.31
  • Good Beer
  • www.mql5.com
Да и дальше взаимодействия с Оптимизатором нет никакого. в кеше Оптимизатора по каждому проходу хранятся все стат. Бонусом идет возможность запуска любого прохода из обновленной таблицы стандартными средствами в два щелчка
Dateien:
kbrl69.txt  12 kb
 
klycko #:

// Im vorherigen Befehl ist die Zeile Settings[0] sehr hässlich, obwohl der Wert TF=20 korrekt gesetzt ist.

Ich verstehe das nicht.
 
fxsaber #:
Ich verstehe das nicht.

Guten Tag!

Der Befehl Settings[0] = Cache.TesterString(Pos); setzt stark verzerrte Informationen in Settings[0], obwohl der gefundene optimale Wert TF=20 korrekt gesetzt ist.

Aber die Struktur von Settings[0] selbst ist bereits zerstört. Sogar der rechte Rand des Intervalls für TF wurde von H1 auf M12 geändert.

Im beigefügten Protokoll ist die Zeile Settings[0] vor und nach der Ausführung des obigen Befehls ausgedruckt.

Ich kann nicht verstehen, warum dieser Befehl dieSettings[0]- Zeile so stark verzerrt.

 
klycko #:

Ich kann nicht verstehen, warum dieser Befehl die Zeichenkette Settings[0] so stark verzerrt.

Bitte senden Sie die opt-Datei an LS.

 
klycko #:

Optimierung=1 geändert, obwohl es nicht geändert werden sollte

Wenn ein GA ausgewählt wird, aber die Anzahl der Durchläufe gering ist, schaltet der Tester automatisch in den Vollsuchmodus. Aus diesem Grund zeigt opt-file nach der Auswahl von GA manchmal an, dass es einen vollständigen Überlauf gab. Das Ablesen dieses Wertes ist korrekt.

 
klycko #:

Außerdem wurden die Datenstrukturen für viele Parameter geändert:

Baza=46 Richtig müsste es heißen: Baza=46||20|||1||||50||N

Bereiche von nicht optimierten Parametern werden nicht in die opt-Datei geschrieben (Ausnahme: bool-Parameter). Folglich hat die Änderung eines solchen Bereichs keine Auswirkungen auf den Generator des opt-Dateinamens. Hier wird korrekt gearbeitet.

Die Anwendung solcher "reduzierten" Einstellungen verletzt nicht die zuvor gewählten Bereiche der nicht optimierbaren Eingabeparameter.