Como se calcula o comprimento de uma linha a partir das coordenadas?

 

Como obter o comprimento da linha em ziguezague (comprimento de onda em essência) em qualquer unidade, conhecendo as coordenadas de dois pontos?

Necessidade de comparar os comprimentos de onda dos dois como uma porcentagem


Sergeev respeitado na página 9 deu o código, eu o ajustei para se adequar à minha tarefa:

Nota importante: ao rebobinar, comprimir/alongar os valores mudará!

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

Como obter o comprimento da linha em ziguezague (comprimento de onda em essência) em qualquer unidade, conhecendo as coordenadas de dois pontos?

Necessidade de comparar os comprimentos de onda dos dois como uma porcentagem

não é uma boa idéia, você somará os pontos e o tempo, não é lógico)
 
Bem, em termos puramente matemáticos: a raiz quadrada da soma dos quadrados (teorema de Pitágoras)
 
mas apenas o comprimento em pontos se você subtrair o mais curto do mais longo não vai funcionar?
 
sanyooooook:
Não é uma boa idéia, você estará somando pontos e tempos, então você não pode fazer isso (não é lógico) )
E se ao invés de tempo - números de barras*TF? Por exemplo 1: 1.5413+48*15, 2: 1.5466+1*15.
 
Abzasc:
E se ao invés de tempo - números de barras*TF? Por exemplo 1: 1.5413+48*15, 2: 1.5466+1*15.
Não me importa o que, se não é um preço, não adianta )
 
sanyooooook:
qualquer que seja, se não o preço, não há sentido)

Se estamos falando de um valor relativo, isso faz sentido.

O objetivo de Pitágoras é calcular o comprimento vetorial em arcos de Fibonacci.

Simplesmente, com o passar do tempo pode-se dizer que o movimento se queima, e se o movimento não for realizado em um certo tempo, ele se esgota.

Portanto, como uma medida de impulso pode muito bem fazer, o principal é que a discrição do tempo deve ser igual nos dois impulsos que estão sendo comparados.

Portanto, sinta-se livre para somar o quadrado da diferença de preço (ou melhor, traduzi-lo em pontos de distância percorridos) e o quadrado da barra de movimento,

e a raiz lhe dará o valor relativo desejado para a comparação.

 
sanyooooook:
não importa, se não é o preço, não vale a pena )
O ponto está na viagem :)
 
Abzasc:
A questão é a viagem :)

A estrada é para quem caminha, e a viagem de mil quilômetros começa com o primeiro passo.

Cara, eu vou ser um filósofo cético com Matemática em breve :o)

 

Na verdade, eu estava me referindo ao comprimento da hipotenusa :) o que você acha? ;)

 
De que hipotenusa podemos falar se os "catetos" não são feitos apenas de massa diferente, mas em espaços diferentes? Mais precisamente, eles são simplesmente incomensuráveis.