Fehler, Irrtümer, Fragen - Seite 2685

 
Ich habe keine Informationen dazu gefunden

Strategietester im Optimierungsmodus "Langsam (Vollständige Aufzählung der Parameter" - bei welchem Gesamtwert der Optimierungsschritte wird auf genetische Optimierung umgeschaltet?

ZS: Ich wäre dankbar, wenn es eine Methode gäbe, eine vollständige Suche durchzuführen, so dass die genetische Optimierung nicht aktiviert wird.
 
Von Zeit zu Zeit schließt sich das MT4-Terminal spontan, es gibt nichts darüber im Log des Terminals und nichts in den Ereignissen des Gewinns. Wie lässt sich die Ursache für solche Abstürze ermitteln?
 
Igor Makanu:
ZS: Ich wäre dankbar, wenn es eine Methode gäbe, einen kompletten Overkill zu machen, damit die genetische Optimierung nicht einsetzt.

Batch-Optimierung.

 
Der ME-Debugger ist defekt (Build 2370) - StepInto (F11) und die gesetzten Breakpoints funktionieren nicht.
Das Problem ist, dass wenn die Aktion StepOver (F10) mindestens einmal auf einen Funktionsaufruf angewendet wird, es keine Möglichkeit gibt, diese Funktion später zu debuggen.

void Increment(int &n){
   ++n;
};

void test(){
   int n = 0;
   for(int i = 0; i < 100; ++i){
      DebugBreak();
      Increment(n);
   }  
}

void OnStart(){
   test();
}

Schritte zur Wiedergabe:
1) Führen Sie den Code im Debug-Modus aus;
2) Nachdem ein Haltepunkt ausgelöst wurde, führen Sie zweimal StepOver (F10) aus;

Das war's - jetzt gibt es keine Möglichkeit, in dieIncrement-Funktion zu gelangen, alle manuell gesetzten Haltepunkte funktionieren nicht, und statt der Operation StepInto (F11) wird tatsächlich StepOver (F10) ausgeführt.


 

Ein Fehler im ME-Debugger (Build 2370) - nachdem einHaltepunktausgelöst wurde, wird derselbeHaltepunkterneut ausgelöst, ohne dass Codeausgeführt wird, anstatt dieCodeausführung durch Drücken von (F5) fortzusetzen.

#include <Generic\ArrayList.mqh>

void OnStart(){
   CArrayList<int> arr;
   for(int i = 0; i < 5; ++i){
      arr.Add(i);
      arr.Add(2*i);
   }
}

Wiederholungsschritte:
1) Setzen Sie manuell
den Haltepunkt für beide Zeilen " arr.Add()";
2) Starten Sie das Debugging (F5);
3) Öffnen Sie mit PCM die verschachtelte Datei <Generic\ArrayList.mqh> in einer neuen Registerkarte.
4) Suchen Sie die Zeile "if(m_size==ArraySize(m_items))" in der Funktion "bool CArrayList::Add(T item)" und setzen Sieden Haltepunkt manuell.
5)
Fahren Siein der Registerkarte "ArrayList.mqh" mit der Ausführung des Codes fort (F5).

Dadurch wird derselbe
Haltepunkt wie zuvorausgelöst, ohne dass der Code tatsächlich ausgeführt wird.

 
MT5-Fehler (Build 2370) - Auslösen eines Haltepunkts in einer statischen Strukturmethode führt zum Aufhängen des MT-Terminals.
Infolgedessen ist es nicht möglich, den Codeder statischen Strukturmethode zu debuggen:

struct A{
   static void test(){
      DebugBreak();
   }
};

void OnStart(){
   A::test();
}
 
Igor Makanu:
Ich habe keine Informationen darüber gefunden

Strategy Tester im Modus "Langsam (vollständige Brute-Force-Optimierung)" - bei welchem Gesamtwert der Optimierungsschritte schaltet er auf genetische Optimierung um?

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Frage an die Entwickler - Verwendung aller Rechenkerne während der Optimierung

Andrey Dik, 2020.03.26 23:31

Sie können bis zu 100 Mio. Schritte einstellen, damit der Optimierer nicht auf Genetik umschaltet.


 
Andrey Khatimlianskii:

Ich habe diese Korrespondenz gefunden, und ich glaube, ich habe sie gelesen, als sie passierte - das Ergebnis ist ein Mitgliedsverbot, deshalb wollte ich die Originalquelle finden

Ich habe im Vollsuchmodus mit einem Parameter getestet - die Durchgänge sind durchnummeriert, im allgemeinen Vollsuche - funktioniert nach einer Logik der Entwickler, nicht nach dem semantischen Konzept

 
Igor Makanu:

im Vollsuchmodus mit einem Parameter getestet - Durchgänge werden durchnummeriert, im Allgemeinen Vollsuche - funktioniert nach einer Logik der Entwickler, nicht nach dem semantischen Konzept

Die Aufgaben werden also in Paketen an die Agenten verteilt.

1-100 für die erste, 101-200 für die zweite, usw.

Die Ergebnisse werden nach und nach eingeblendet (1, 101, 2, 102 usw.).

Leicht zu sortieren.

 
Andrey Khatimlianskii:

Daher werden die Aufgaben in Paketen an die Agenten verteilt.

1-100 für die erste, 101-200 für die zweite, usw.

Die Ergebnisse werden nach und nach eingeblendet (1, 101, 2, 102 usw.).

Leicht zu sortieren.

OK, das ist eine gute Antwort, das ist ungefähr richtig, schade, dass die Originalquelle nie gefunden wurde,

Es bleibt noch herauszufinden, bei welcher Gesamtzahl von Pässen GA enthalten sein wird, bisher scheint es so, dass 100 000 000 Pässe für meine Aufgaben ausreichend sind