¿Cómo se calcula la longitud de una línea a partir de las coordenadas?

 

¿Cómo se obtiene la longitud de la línea en zigzag (longitud de onda en esencia) en cualquier unidad, conociendo las coordenadas de dos puntos?

Es necesario comparar las longitudes de onda de los dos en porcentaje


=== editar===

El respetado sergeev en la página 9 dio el código, lo ajusté para adaptarlo a mi tarea:

Nota importante: al rebobinar, comprimir o estirar los valores cambiarán.

#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:

¿Cómo se obtiene la longitud de la línea en zigzag (longitud de onda en esencia) en cualquier unidad, conociendo las coordenadas de los dos puntos?

Es necesario comparar las longitudes de onda de los dos en porcentaje

no es una buena idea, sumarás los puntos y el tiempo, no es lógico)
 
Bueno, en términos puramente matemáticos: la raíz cuadrada de la suma de los cuadrados (teorema de Pitágoras)
 
¿pero sólo la longitud en puntos si se resta la más corta de la más larga no funcionará?
 
sanyooooook:
No es una buena idea, estarás sumando puntos y tiempos, así que no puedes hacerlo (no es lógico) )
¿Y si en vez de tiempo - números de barra*TF? Por ejemplo, 1: 1,5413+48*15, 2: 1,5466+1*15.
 
Abzasc:
¿Y si en vez de tiempo - números de barra*TF? Por ejemplo, 1: 1,5413+48*15, 2: 1,5466+1*15.
No me importa qué, si no es un precio, no tiene sentido )
 
sanyooooook:
lo que sea, si no el precio, no tiene sentido)

Si hablamos de un valor relativo, tiene sentido.

El objetivo de Pitágoras es calcular la longitud del vector en arcos de Fibonacci.

Simplemente, con el tiempo se puede decir que el impulso se agota, y si el movimiento no se realiza en un tiempo determinado, se agota.

Por lo tanto, como medición de impulsos puede servir, lo principal es que la discreción del tiempo sea igual en los dos impulsos que se comparan.

Así que no dudes en sumar el cuadrado de la diferencia de precio (o mejor, tradúcelo en puntos de distancia recorrida) y el cuadrado de la barra de movimiento,

y la raíz le dará el valor relativo deseado para la comparación.

 
sanyooooook:
lo que sea, si no es el precio, no tiene sentido )
Lo importante es el viaje :)
 
Abzasc:
Lo importante es el viaje :)

El camino es para los que caminan, y el viaje de mil millas comienza con el primer paso.

Hombre, voy a ser un filósofo escéptico con las matemáticas pronto :o)

 

En realidad, me refería a la longitud de la hipotenusa :) ¿qué te parece? ;)

 
¿De qué hipotenusa podemos hablar si los "catetos" no sólo son de distinta pasta, sino que están en distintos espacios? Más concretamente, son simplemente inconmensurables.