Wie kann ich überprüfen, ob eine "Optimierung" oder eine "Vorwärtsoptimierung" im Gange ist?

 

Diese Option gibt in beiden Fällen "true" zurück.

ENUM_MQL_INFO_INTEGER program_OPTIMIZATION;
int OnInit()
  {
   program_OPTIMIZATION=(ENUM_MQL_INFO_INTEGER)MQLInfoInteger(MQL_OPTIMIZATION);
//---
  }
 

Für eine optimale Optimierung ist es am besten, wenn Sie Ihren eigenen Tester schreiben und sich nicht mehr mit diesen quälenden Fragen herumplagen müssen.

Wenn Sie einen funktionierenden EA schreiben können, warum können Sie dann nicht auch eine Testsoftware schreiben?

 
Yuriy Asaulenko:

Für eine optimale Optimierung ist es am besten, wenn Sie Ihren eigenen Tester schreiben und sich nicht mehr mit diesen quälenden Fragen herumplagen müssen.

Wenn Sie einen funktionierenden EA schreiben können, warum können Sie dann nicht auch eine Testsoftware schreiben?


Wie meinen Sie das?
 
Алексей Тарабанов:

Wie meinen Sie das?
Systeme. Mein aufrichtiges Beileid, aber ich kann Ihnen nicht helfen.
 
Zurzeit müssen Sie das Datum manuell festlegen, bevor die "Vorwärtsoptimierung" beginnt.
   if(program_OPTIMIZATION)
     {
      if(YearMQL4()<=2015 && MonthMQL4()<=5) // Оптимизация ('Оптимизация' начинается в 2015 году)
        {
         // Обрабатываем событие 
        }
      else                                   // Форвард-оптимизация
        {
         // Обрабатываем событие 
        }
     }
 

Der eingebaute Tester ist so konzipiert, dass, wenn Sie eine klassische volking vorwärts mit einem Bild von Berichten in jeder Phase zu machen, dann am Ende der zurück Optimierung müssen Sie das Enddatum der Optimierung ein "forward"-Datum zu machen, und zu beenden "Intervall" ein neues Datum gesetzt, jünger. Ich erstelle einen separaten Zeitplan, den ich haben möchte, speichere ihn in einer separaten Datei und ziehe von dort die gewünschten Termine der Reihe nach heraus. Und ich benutze den Auto-Optimierer, um diese drei Daten in die ini-Datei einzufügen.

1396310400 1. Beginn des Rückwärtsoptimierungsintervalls 2. Beginn des Vorwärtsintervalls

1401580800 1. Ende des Rückoptimierungsintervalls 2.

1404086400 2.Ende des Intervalls bei Vorwärtslauf

1398902400

1404172800

1406764800

1401580800

1406851200

1409356800

usw.

D.h. Aufteilung des Volking-Forward in zwei getrennte Vorgänge, die formell nicht miteinander verbunden sind, und das Ganze.

Optimierung, Satz speichern, ohne Optimierung mit neuen Daten beginnen, Vorwärtsergebnisse speichern und das Ganze noch einmal machen.

 
Youri Tarshecki:

Der hausinterne Tester ist so konzipiert, dass Sie, wenn Sie ein klassisches Volking Forward mit einem Berichtsbild bei jedem Schritt durchführen wollen, am Ende der Back-Optimierung das Enddatum der Optimierung zu einem "Forward"-Datum machen und ein neues, aktuelleres Datum für das Ende des "Intervalls" festlegen müssen.

D.h. Aufteilung von "wolfing-forward" in zwei separate Vorgänge, die formal nicht miteinander verbunden sind, und das war's.

Optimierung, Satz speichern, ohne Optimierung mit neuen Daten beginnen, Vorwärtsergebnisse speichern und das Ganze noch einmal machen.

Ich muss für Beschränkungen in OnTester() das Ende der Optimierung und den Beginn der Vorwärtsoptimierung kennen, wo diese Beschränkungen rückgängig gemacht werden sollen.
 
Lilita Bogachkova:
Ich muss das Ende der Optimierung und den Beginn der Vorwärtsoptimierung für Einschränkungen in OnTester() kennen.

Wie man das in OnTester macht, weiß ich nicht, denn ursprünglich habe ich einen anderen Weg gewählt, als ich herausfand, dass es unmöglich ist, Variablen einzeln zu optimieren, sondern nur gurtweise (obwohl es wahrscheinlich möglich ist, eine Liste zu erstellen und separat zu optimieren, aber das ist mir jetzt egal).

Der einzige Ort, den ich kenne und den ich ändere, ist C:\Programmdateien\........\tester\config.INI-Datei

 
Youri Tarshecki:

Ich bin nicht Ihr Berater, denn ursprünglich habe ich einen anderen Weg gewählt, sobald ich herausgefunden habe, dass es unmöglich ist, Variablen einzeln zu optimieren, sondern nur gurtweise (obwohl es höchstwahrscheinlich möglich ist, eine Liste zu erstellen und separat zu optimieren, aber jetzt bin ich nicht daran interessiert).

Der einzige Ort, den ich kenne und den ich ändere, ist C:\Programmdateien\........\tester\config.INI-Datei

Ich habe mich an den normalen MT-Tester gewöhnt. Aber in ihm, währendOnTester() ist unmöglich, 'LRCorrelation' von vorne zu bekommen. Ich versuche also herauszufinden, wie man es macht
 
Bogachkova:
Ich habe mich an den normalen MT-Tester angepasst. Aber es ist unmöglich, währendOnTester() 'LRCorrelation' von vorwärts darin zu erhalten. Ich versuche also herauszufinden, wie man es macht

Was ist "LRCorrelation" und warum brauchen Sie es? Und klären Sie, was nach Ihrem Verständnis "vorwärts" bedeutet.

 
Youri Tarshecki:

Was ist "LRCorrelation" und warum brauchen Sie es? Und klären Sie, was Sie mit "vorwärts" meinen.

Als Beispiel haben Sie Forward genannt.

LR-Korrelation- Korrelationskoeffizient der linearen Regression. Das Gleichgewichtsdiagramm ist eine gestrichelte Linie, die der Übersichtlichkeit halber durch eine gerade Linie angenähert werden kann. Um die Koordinaten dieser Geraden zu bestimmen, wird die Methode der kleinsten Quadrate angewendet. Die erhaltene Gerade wird als lineare Regression bezeichnet und ermöglicht es, die Abweichungen der Punkte der Bilanztabelle von der linearen Regression zu schätzen. Die Korrelation zwischen dem Bilanzdiagramm und der linearen Regression ermöglicht es, den Grad der Kapitalvariabilität zu schätzen. Je weniger stark die Bilanzkurve ansteigt und fällt, desto näher liegt der Wert dieses Indikators bei eins. Je näher er bei Null liegt, desto zufälliger ist der Handel.

Wenn der 'LRCorrelationforward'-Wert inOnTester() angezeigt wird, können Sie sofort sehen, welche Gleichgewichtskurve der Forward hat, und müssen nicht erst nach Ergebnissen mit der Gleichgewichtskurve suchen.