彩虹桥 发表于 2023-5-8 16:20:09

通达信指标公式编写常用函数(一)——REF、MA、EMA、CROSS

通达信指标公式编写常用函数(一)——REF、MA、EMA、CROSS

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


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


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


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


https://img-blog.csdnimg.cn/7cfe21b6bf86423e923ee34ae5dfa042.png






在前文中,已经介绍了基础的行情函数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简单移动平均反应慢的问题,能够更好的反映近期的行情走势。


https://img-blog.csdnimg.cn/98a40b204dd14692a7b543520744ecb1.png





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);就代表死叉。


https://img-blog.csdnimg.cn/da67586e2f6541dca72969157f802ab3.png


?






1、放量大涨


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


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


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


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


代码如下:



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



https://img-blog.csdnimg.cn/7bffb0aff0234ef7a834333d1252f499.png


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


https://img-blog.csdnimg.cn/2ca36ce934424d9888cf961106124228.png


?


2、MACD零轴之上金叉


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


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



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


DEA:=EMA(DIF,9);



b、零轴之上,就限定DIF>0,DEA>0


c、金叉,就用到上面介绍的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);



https://img-blog.csdnimg.cn/b59b033f83de430499c48c497e1f5063.png





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


https://img-blog.csdnimg.cn/a96aa1e0bbdc4508a56266c6d5795eef.png


?


关注技术Pie,学习更多通达信指标公式编写知识。

               
页: [1]
查看完整版本: 通达信指标公式编写常用函数(一)——REF、MA、EMA、CROSS