第十篇——通达信指标公式编写常用函数(六)——SUM、IF(从零起步编写通达信指标公式系列)

第十篇——通达信指标公式编写常用函数(六)——SUM、IF(从零起步编写通达信指标公式系列)

含义:IF的英文意思是“如果”,在通达信编程语言中,也是这样的意思。

使用方法:IF(X,A,B),如果X条件成立,得到的结果就是A;如果X条件不成立,得到的结果就是B。IF函数和之前讲的函数有一个明显的区别,就是有三个参数X、A、B,之前讲的函数一般是两个。

举例:

MA5:=MA(C,5);{5日均线}

MA10:=MA(C,10);{10日均线}

JC:=CROSS(MA5,MA10);{5日、10日均线金叉}

A1:IF(JC,1,0);{如果金叉,A1的结果就是1,否则就是0}

三、函数综合运用

今天结合交易软件自带的能量潮指标(OBV),来熟悉SUM函数和IF函数的使用。通过对指标代码的解读,可以对指标的使用方法有更深的认识。

OBV指标:

VA:=IF(C>REF(C,1),V,-V);

VA1:=IF(C=REF(C,1),0,VA);

OBV:SUM(VA1,0);

MAOBV:MA(OBV,30);

a、VA:=IF(C>REF(C,1),V,-V);

C>REF(C,1)表示今天的收盘价大于昨天的收盘价,也就是说今天是上涨的。整句的意思:如果今天是上涨的(C>REF(C,1)),VA的结果就是V(正的成交量);如果今天是下跌的(C

b、VA1:=IF(C=REF(C,1),0,VA);

C=REF(C,1)表示今天收盘价等于昨天收盘价,也就是今天不涨不跌。整句的意思:如果今天不涨不跌,VA1的结果就是0,否则就是VA。

这是什么意思呢?上面已经讲过有三种情况,今天上涨、今天下跌、今天不涨不跌。在上一句公式中,今天不涨不跌(C=REF(C,1)),得到的结果是-V,而这一句重新赋值了,变成了今天不涨不跌,结果就是0。

这样今天上涨、今天下跌、今天不涨不跌,这三种情况就得到三个结果,分别是今天上涨V、今天下跌-V、今天不涨不跌0。

c、OBV:SUM(VA1,0);

表示统计从上市第一天以来的VA1的总和,简单说一下就是上涨了加上一个V,下跌了减去一个V,不涨不跌加上一个0,这样累加起来。

d、MAOBV:MA(OBV,30);

这句表示30日的OBV值简单移动平均

四、答疑

问:能写出来了吗,两个涨停中间,有几日收盘价大于第一个涨停收盘价的具体数字,比如3日,5日或其他数字公式?

代码:

ZT:=C/REF(C,1)>1.095 AND C=H;

RZT:=REF(BARSLAST(ZT),1);

ZTJ:=REF(C,RZT+1);

TJ1:=IF(ZT AND C>ZTJ,COUNT(C>ZTJ,RZT+1)-1,0);

TJ2:=IF(ZT AND C<=ZTJ,COUNT(C>ZTJ,RZT+1),0);

TJ:TJ1+TJ2;

本文来自技术Pie

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