Diskussion zum Artikel "R-squared als Gütemaß der Saldenkurve einer Strategie" - Seite 8

 

Hier haben wir ein Bild:

Je nachdem, wie der Graph gestreckt wird, ergibt sich für dasselbe Segment ein anderer Winkel. Nehmen wir das zweite Diagramm und eine Reihe dieser Punkte als Referenz:

Vasiliy Sokolov:
PunktWertZeit
№112018.03.21
№2103482018.08.13

Dann für einen Satz wie diesen:

PunktWertZeit
№112018.03.21
№2103482018.08.21

Diese Linie wird schon ungefähr so aussehen:


Der Winkel der blauen Linie ist offensichtlich kleiner als der Winkel der roten Linie. Hier ist es ein Erfolg! Pinocchios jubeln! Das Problem ist jedoch, dass der ursprünglich gewählte Winkel der roten Linie wirklich alles hätte sein können, wie 45% oder 20 oder 1%. In diesem Fall hätte sich auch der Winkel der blauen Linie geändert. Es gibt also kein Kriterium, das uns objektiv sagt, dass das ursprünglich aufgenommene Koordinatensystem wirklich diesen oder jenen Winkel hat. Ein Benutzer, der das Bild Nr. 2 als Grundlage für den blauen Trendwinkel genommen hat, hätte also 45 %, ein anderer Benutzer, der das Bild Nr. 3 als Grundlage für den gleichen blauen Trendwinkel genommen hat, hätte nur 10 %.

 
Vasiliy Sokolov:

Hier haben wir ein Bild:

Je nachdem, wie der Graph gestreckt wird, ergibt sich für dasselbe Segment ein anderer Winkel. Nehmen wir das zweite Diagramm und eine Reihe dieser Punkte als Referenz:

Dann gilt für diese Menge:

PunktWertZeit
№112018.03.21
№2103482018.08.21

Diese Zeile wird schon ungefähr so aussehen:


Der Winkel der blauen Linie ist offensichtlich kleiner als der Winkel der roten Linie. Das ist ein Erfolg! Die Pinocchios jubeln! Aber das Problem ist, dass der ursprünglich gewählte Winkel der roten Linie wirklich alles hätte sein können, wie 45% oder 20 oder 1%. In diesem Fall hätte sich auch der Winkel der blauen Linie geändert. Es gibt also kein Kriterium, das uns objektiv sagt, dass das ursprünglich aufgenommene Koordinatensystem wirklich diesen oder jenen Winkel hat. So wird ein Benutzer, der Bild Nummer 2 als Grundlage genommen hat, 45% Winkel des blauen Trends haben, und ein anderer Benutzer, der Bild Nummer 3 als Grundlage genommen hat, wird nur 10% Winkel des gleichen blauen Trends haben.

Das ist es, was ich Ihnen sage: Sie müssen einen Vergleich anstellen, verstehen Sie? Man muss ihn nicht mit anderen teilen (wenn der Benchmark allgemein ist, kann man ihn teilen), sondern man muss eine Schätzung des Ergebnisses in einer bestimmten Stichprobe abgeben. Wenn wir uns für Option 2 entschieden haben, dann nutzen wir sie.

 
Ich will damit nicht sagen, dass es ein gutes Kriterium für die Bewertung ist, sondern ich spreche von der Fähigkeit, den Winkel des Bildes zu messen.
 

Ich habe nicht alle Kommentare gelesen. Vielleicht hat es schon jemand geschrieben. Es gibt einen solchen Fehler in der Funktion CustomR2Equity(double& equity[], ENUM_CORR_TYPE corr_type = CORR_PEARSON):

for(int x = 0; x < total; x++)
      estimate[x] = x*a+b;

Es sollte wie folgt aussehen:

for(int x = 0; x < total; x++)
      estimate[x] = a+b*x;
 
Wieder einmal ein hochkarätiger Artikel des Autors.
Danke
 

Vielen Dank für den tollen Artikel.

In dem Artikel heißt es, dass einer der Nachteile der R2-Methode darin besteht, dass sie"ausschließlich für die Schätzung von linearen Prozessen oder Systemen, die mit einem festen Los handeln, anwendbar ist". Ich versuche, meine Strategie für den Aktienmarkt zu optimieren, und ich verwende ein dynamisches Positionsvolumen, das auf dem ATR-Wert basiert, also kann ich diese Methode in meinem Fall wohl nicht anwenden. Aber meine Frage ist, wie man ein nicht lineares System optimieren könnte?

 
Normalisieren Sie das Volumen: Nehmen Sie den Gewinn und teilen Sie ihn durch die Losgröße
 
Das ist genial. Vielen Dank für den großartigen Artikel! Ich frage mich, wie R2 die Qualität im Vergleich zur Messung der Standardabweichung von einem gleitenden Durchschnitt des Kontostands misst.
 

Hallo,

wenn ich versuche, R² zu verwenden:

#include <Rsquare.mqh>
.
.
.
double OnTester()
{
   return CustomR2Balance();
}

Ist okay.

aber mit

#include <Rsquare.mqh>
.
.
.
double OnTester()
{
   Manager.SetCustomOptimizeR2Balance(CORR_PEARSON);
   return Manager.OnTester();
}

erhalte ich:

'Manager' - nicht deklarierter Bezeichner

Wie kann ich ihn in meinem EA deklarieren?


Wie sollte ich Manager in meinem EA deklarieren?

 
Funktioniert das an den Artikel angehängte Archiv für jemanden? Ich habe 37 Fehler in den Klassen des Autors
CMessage::Init(ENUM_MESSAGE_TYPE type,string source,string text)
und so weiter... Funktioniert der Expert Advisor des Autors für jeden?