Comment calculer la longueur d'une ligne à partir de ses coordonnées ?

 

Comment obtenir la longueur d'une ligne en zigzag (longueur d'onde en substance) dans n'importe quelle unité, en connaissant les coordonnées de deux points ?

J'ai besoin de comparer les longueurs d'onde des deux en pourcentage.


=== edit===

Le respecté sergeev à la page 9 a donné le code, je l'ai modifié pour convenir à ma tâche :

Remarque importante : lors du rembobinage, de la compression et de l'étirement, les valeurs changent !

#import "user32.dll"
        int GetWindowDC(int dc);
        bool GetWindowRect(int h, int& pos[4]);
        int ReleaseDC(int h, int dc);

#import

// B1 и B2 - это номера баров
double GetLengthTrendLineInPixels(int B1, double P1, int B2, double P2)
{
    int hWnd = WindowHandle(Symbol(), Period());
    int hDC = GetWindowDC(hWnd); // получаем хендл окна
    int rect[4]; GetWindowRect(hWnd, rect); ReleaseDC(hWnd, hDC);   // берем его DC
    double wW = rect[2]-rect[0]; double wH = rect[3]-rect[1];           // получаем высоту и ширину в пикселях
    double H =(WindowPriceMax()-WindowPriceMin()); double W = WindowBarsPerChart(); // переводим на график
    double lengthW = wW / W * MathAbs(B1 - B2); // ширина в пикселях; wW / W = 1 бар в пикселях
    double lengthH = wH / H * MathAbs(P1 - P2); // высота в пикселях; wH / H = 1 пункт в пикселях
    return(MathSqrt(MathPow(lengthW, 2) + MathPow(lengthH, 2)));
}
 
AlexSTAL:

Comment obtenir la longueur de la ligne en zigzag (longueur d'onde en substance) dans n'importe quelle unité, en connaissant les coordonnées des deux points ?

J'ai besoin de comparer les longueurs d'onde des deux en pourcentage.

pas une bonne idée, vous allez additionner les points et le temps, ce n'est pas logique)
 
En termes purement mathématiques : la racine carrée de la somme des carrés (théorème de Pythagore).
 
mais juste la longueur en points si vous soustrayez le plus court du plus long ne fonctionnera pas ?
 
sanyooooook:
Ce n'est pas une bonne idée, vous allez additionner des points et des temps, donc vous ne pouvez pas faire ça (pas logique) ).
Et si à la place de l'heure - des numéros de barre*TF ? Par exemple, 1 : 1,5413+48*15, 2 : 1,5466+1*15.
 
Abzasc:
Et si à la place de l'heure - des numéros de barre*TF ? Par exemple, 1 : 1,5413+48*15, 2 : 1,5466+1*15.
Je m'en fiche, si ce n'est pas un prix, ça n'a pas de sens).
 
sanyooooook:
peu importe, si ce n'est le prix, il n'y a aucun intérêt)

Si nous parlons d'une valeur relative, cela a du sens.

L'intérêt de Pythagore est de calculer la longueur du vecteur en arcs de Fibonacci.

Simplement, avec le temps, on peut dire que l'élan s'épuise, et si le mouvement n'est pas réalisé dans un certain temps, il s'épuise.

En tant que mesure d'impulsion, elle peut donc faire l'affaire, l'essentiel étant que la discrétisation du temps soit égale dans les deux impulsions comparées.

N'hésitez donc pas à additionner le carré de la différence de prix (ou mieux, à la traduire en points de distance parcourue) et le carré de la barre de mouvement,

et la racine vous donnera la valeur relative souhaitée pour la comparaison.

 
sanyooooook:
peu importe, si ce n'est pas le prix, il n'y a pas d'intérêt )
L'essentiel est dans le voyage :)
 
Abzasc:
L'important, c'est le voyage :)

La route est pour ceux qui marchent, et le voyage de mille kilomètres commence par le premier pas.

Mec, je vais bientôt être un philosophe sceptique avec les maths :o)

 

En fait, je faisais référence à la longueur de l'hypoténuse :) qu'en pensez-vous ? ;)

 
De quelle hypoténuse peut-on parler si les "cathetus" ne sont pas seulement faits de pâte différente, mais dans des espaces différents ? Plus précisément, ils sont tout simplement incommensurables.