第十二篇——通达信指标公式编写常用函数(八)——MAX、MIN、BETWEEN、ABS(从零起步编写通达信指标公式系列)
内容提要:本文介绍了通达信指标公式常用的数学函数MAX、MIN、BETWEEN、ABS,并用这些函数编写长上影线、均线粘合、平均真实波幅指标公式。
一、通达信常用数学函数简介
1、MAX函数
含义:求最大值
使用方法:MAX(A,B),比较A和B的值的大小,获得较大值
举例:MAX(C,O),表示比较开盘价和收盘价的大小,获取较大值。收盘价大于开盘价,获取的值就是收盘价。
2、MIN函数
含义:求最小值
使用方法:MIN(A,B),比较A和B的值的大小,获得较小值
举例:MIN(C,O),表示比较开盘价和收盘价的大小,获取较小值。收盘价大于开盘价,获取的值就是开盘价。
3、BETWEEN函数
含义:介于,BETWEEN的英文意思是“在…中间”,在通达信编程语言中也是这样的意思。
使用方法:BETWEEN(A,B,C),表示A在B和C之间时满足条件,返回1,也就是说B<A<C或C<A<B,其他情况不满足在中间的条件,就返回0
举例:
MA5:=MA(C,5);
MA10:=MA(C,10);
A1:BETWEEN(C,MA5,MA10);
表示收盘价介于5日、10日均线之间(如下图)
4、ABS函数
含义:求绝对值
使用方法:ABS(X),获得X的绝对值,也就是说X不管是正数还是负数,用了ABS函数,最后的结果都是正数,当然X=0,最后结果也是0
举例:ABS(-10),得到结果10
二、函数综合运用编写指标公式
1、长上影线
A1:=(H-MAX(C,O))/(H-L)>0.6;
A2:=H/L>1.05;
CSYX:A1 AND A2;
长上影线有3种情况,阴线、阳线和十字星(如上图箭头处),对应的就是C<O(收盘价小于开盘价),C>O(收盘价大于开盘价),C=O(收盘价等于开盘价)。虽然有这三种情况,但是我们没必要进行区分,只需要知道K线最高价到K线实体的上沿之间的波幅就可以了。(如下图)
实体的上沿就是收盘价C和开盘价O中的较大值,用MAX(C,O)即可获得实体的上沿。H-MAX(C,O)是K线最高价距离K线实体的上沿之间的波幅(上图黄色箭头区间),H-L是最高价与最低价的波幅。
A1:=(H-MAX(C,O))/(H-L)>0.6;,这句的意思就是上影线占到整根K线的比例大于60%
A2:=H/L>1.05;,表示K线最高价最低价之间的幅度大于5%,这个是为了过滤一些比较短小的K线
2、均线粘合
MA5:=MA(C,5);
MA10:=MA(C,10);
MA20:=MA(C,20);
MAXJX:=MAX(MAX(MA5,MA10),MA20);
MINJX:=MIN(MIN(MA5,MA10),MA20);
BL:=(MAXJX-MINJX)/MINJX*100;
XG:EVERY(BL<1,5);
公式中的5、10、20日均线就不用说了,解释一下MAXJX、MINJX。
首先来说MAXJX这一句,MAX(MA5,MA10)是获得5日均线、10均线的较大值,MAX(MAX(MA5,MA10),MA20)是用前面获得的5、10日均线的较大值与20日均线的值比较,最终获得5、10、20日这三条均线中的最大值。类似的,MINJX是获得5、10、20日这三条均线中的最小值。以下图箭头处的均线为例,就是比较三个圆圈处的均线值,获得最大值、最小值。
BL获得最大值、最小值之间的幅度。
XG:EVERY(BL<1,5);,最后一句限制最大值、最小值之间的幅度小于1%,并且要最近5个天一直满足这个条件。如果不熟悉EVERY的用法,可以看《第八篇——通达信指标公式编写常用函数(四)——EVERY、COUNT(从零起步编写通达信指标公式系列)》。
3、平均真实波幅指标(ATR)
MTR:MAX(MAX((H-L),ABS(REF(C,1)-H)),ABS(REF(C,1)-LOW));
ATR:MA(MTR,14);
获得平均真实波幅之前需要先获得真实波幅,真实波幅是以下abc三者的最大值。
a、今天的最高价与最低价的波幅(H-L);
b、前一天收盘价与今天最高价的波幅ABS(REF(C,1)-H);
c、前一天收盘价与今天最低价的波幅ABS(REF(C,1)-L)。
今天K线可能向上可能向下,但是我们想获得的波幅是正的,所以用ABS求绝对值。
求三者的最大值,上面已经讲过了,用两个MAX就可以。前面两个比较一下,再与第三个比,获得最大值。
获得MTR之后用MA函数,求一下简单移动平均,就得到ATR。
本文来自技术Pie
关注博主,学习更多通达信指标公式编写知识。