こんにちは。プログラム(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);
}
傾きを決める方法(縮尺に依存しない方法)を教えてください。
取引の機会を逃しています。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索