内容提要:本文主要介绍了编写通达信指标公式常用函数BARSLAST以及综合运用最近讲过的函数编写MACD零轴之上首次金叉。 一、BARSLAST函数简介含义:上一次条件成立到当前的周期数 使用方法:BARSLAST(X),上一次X条件成立到当前的周期数 举例:BARSLAST(CROSS(MA(C,20),MA(C,60)));,表示上一次20日均线60日均线金叉到当前的周期数 之前讲过的HHVBARS、LLVBARS以及今天讲的BARSLAST函数,都是用来获取周期数。 这种类型的函数有两种常见的应用场景: 1、根据获得的周期数,用REF函数返回去引用数据,比如上面的例子,获得了上一次20、60日金叉到现在的周期数,然后用REF往前引用,获取金叉那根K线对应的收盘价。 T:=BARSLAST(CROSS(MA(C,20),MA(C,60)));A1:REF(C,T); 2、根据获取的周期数确定了一个区间,在这个区间里找满足条件的。在之前的文章《通达信指标公式编写常用函数(三)》已经举过HHVBARS的例子,下面再举一个BARSLAST的例子,增加大家对函数应用场景的理解。 二、函数综合运用MACD零轴之上首次金叉
思路:随着行情的上涨,MACD指标的DIF(快线)、DEA(慢线)逐渐爬升到零轴上方,然后行情回调,DIF、DEA死叉并且开始向零轴附近回调。当行情再次上涨,DIF、DEA在零轴之上金叉。(如下图) 基于以上设想,我们想找出DIF、DEA爬升到零轴之上以后,出现的第一次金叉。这样就涉及到以下几个条件: a、MACD指标的DIF、DEA DIF:=EMA(C,12)-EMA(C,26);DEA:=EMA(DIF,9); b、DIF、DEA上穿零轴以来(慢线DEA比快线DIF稳定,写公式就用DEA来写)。 CROSS(DEA,0)表示DEA上穿零轴,然后用BARSLAST取得DEA上穿零轴到现在的周期数。
c、DIF、DEA零轴之上第一次金叉 因为我们想选出今天DIF、DEA金叉的,所以今天要满足CROSS(DIF,DEA),另外还要符合是DEA上穿零轴以来的第一次金叉,所以用上一篇文章中讲到的COUNT函数,统计DEA上穿零轴以来的金叉次数等于1次。这个条件就涉及到我上面讲到的获取周期数函数的第二种用法,先获取到周期数,确定一个区间,在这个区间里找满足条件的。另外要加入限制条件DEA>0,才符合零轴之上金叉,不然有的不满足条件,也会被选出来。 A1:=CROSS(DIF,DEA);A2:=COUNT(A1,T)=1;A3:=DEA>0; 关注技术Pie,学习更多通达信指标公式编写知识。 |
|