Diskussion zum Artikel "Ökonometrischer Ansatz zur Ermittlung von Marktmustern: Autokorrelation, Heatmaps und Streudiagramme" - Seite 2

 
Maxim Dmitrievsky:

Hallo, MetaQuotes hat die Python-API geändert, so dass diese Funktionen jetzt nicht funktionieren. Vielleicht später werde ich dies beheben und ein neues Notizbuch anhängen

Außerdem können Sie die neue Dokumentation auf dieser Seite einsehen

Vielen Dank, Herr, für Ihre schnelle Antwort und Ihre Mitarbeit


Ich warte auf Ihre neue Datei.

 

Schöner Artikel! Danke, dass Sie Ihre Arbeit mit uns teilen!

Ich hoffe, Sie finden etwas Zeit, um das Problem mit der Python-API zu beheben.


/Rasoul

 

Festes Notizbuch

 

Korrigierte Version des Notizbuchs, aufgrund einer geänderten Python-Api

 
Maxim Dmitrievsky:

Korrigierte Version des Notizbuchs, aufgrund einer geänderten Python-Api

Dem Artikel beigefügt

 

Close[-1] = (Close[0]-Close[lag]) - ((Close[lag]-Close[lag*2]) - (Close[lag-1]-Close[lag*2-1])))

Wenn die gleiche Formel hier angewandt wird, dann ist die Situation ähnlich wie bei der MA-Vorhersage: Je länger der Zeitraum, desto genauer ist die MA-Vorhersage einen Schritt voraus.

Ich habe den MA einer großen Periode genommen, einen Balken vorausgesagt und dann die Preisvorhersage daraus berechnet. Ich berechnete den Vorhersagefehler (reale Preisvorhersage). Ich berechnete die Preisinkremente. Das Ergebnis war, dass der Fehler größer war als die Inkremente. Man kann also sagen: "Heute wird es wie gestern" ist die beste Vorhersage.

 
Rorschach:

Close[-1] = (Close[0]-Close[lag]) - ((Close[lag]-Close[lag*2]) - (Close[lag-1]-Close[lag*2-1])))

Wenn die gleiche Formel hier angewandt wird, ist die Situation ähnlich wie bei der MA-Vorhersage: Je länger der Zeitraum, desto genauer ist die MA-Vorhersage einen Schritt voraus.

Ich habe den MA einer großen Periode genommen, einen Balken vorausgesagt und dann die Preisvorhersage daraus berechnet. Ich berechnete den Vorhersagefehler (reale Preisvorhersage). Ich berechnete die Preisinkremente. Das Ergebnis war, dass der Fehler größer war als die Inkremente. Man kann also sagen: "Heute wird es so sein wie gestern" ist die beste Vorhersage.
.

Dort wird eine Autoregression auf eine gefilterte Reihe (spezifisch, bedingt, Stunden) verwendet. Die Inkremente der benachbarten Uhren werden als Regressoren verwendet. Ja, dies ist eine Vorhersage, die einen Schritt voraus ist. Genauere Experimente habe ich nicht durchgeführt. Wenn Sie ein benutzerdefiniertes Symbol in mt5 für Random Wolf erstellen, können Sie mit dem Bot aus dem Artikel testen. Leider bin ich nicht mit ihnen befreundet. Vielleicht wird jemand einen erstellen.
 
#property script_show_inputs
#include <Math\Stat\Math.mqh>
#include <rndxor128.mqh>//https://www.mql5.com/de/articles/273
//--- Eingabeparameter
input string   symbol_origin="EURUSD";// Symbolname, auf dessen Grundlage das benutzerdefinierte Symbol erstellt werden soll 
input string   symbol_name="MySymbol";// Name des Benutzerzeichens 
input datetime From=D'2019.01.01';
input datetime To=D'2020.01.01';

void OnStart()
  {
   CustomSymbolCreate(symbol_name,"",symbol_origin);
   SymbolSelect(symbol_name,true);
   int count=100;//StdDev m1=sqrt(count)
   RNDXor128 xor;
   //xor.SRand(6);//(GetTickCount());
   MqlRates A[];
   double B[]; ArrayResize(B,count);
   int total=CopyRates(symbol_origin,PERIOD_M1,From,To,A);
   for(int i=0;i<total;i++)
     {for(int j=0;j<count;j++) {B[j]=(xor.Rand()<2147483648)?_Point:-_Point;}
      MathCumulativeSum(B);
      A[i].open=(i>0) ? A[i-1].close : 1.1;
      A[i].high=MathMax(B)+A[i].open;
      A[i].low=MathMin(B)+A[i].open;
      A[i].close=B[count-1]+A[i].open;
      A[i].tick_volume=count;
     }
   Print(CustomRatesReplace(symbol_name,From,To,A));
  }
In den Diagrammeinstellungen (Strg+O) müssen Sie die gewünschte Anzahl von Balken auswählen.
 
Rorschach:
In den Diagrammeinstellungen (Strg+O) müssen Sie die gewünschte Anzahl von Balken auswählen.

Später werde ich die gleiche Methode mit Autoregression durchführen, die Serien in Python hochladen und das Modell erstellen.

 

Vielen Dank für Ihre Artikel, ich habe sie wirklich gerne gelesen!

Mir ist aufgefallen, dass Sie in diesem Beispiel den .diff(lag) nach der Auswahl der einzelnen Stunde im gesamten Artikel festlegen, was bedeutet, dass ein Lag von 25 tatsächlich einem Lag von 25 Tagen entspricht.

Die Ausnahme ist die 3D-Darstellung, bei der Sie die Verzögerung anwenden, bevor Sie die Stunde auswählen. War dies beabsichtigt?