第十二篇——通达信指标公式编写常用函数(八)——MAX、MIN、BETWEEN、ABS(从零起步编写通达信指标公式系列)

发布时间 2023-05-05 19:06:43作者: 少年如夏

内容提要:本文介绍了通达信指标公式常用的数学函数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

关注博主,学习更多通达信指标公式编写知识。