Berechnung des Neigungswinkels der Trendlinie. - Seite 21

 

Forum für Handel, automatisierte Handelssysteme und Strategietests

Alle Fragen von Neulingen zu MQL4 und MQL5, Tipps und Diskussionen zu Algorithmen und Codes

Nikolai Semko, 2020.10.26 00:34

Sie sollten keine Angst vor Geschwindigkeit haben. Es ist nur eine Bedingung für die Typkonvertierung.
Als eine Variante der Winkeldefinitionsfunktion:

struct PointPriceTime
  {
   double            price;
   datetime          time;
                     PointPriceTime(double p, datetime t) { price=p; time=t; };
   void              Set(double p, datetime t){ price=p; time=t;};
                     PointPriceTime(PointPriceTime &p){ price=p.price; time=p.time; };
                     PointPriceTime() { price=0.0; time=0; };
  };

double Angle(PointPriceTime &p1,PointPriceTime &p2) // возвращает угол в градусах в приведенной системе координат price-price, где по оси X 
  {                                                 // расстояние между x1 и  x2  = N*_Point, где N - количество минутных баров во временном промежутке отрезка. 
   static int tf[9]= {PERIOD_M1,PERIOD_M5,PERIOD_M15,PERIOD_M30,PERIOD_H1,PERIOD_H4,PERIOD_D1,PERIOD_W1,PERIOD_MN1};
   int i=0;
   while(i<9 && SeriesInfoInteger(_Symbol,tf[i],SERIES_FIRSTDATE)>p1.time)
      i++;
   if(i==9)
     {
      Print("Время левой границы вне диапазона исторических данных");
      return DBL_MAX;
     }
   int bar1 = iBarShift(_Symbol,tf[i],p1.time);
   int bar2 = iBarShift(_Symbol,tf[i],p2.time);
   if(bar1==bar2)
      return 0.0;
   return atan((p2.price-p1.price)/((bar1-bar2)*PeriodSeconds(tf[i])*_Point/60))*180/M_PI;
  }

Nach MT5 ist das Gefühl von MT4 einfach furchtbar. Der Zugang zur Geschichte ist irgendwie entschärft. Ich spreche nicht einmal von den Zecken.




 
Nikolai Semko:

Und wohin würde diese "Ecke" dann führen?

 
Dmitry Fedoseev:

Und wohin dann mit diesem "Winkel"?

Bringen Sie es auf einen Punkt pro Minute, beobachten Sie, wie lange es dauert und ziehen Sie Ihre Schlüsse)

 
Valeriy Yastremskiy:

Bringen Sie eine Minute auf den Punkt, sehen Sie, wie lange es dauert und ziehen Sie Ihre Schlüsse)

Worum geht es in einer Minute? Warum etwas einführen, wenn schon längst alles auf Punkte pro Barren reduziert ist?

 
Dmitry Fedoseev:

Und warum in einer Minute? Warum irgendwo hinführen, wenn alles schon vor langer Zeit zu Punkten pro Balken geführt worden ist?

philosophische Frage. Wenn ich die Fraktalität bei verschiedenen Zeitrahmen berücksichtige, schätze ich manchmal die Geschwindigkeit in Balken, aber es ist irgendwie interessant und kommt auf denselben Nenner. Es ist nicht sehr nützlich, aber es ist offensichtlich, dass die Geschwindigkeit bei kleinen Zeitrahmen höher ist.

Sicherlich hat es etwas, ich weiß nicht, wie ich es ausdrücken soll, eine Reflexion der Dynamik, so etwas in der Art. Die Struktur der Bewegungen ist die gleiche.

 
Valeriy Yastremskiy:

philosophische Frage. Ich habe versucht, das Beste daraus zu machen, aber ich habe versucht, das Beste daraus zu machen, und ich habe versucht, das Beste daraus zu machen. Ich sehe keinen Nutzen, aber es ist offensichtlich, dass die Geschwindigkeit auf kleinen Zeitskalen höher ist.

Sicherlich hat es etwas, ich weiß nicht, wie ich es ausdrücken soll, ein Spiegelbild der Dynamik. Die Struktur der Bewegungen ist die gleiche.

Sie können über alles fantasieren, was Sie wollen. Man kann sogar zählen, wie oft ein Lkw-Fahrer pro Fahrt pinkeln ging, und dies sogar zur Gesamtstrecke addieren und sich wundern - oh, sie ist 30 Meter länger geworden.

 
Dmitry Fedoseev:

Sie können über alles phantasieren, was Sie wollen. Man kann sogar zählen, wie oft ein Lkw-Fahrer pro Fahrt pinkeln gegangen ist, und das zur Gesamtstrecke addieren und sich wundern - oh, sie ist 30 Meter länger.

Ich besitze NICHT diese Art von Direktheit der Gedanken. Ich gehe den schwierigen Weg. Zuerst schaue ich mir an, was ich messen und berechnen kann, und erst dann überlege ich, was ich damit machen kann.

Frage: Wie einfach ist es, vom aktuellen Takt aus das Ende des Korridors nach links zu berechnen? Der Korridor kann in relativen Veränderungen der Differenz von Tiefst- und Höchstwerten bestehen, und die Geschwindigkeit von Tiefst- und Höchstwerten kann berechnet werden, aber das ist schwierig. Ich würde es gerne einfacher machen.

Minute mit Extremen.

 

Einfachheit ist ein relativer Begriff. Einfach in welchem Sinne? Am einfachsten in der Umsetzung - einfach die letzten Takte durchlaufen.

Am einfachsten in Bezug auf die Leistung... Es gibt eine Menge Fragen. In diesem Fall sollten wir versuchen, von links nach rechts zu gehen und auf jedem Balken nur einmal zu sein. Wenn es überhaupt möglich ist. Zumindest sollte man es anstreben.

 
Dmitry Fedoseev:

Einfachheit ist ein relativer Begriff. Einfach in welchem Sinne? Am einfachsten in der Umsetzung - einfach die letzten Takte durchlaufen.

Am einfachsten in Bezug auf die Leistung... Es gibt eine Menge Fragen. In diesem Fall sollten wir versuchen, von links nach rechts zu gehen und auf jedem Balken nur einmal zu sein. Wenn es überhaupt möglich ist. Zumindest sollten wir dies anstreben.

Es ist klar, dass wir eine Schleife nach Balken oder Extrema bilden sollten. Die Daten zu den Extremen sind als Balkenanzahl und Preis verfügbar. Was in die Bedingung aufgenommen werden soll. Die Korridore können von unterschiedlicher Breite und Neigung sein. Wenn sie weniger breit ist, befinden wir uns natürlich im Korridor, aber das ist eine Sackgassenlösung. Und ich kann keine dynamische Version erstellen. Dies ist für die erste Berechnung, um zu verstehen, dass es einen Korridor für den aktuellen Balken gibt.

Ich denke noch nicht über Leistung und Optimierung nach.

 
Valeriy Yastremskiy:

Es ist klar, dass sie durch Balken oder Extrema verläuft. Die Daten zu den Extremen werden in Form von Strichnummer und Preis angegeben. Was in die Bedingung aufgenommen werden soll. Die Korridore können von unterschiedlicher Breite und Neigung sein. Wenn sie weniger breit ist, befinden wir uns natürlich im Korridor, aber das ist eine Sackgassenlösung. Und ich kann keine dynamische Version erstellen. Dies ist für die erste Berechnung, um zu verstehen, dass es einen Korridor für den aktuellen Balken gibt.

Ich denke noch nicht über Leistung und Optimierung nach.

Wir können eine lineare Regression für Höchst- und Tiefstwerte berechnen. Der Abstand zwischen den Grenzen sollte relativ zur Standardabweichung gemessen werden.

Wie flach der Kanal ist, lässt sich anhand der Korrelation der B-Koeffizienten der oberen und unteren Schranke abschätzen. Wenn eine solche Genauigkeit erforderlich ist.

Das Gefälle des Gerinnes kann auch durch den B-Koeffizienten bestimmt werden.

...

Oder Sie können einfach den Durchschnitt der Differenz zweier benachbarter Fraktale berechnen.