下午好。我需要以编程方式(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);
}
你能分享一下你确定斜率的方法吗(不取决于比例)?