欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

sDotToLineDist - MetaTrader 5 脚本

author emer | 878 人阅读 | 0 人评论 |

sDotToLineDist - script for MetaTrader 5

功能参数:

sDotToLineDist - script for MetaTrader 5

根据直线两点的坐标,我们得到直线公式:y=a+k*x。这k系数决定了直线的斜率,即y每变化一个单位的坐标x协调。这k系数计算如下:

双倍的K=(LY2-LY1)/(LX2-LX1);

一个常数决定了线的值,如果x=0,即对应于线与 y 轴交叉的水平。知道斜率系数和线点之一的 X 坐标,我们计算一个:

双倍的LA=LY1-K*LX1;

从点到线的距离是根据与线绘制的垂直线确定的。如果将绘图逆时针旋转 90 度,d线的斜率与主线相同,但符号相反。知道一点的斜率和坐标,我们可以得到直线的方程,但在这种情况下,形式为x=a-ky。所以,一个持续的:

双倍的DA=DX+K*DY;

有了两条直线的公式,我们就可以找到它们的交点。为此,我们替换y将第一行的公式表示到第二行的公式,进行一些变换,得到x交点坐标:

双倍的CX=(DA-K*LA)/(1.0+K*K);

然后将得到的x代入第一行公式中,得到y线交点的坐标:

双倍的CY=LA+K*CX;

知道两点的坐标,我们可以计算它们之间沿 x 轴和 y 轴(轴上的投影)的距离。进一步,利用毕达哥拉斯定理,计算距离:

数学平方根数学包(DX-CX,2)+数学包(DY-CY,2))

俄语讨论可在https://www.mql5.com/ru/forum/237198。您还可以在此处的评论中讨论这个想法。


附件下载

📎 sdottolinedist.mq5 (0.74 KB)

Source: MQL5 #20481

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录