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

 
Dmitry:

Le temps passe, mais les tâches restent les mêmes. J'ai été confronté à la nécessité de calculer l'angle de pente de la tendance et j'étais sur le point de le faire sur la base de points de coordonnées, mais par chance, je suis tombé sur cet article. Je n'ai pas du tout considéré que si nous nous référons à des coordonnées, l'angle changera lors du zoom avant et arrière.

Il n'y a qu'une seule solution ici, il faut oublier le degré d'angle au sens classique du terme. Théoriquement, on peut construire un triangle dont l'un des cathéters est constitué de barres et l'autre de points, calculer l'angle de ce triangle. Vous obtiendrez la valeur technique de l'angle de pente, elle ne changera pas lorsque vous changerez l'échelle, mais vous verrez l'angle sur le graphique de manière assez différente, car nous avons différents types de données pour les cathéters.

À mon avis, il est préférable d'utiliser le pourcentage de changement de prix à un moment donné plutôt que les degrés. Après tout, ce sont les chiffres par lesquels vous construisez votre stratégie qui sont importants.

https://www.mql5.com/ru/code/28678

La phase est calculée en degrés, prend des valeurs de 0 à 360 et est représentée par la ligne verte 5 (lue dans le tableau 4).

La phase du compteur est également calculée en degrés, elle prend les valeurs de -360 à 0 et est représentée par la 6ème ligne rouge (lue à partir du tableau 5). Dans les calculs, il est plus pratique d'utiliser les valeurs de la phase du compteur dans la somme avec 360 (qui l'élève conventionnellement au niveau de la phase).


Pan PrizMA CD Phase Sin leverage_72
Pan PrizMA CD Phase Sin leverage_72
  • www.mql5.com
Этот индикатор построен на базе индикатора  PanPrizMA Sin leverage 72  , особенности которого позволяют  посчитать фазу и амплитуду. Иногда это может быть  полезно. Фаза рассчитывается в градусах, принимает значения от 0 до 360 и отображена 5-ой, зеленой линией (снимается с массива 4). Противофаза так же  рассчитывается в градусах, принимает...
 
Dmitry:

Le temps passe, mais les tâches restent les mêmes. J'ai été confronté à la nécessité de calculer l'angle de pente de la tendance et j'étais sur le point de le faire sur la base de points de coordonnées, mais par chance, je suis tombé sur cet article. Je n'ai pas pris en compte le fait que si l'on se réfère à des coordonnées, l'angle changera lors du zoom.

Il n'y a qu'une seule solution ici, il faut oublier le degré d'angle au sens classique du terme. Théoriquement, on peut construire un triangle dont l'un des cathéters est constitué de barres et l'autre de points, calculer l'angle de ce triangle. Vous obtiendrez la valeur technique de l'angle de pente, elle ne changera pas lorsque vous changerez l'échelle, mais vous verrez l'angle sur le graphique de manière assez différente, car nous avons différents types de données pour les cathéters.

À mon avis, il est préférable d'utiliser le pourcentage de variation du prix à un moment donné plutôt que les degrés. Après tout, ce sont les chiffres par lesquels vous construisez votre stratégie qui sont importants.

Mon point de vue n'a pas changé. La seule unité correcte de la pente de la ligne de tendance est le prix par unité de temps. L'angle de pente caractérise l'ordre dans lequel la ligne apparaît à l'écran, et pas du tout la taille de la tendance.

 
Georgiy Merts:

Mon point de vue n'a pas changé. La seule unité correcte de la pente de la ligne de tendance est le prix par unité de temps. L'angle de pente caractérise l'ordre dans lequel la ligne est affichée, et pas du tout l'ampleur de la tendance.

Je suis d'accord. Seuls les mots "la seule correcte" sont trop catégoriques. C'est l'unité de "pente" qui a la signification généralement acceptée, pour tout le monde la même, du taux de changement du cours lorsqu'on se déplace le long de la ligne de tendance. Il est clair que le taux de variation est lié à l'angle de pente de la ligne de tendance de la même manière que la dérivée première est liée à l'angle de pente du graphique de toute fonction y(x). L'angle est égal à arctg (dy/dx) si la valeur x est la même que la valeur y sur le graphique. S'ils sont différents, l'angle mesuré avec un rapporteur sera différent.

L'analogue de l'angle de pente peut être considéré non seulement comme le taux de changement de la trajectoire, c'est-à-dire la dérivée de la trajectoire sur le temps astronomique, mais par exemple l'incrément moyen de la trajectoire de tick à tick. Au lieu du temps astronomique, utilisez le temps "propre", ou "opérationnel" - le nombre de tic-tac.

 
Georgiy Merts:

Mon point de vue n'a pas changé. La seule unité correcte de la pente de la ligne de tendance est le prix par unité de temps. L'angle de pente caractérise l'ordre dans lequel la ligne est affichée, et pas du tout l'ampleur de la tendance.

+++ L'approche scientifique prime.

Toutes les autres beautés des hauts et des bas sont pour les spécialistes du marketing.

 
Daniil Kurmyshev:

Je suis d'accord avec vous, je n'aime pas ça, mais quand j'ai initialement créé cette fonction, j'ai vérifié plusieurs façons différentes, et ensuite je ne l'ai pas changé) et à propos des pixels, je suis complètement d'accord avec vous, le calcul le plus idéal de l'angle pour moi personnellement est de cette façon, voici ma fonction :

//-----------------------------------------------------------------------------------

// xAnglePixels /////////////////////////////////////////////////////////////////////

//-----------------------------------------------------------------------------------

double xAnglePixels(datetime x1,double y1,datetime x2,double y2) // x1,x2 Temps[] - y1,y2

{

if(x1==0 || x2==0 || y1==y2){return(0);}

//---

int x[2],y[2] ;

ChartTimePriceToXY(0,0,x1,y1,x[0],y[0]) ;

ChartTimePriceToXY(0,0,x2,y2,x[1],y[1]) ;

//---

if(x[1]<x[0]){return(-1000);}

//---

double x1x2=MathAbs(x[0]-x[1]);

double y1y2=MathAbs(y[0]-y[1]);

//---

double thêta ;

if(x1x2!=0){theta=MathArctan(y1y2/x1x2)*(180/3.1415926535);}

else{theta=90;}

if(y2<y1){theta=NormalizeDouble(theta*(-1),2);}else{theta=NormalizeDouble(theta,2);}

retour(thêta) ;

}

//---------------------------------------------------------------------------------

p.s. dans la fonctionif(x[1]<x[0]){return(-1000);} peut être supprimée, car je l'ai utilisée pour moi-même), et plus particulièrement elle est nécessaire si l'utilisateur a interverti deux points de l'objet à certains endroits.

//-----------------

A propos, pour les inscriptions sur le graphique, je l'utilise. Plus tôt dans la branche j'ai posté des exemples de travail de cet indicateur, là vous pouvez le voir.

//-----------------

Merci beaucoup à vous et respect)

Ayant besoin de cette fonctionnalité, j'ai commencé à tester votre fonction et j'ai constaté que le résultat

Cela dépend de l'échelle...

 
Le coin est le temps
 
podotr:
L'angle est le temps

Ouaip,

le temps est un angle

 
Denis Sartakov:

Ouaip,

le temps est un angle

Et on ne peut pas manger un angle :-) Un coin que vous pouvez brûler

 
L'angle est la vitesse et la vitesse est l'absence de repos. Tout le monde court, court...
 
Il est temps d'avoir un coin encore