私たちのファンページに参加してください
sDotToLineDist - MetaTrader 5のためのスクリプト
- ビュー:
- 768
- 評価:
- パブリッシュ済み:
- 2018.06.15 15:27
- このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
関数パラメータは下記のとおりです。
- double LX1 - 線の1番目の点のX座標
- double LY1 - 線の1番目の点のY座標
- double LX2 - 線の2番目の点のX座標
- double LY2 - 線の2番目の点のY座標
- double DX - 点のX座標
- double DY - 点のY座標
計算原理
線の2点の座標に基づいた線の式はy=a+k*xとなります。k係数は線の傾斜(y座標の、x座標の単位変化あたりの変化)を特定します。k係数は以下のように計算されます。
double K=(LY2-LY1)/(LX2-LX1);
a係数は、線がY軸を交差する地点での値を特定します(x=0の場合)。線の点の1つの傾斜係数とX座標を知ると、aが計算されます。
double LA=LY1-K*LX1;
ある点から線までの距離は、線に描かれた垂線に基づいて決定されます。図を反時計回りに90度回転させると、dの線の傾斜は幹線と同じになりますが、反対の符号が付きます。1つの点の傾斜と座標を知ることによって線分の方程式を得ることができます。この場合は 形式はx =a-kyとなります。a定数:
double DA=DX+K*DY;
2つの線の数式が得られたので、それらの交点を見つけます。この目的のために、1行目の式で表されるyを2行目の式に代入し、いくつかの変換を行い、交点のx座標を取得します。
double CX=(DA-K*LA)/(1.0+K*K);
次に、最初の行の式で結果のxを代入し、線の交差のy座標を取得します。
double CY=LA+K*CX;
2つの点の座標を知ることで、x軸とy軸に沿ったそれらの間の距離(軸上の投影)を計算できます。さらに、ピタゴラス定理を用いて距離を計算します。
MathSqrt(MathPow(DX-CX,2)+MathPow(DY-CY,2))
議論はhttps://www.mql5.com/ja/forum/237198で参照できます(ロシア語)。ここのコメントで議論することもできます。
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/20481
乱数発生器に基づいたエキスパートアドバイザーです。トレンドはiMA (Moving Average、MA)指標を使って特定されます。
TrueSort_1100このエキスパートアドバイザーは、MA(10)、MA(20)、MA(50)、MA(100)、MA(200)の線が上下に並ぶのを待ちます。