问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

如何编写均线斜率大于45度的通达信指标公式

创作时间:
作者:
@小白创作中心

如何编写均线斜率大于45度的通达信指标公式

引用
1
来源
1.
https://www.cnblogs.com/ma-dongdong/p/17418936.html

本文将介绍如何编写均线斜率大于45度的通达信指标公式,主要涉及ATAN和SLOPE两个函数的使用方法。通过实例代码展示如何计算均线的角度,适合有一定编程基础的投资者阅读。

一、ATAN函数

含义:求反正切值

使用方法:ATAN(X)获得X的反正切值,求得的反正切值是弧度制,为了方便理解,一般会转换成角度制。1弧度=180/π,约等于57.3度。π约等于3.14115926,编写指标的时候,换算一般写为180/3.14115926。

根据斜率的定义,直线对x轴的倾斜角的正切值tanθ为该直线的斜率。如果我们知道了正切值tanθ,通过反正切函数ATAN就可以求得θ的角度。θ角度的取值范围在(-90°,90°)度之间。

但是在交易软件上,x轴是周期,y轴是价格,x、y值单位不同,没有可比性。我们通过下面两张图,可以发现问题所在。对于同样一段行情,当这一段行情放大的时候,我们一眼看上去,均线角度可能是45°。如果把这一段行情缩小,均线的角度发生了明细的变化,显然大于45°。这样均线的角度就没有意义,因为会随着K线图的放大缩小而产生变化。


MA5:=MA(C,5);
ZF:=(MA5/REF(MA5,1)-1)*100;
JD:ATAN(ZF)*180/3.14115926;

使用通达信编程语言编写均线的角度,常见的做法是用均线的涨跌幅来近似替代正切值tan,

ZF:=(MA5/REF(MA5,1)-1)*100;,当均线涨幅为1%,ZF等于1,这时候求得的角度JD就是45度。但是每天的涨幅是有极限的,以主板涨停10%为例,即使连续涨停,ZF的最大值也就是10,计算得到JD最大值84.289。

把指标加载到副图进行验证,可以看到JD的最大值基本上在80多,确实如我们所料。

这样,均线角度大于45度的公式就可以写出来了。

MA5:=MA(C,5);
ZF:=(MA5/REF(MA5,1)-1)*100;
JD:=ATAN(ZF)*180/3.14115926;
XG:JD>45;

二、SLOPE函数

除了用ATAN来计算角度、斜率,还有另外一个函数SLOPE。

使用方法:SLOPE(X,N) 获得线性回归斜率

MA5:=MA(C,5);
XL:SLOPE(MA5,5);

线性回归斜率,可以简单理解为根据模型拟合出一条直线,计算这条直线的斜率。SLOPE(MA5,5)就是取最近5日的MA5值,然后拟合出直线,计算斜率。因为取的最近5日,所有反应会相对迟钝,5日均线刚刚向上拐头的时候,计算的斜率可能还是负的。

这个SLOPE函数感觉有问题,计算出的斜率竟然和股价有关系,股价高计算出的斜率数值比较大,股价低计算出的斜率数值比较小,这样没有统一的比较基准,使用起来很不方便。如果用来表示均线是向上还是向下还可以用用,但是如果用来计算均线的角度,那就用不了了。

当然我可能对这个函数有误解,欢迎提出问题,交流探讨。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号