第九篇——通达信指标公式编写常用函数(五)——BARSLAST(从零起步编写通达信指标公式系列)

发布时间 2023-05-05 18:46:33作者: 少年如夏

内容提要:本文主要介绍了编写通达信指标公式常用函数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、LLVBARS(从零起步编写通达信指标公式系列)》已经举过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

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