|
通达信指标公式编写常用函数(五)——BARSLAST
内容提要:本文主要介绍了编写通达信指标公式常用函数BARSLAST以及综合运用最近讲过的函数编写MACD零轴之上首次金叉选股公式。
含义:上一次条件成立到当前的周期数
使用方法: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指标)。随着行情的上涨,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上穿零轴到现在的周期数。
T:=BARSLAST(CROSS(DEA,0));
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;
最后上公式
MACD零轴之上首次金叉(保存成条件选股公式就可以选股,保存成技术指标公式可以加载到副图)
DIF:=EMA(C,12)-EMA(C,26);
DEA:=EMA(DIF,9);
T:=BARSLAST(CROSS(DEA,0));
A1:=CROSS(DIF,DEA);
A2:=COUNT(A1,T)=1;
A3:=DEA>0;
XG:A1 AND A2 AND A3;
关注技术Pie,学习更多通达信指标公式编写知识。
|
|