第五篇——通达信指标公式编写常用函数(一)——REF、MA、EMA、CROSS(从零起步编写通达信指标公式系列)

内容提要:本文主要介绍了编写通达信指标公式常用的函数REF、MA、EMA、CROSS以及这些函数的综合运用举例。

 

通达信的函数非常多,想全部熟练掌握,几乎是不可能的,而且没有必要,毕竟很多函数很少用到。

 

编写通达信指标公式常用的函数大概也就三四十个,对于这些函数,建议认真学习研究,多模仿练习,做到烂熟于心。打好基础很重要,如果没有打好基础,编写复杂一点的指标时,头脑可能一片空白。初期要知道函数的用法,并能在函数库中找到相应的函数。随着熟练程度逐渐提高,在编写指标时要做到直接手打函数。

 

对于不常用的函数,要学会使用函数库的查找功能,并借助搜索引擎,学习函数的使用方法。常用的函数方法掌握了,学习新的函数也不难。

 

一、通达信指标公式常用函数介绍

在前文《第四篇——通达信指标公式编写基础(二)(从零起步编写通达信指标公式系列)》中,已经介绍了基础的行情函数LOW、HIGH、OPEN、CLOSE、VOL、AMOUNT,这几个函数比较简单,就不需要再介绍了。引用函数REF有必要再讲讲。

 

1、REF函数

含义:引用几个周期之前的数据

使用方法:REF(X,N),引用N个周期前的X值。

举例:涨停

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

REF(C,1),表示引用前一个交易日的收盘价;

C/REF(C,1)>1.095,表示今天的收盘价除以前一个交易日的收盘价大于1.095,也就是说今天的涨幅大于9.5%;

C=H,代表今天的收盘价和最高价相等,也就是说今天以最高价完成收盘;

AND是并且的意思,也就是AND的前后两个条件要同时成立,连起来的意思是今天涨幅大于9.5%并且以最高价收盘。

这时候可能会有疑问,创业板、科创板涨跌幅限制是20%,这个公式就不适用了。确实如此,这里只是为了新手容易理解,把涨跌幅限制为10%。后面掌握了基础的函数,可以用INBLOCK函数做进一步优化。

 

2、MA函数

含义:简单移动平均

使用方法:MA(X,N),X的N日简单移动平均。

举例:MA5:MA(C,5),就是常见的5日均线,几乎所有的交易软件都会自带的。算法很简单,把最近的5个交易日的收盘价加起来,然后除以5,就得到了结果。至于为什么加载到K线图上会形成线,那是因为每根K线都会算一下,得到了结果,然后连起来,就成了均线。

 

3、EMA函数

含义:指数移动平均

这里的指数和上证指数中的指数并不是同一个意思,而是以指数式递减加权。

使用方法:EMA(X,N):X的N日指数移动平均。

 

举例:EMA12:EMA(C,12),为什么举12日EMA均线的例子,其实是因为MACD指标按照默认参数就是使用了EMA12、EMA26这两条EMA均线。EMA指数移动平均具体的算法就不说了,对于新手来说,看到复杂的计算公式,估计会晕倒。EMA的优势是提高了近期行情的权重,对行情反应更快,优化了MA简单移动平均反应慢的问题,能够更好的反映近期的行情走势。

 

4、CROSS函数

含义:两条线交叉

 

使用用法:CROSS(A,B),表示当A从下方向上穿过B时返回1,否则返回0

举例:5日均线、10日均线金叉,5日均线、10日均线死叉

MA5:=MA(CLOSE,5);

MA10:=MA(CLOSE,10);

JC:CROSS(MA5,MA10);

SC:CROSS(MA10,MA5);

 

MA5、MA10就不用介绍了,上面刚讲过

JC:CROSS(MA5,MA10);表示5日均线从下方向上穿过10日均线,也就是我们常说的金叉,金叉了返回的结果就是1,否则就是0

死叉把MA5,MA10的前后位置换一下就行了,SC:CROSS(MA10,MA5);就代表死叉。

 

 

二、函数综合运用举例

例1:放量大涨

 

思路:放量大涨包含了2个基本条件,一个是放量,一个是大涨。

  1. 放量我定义为今天的成交量大于前一个交易日的成交量的两倍,如果你觉得两倍不够,可以三倍或者四倍,写指标是为你的交易思路服务的,可以自行定义。代码是V/REF(V,1)>2,代表今天的成交量除以前一个交易日的成交量大于2倍。这里的V是VOL(成交量)的缩写,写成V或者VOL都可以;

  2. 大涨我定义为今天涨幅大于6%,代码是C/REF(C,1)>1.06,表示今天的收盘价除以前一个交易日的收盘价大于1.06,也就是涨幅大于6%;

  3. ab两个条件用AND(并且)连起来就是放量大涨。

 

代码如下:

FLDZ:V/REF(V,1)>2 AND C/REF(C,1)>1.06;

 

加载到副图,效果如下图,最下方的三角锥就表示满足了我定义的放量大涨条件。(满足的时候值为1,不满足值为0)

 

例2:MACD零轴之上金叉

 

思路:MACD零轴之上金叉包含了3个条件,MACD、零轴之上、金叉。

  1. MACD金叉,其实并不是MACD的值与什么金叉,而是指的MACD指标中的快线(DIF)与慢线(DEA)金叉,所以要实现MACD金叉,需要把DIF和DEA写出来。这里就用MACD指标的默认参数12、26、9。

    DIF:=EMA(C,12)-EMA(C,26);

    DEA:=EMA(DIF,9);

  2. 零轴之上,就限定DIF>0,DEA>0

  3. 金叉,就用到上面介绍的CROSS,CROSS(DIF,DEA)就是金叉

 

代码如下:

DIF:=EMA(C,12)-EMA(C,26);

DEA:=EMA(DIF,9);

LZZSJC:DIF>0 AND DEA>0 AND CROSS(DIF,DEA);

 

把指标加载到副图,效果如下图,三角锥就表示满足了快线慢线零轴之上金叉。(满足的时候值为1,不满足值为0)

 

 

本文来自技术Pie

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

 

 

posted @ 2023-04-19 12:51  少年如夏  阅读(6931)  评论(0编辑  收藏  举报