Calcul de l'angle de pente de la ligne de tendance. - page 21

 

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Toutes les questions des débutants sur MQL4 et MQL5, conseils et discussions sur les algorithmes et les codes.

Nikolai Semko, 2020.10.26 00:34

Vous ne devez pas avoir peur de la vitesse. C'est juste une conditionnalité pour la conversion de type.
Comme une variante de la fonction de définition des angles :

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;
  }

Après MT5, la sensation de MT4 est tout simplement affreuse. L'accès à l'histoire est en quelque sorte émasculé. Je ne parle même pas des tiques.




 
Nikolai Semko:

Et puis, où irait ce "coin" ?

 
Dmitry Fedoseev:

Et ensuite, où mettre cet "angle" ?

Amenez-le à un point par minute, voyez combien de temps et tirez-en des conclusions).

 
Valeriy Yastremskiy:

Amener à un point une minute, voir combien de temps et tirer des conclusions)

Quel est l'intérêt d'une minute ? Pourquoi introduire quelque chose alors que tout est déjà réduit à des points par barre depuis longtemps ?

 
Dmitry Fedoseev:

Et pourquoi dans une minute ? Pourquoi mener quelque part quand tout a déjà été mené aux points par barre il y a longtemps ?

question philosophique. Si je prends en compte la fractalité à différentes échéances, j'estime parfois la vitesse en barres, mais c'est plutôt intéressant et cela revient au même dénominateur. Ce n'est pas très utile mais il est évident que la vitesse est plus élevée sur les petites échéances.

C'est sûr que ça a quelque chose, je ne sais pas comment le dire, un reflet de la dynamique, quelque chose comme ça. La structure des mouvements est la même.

 
Valeriy Yastremskiy:

question philosophique. J'ai essayé d'en tirer le meilleur parti, mais j'ai essayé d'en tirer le meilleur parti, et j'ai essayé d'en tirer le meilleur parti. Je ne sais pas si cela a un effet, mais il est évident que la vitesse est plus élevée sur les petites échéances.

C'est sûr que ça a quelque chose, je ne sais pas comment le dire, un reflet de la dynamique, quelque chose comme ça. La structure des mouvements est la même.

Vous pouvez fantasmer sur tout ce que vous voulez. Vous pouvez même compter le nombre de fois où un chauffeur de camion a pissé par trajet et l'ajouter à la distance totale pour vous émerveiller - oh, elle s'est allongée de 30 mètres.

 
Dmitry Fedoseev:

Vous pouvez fantasmer sur tout ce que vous voulez. Vous pouvez même compter le nombre de fois qu'un conducteur de camion a pissé par trajet et l'ajouter à la distance totale pour vous émerveiller - oh, c'est 30 mètres de plus.

Je ne possède pas ce genre de pensée directe. Je vais prendre le chemin le plus difficile. Je regarde d'abord ce que je peux mesurer, calculer et seulement ensuite je pense à ce que je peux en faire.

Question : est-il facile de calculer à gauche, à partir de la barre actuelle, la fin du couloir ? Le couloir peut se situer dans les changements relatifs de la différence entre les creux et les sommets, et la vitesse des creux et des sommets peut être calculée, mais c'est difficile. Je voudrais le rendre plus simple.

Minute avec les extrêmes.

 

La simplicité est un concept relatif. Simplicité dans quel sens ? Le plus simple en termes de mise en œuvre - il suffit de parcourir les dernières mesures.

Si le plus simple en termes de performance... il y a beaucoup de questions. Dans ce cas, il faut essayer d'aller de gauche à droite, et de ne se trouver qu'une seule fois sur chaque barre. Si c'est possible. Il faut au moins s'efforcer de l'atteindre.

 
Dmitry Fedoseev:

La simplicité est un concept relatif. Simple dans quel sens ? Le plus simple en termes de mise en œuvre - il suffit de parcourir les dernières mesures.

Si le plus simple en termes de performance... il y a beaucoup de questions. Dans ce cas, il faut essayer d'aller de gauche à droite, et de ne se trouver qu'une seule fois sur chaque barre. Si c'est possible. Au moins, nous devrions nous efforcer de l'atteindre.

Il est clair que nous devons boucler par des barres ou des extrema. Les données extrêmes sont disponibles sous forme de numéro de barre et de prix. Ce qu'il faut mettre dans l'état. Les couloirs peuvent être de largeur et de pente différentes. Bien sûr, si la largeur est moindre, nous serons dans le couloir, mais c'est une solution de blocage. Et je ne peux pas en faire une dynamique. C'est pour le premier calcul, pour comprendre qu'il y a un couloir pour la barre actuelle.

Je ne pense pas encore aux performances et à l'optimisation.

 
Valeriy Yastremskiy:

Il est clair qu'il passe par des barres ou des extrema. Les données extrêmes sont sous forme de numéro de barre et de prix. Ce qu'il faut mettre dans l'état. Les couloirs peuvent être de largeur et de pente différentes. Bien sûr, si la largeur est moindre, nous serons dans le couloir, mais c'est une solution de blocage. Et je ne peux pas en faire une dynamique. C'est pour le premier calcul, pour comprendre qu'il y a un couloir pour la barre actuelle.

Je ne pense pas encore aux performances et à l'optimisation.

Nous pouvons calculer une régression linéaire pour les hauts et les bas. La distance entre les bornes doit être mesurée par rapport à l'écart-type.

Vous pouvez estimer le degré de planéité du canal par la corrélation des coefficients B des limites supérieure et inférieure. Si une telle précision est requise.

La pente du canal peut également être déterminée par le coefficient B.

...

Ou bien, vous pouvez simplement calculer la moyenne de la différence entre deux fractales voisines.