안녕하세요. 차트에서 추세선의 기울기를 프로그래밍 방식으로 계산해야 합니다(MQL5). 이 작업을 수행할 수 있는 공식이나 방법을 알려주십시오.
https://www.mql5.com/ru/forum/97569
Индикатор "Тангенс" для идентификации тренда и флэтта
- www.mql5.com
Если до сих пор не известен подобный индикатор, то, предлагаю его сделать по формуле: tg(alfa) = [C - MA(N)]/N, где: C - текущая цена; MA(N) - знач...
George Merts :
예, 이미 이해했습니다. 함수를 작성한 후 일반 스케일로 올바르게 계산하지만 스케일을 변경하면 각도가 변경됩니다....
도 측정은 눈금에 따라 달라지므로 기울기를 도 단위로 표현할 수 없습니다.
추세선의 기울기는 막대당 가격 또는 단위 시간당 가격으로 측정됩니다.
차트의 스케일에 의존하지 않는 추세와 정확한 기울기를 모두 결정할 수 있습니다.
George Merts :
... 더 정확히 말하면 이런 식일 것입니다. 표현할 수는 있지만 표현은 스케일에 따라 다릅니다.
도 측정은 눈금에 따라 달라지므로 기울기를 도 단위로 표현할 수 없습니다.
추세선의 기울기는 막대당 가격 또는 단위 시간당 가격으로 측정됩니다.
Taras Slobodyanik :
... 더 정확하게는 이렇게 될 것입니다. 표현할 수 있지만 표현은 스케일에 따라 다릅니다.
그리고 있다.
... 더 정확하게는 이렇게 될 것입니다. 표현할 수 있지만 표현은 스케일에 따라 다릅니다.
Renat Akhtyamov :
차트의 스케일에 의존하지 않는 추세와 정확한 기울기를 모두 결정할 수 있습니다.
차트의 스케일에 의존하지 않는 추세와 정확한 기울기를 모두 결정할 수 있습니다.
다음은 선의 각도를 도 단위로 계산하는 함수이지만 정확도 는 그래프의 눈금에 따라 다릅니다.
//+------------------------------------------------------------------+
//| функция возвращает значение угла трендовой линии в градусах. |
//| в параметры функции передаются данные по котрым построена линия |
//+------------------------------------------------------------------+
double Get_Degree_Angle( datetime time_1, double price_1, datetime time_2, double price_2)
{
double A, B, C;
double a_1, a_2, b_1, b_2;
int x, y;
ChartTimePriceToXY ( 0 , 0 , time_2, price_1, x, y);
a_1 = ( double )x;
b_1 = ( double )y;
ChartTimePriceToXY ( 0 , 0 , time_1, price_1, x, y);
a_2 = ( double )x;
A = a_1 - a_2;
ChartTimePriceToXY ( 0 , 0 , time_2, price_2, x, y);
b_2 = ( double )y;
B = b_1 - b_2;
C = MathSqrt ( MathPow (A, 2 ) + MathPow (B, 2 ));
return ( MathArcsin (B / C) * 180 / 3.14159 );
}
//| функция возвращает значение угла трендовой линии в градусах. |
//| в параметры функции передаются данные по котрым построена линия |
//+------------------------------------------------------------------+
double Get_Degree_Angle( datetime time_1, double price_1, datetime time_2, double price_2)
{
double A, B, C;
double a_1, a_2, b_1, b_2;
int x, y;
ChartTimePriceToXY ( 0 , 0 , time_2, price_1, x, y);
a_1 = ( double )x;
b_1 = ( double )y;
ChartTimePriceToXY ( 0 , 0 , time_1, price_1, x, y);
a_2 = ( double )x;
A = a_1 - a_2;
ChartTimePriceToXY ( 0 , 0 , time_2, price_2, x, y);
b_2 = ( double )y;
B = b_1 - b_2;
C = MathSqrt ( MathPow (A, 2 ) + MathPow (B, 2 ));
return ( MathArcsin (B / C) * 180 / 3.14159 );
}
기울기를 결정하는 방법을 공유할 수 있습니까(규모와 무관)?