今天的公式讲解,说一下30日内股价首次突破60日最高价的选股公式。
公式如下:
==============================================
CH60 := H >= HHV(H, 60); {股价突破60日最高价}
BL60 := BARSLAST(CH60)=0 AND REF(BARSLAST(CH60), 1)>30;
{当日股价第一次突破60日最高价且前一次股价突破60日最高价周期大于N}
CH60 AND BL60; {同时满足CH60和BL60}
==============================================
公式编辑界面如下图
这里的【:= 】可以理解成给变量赋值,一般用这个符号赋值的话,后面的公式会引用到前面的变量。
CH60、BL60 都是变量名,这个可以自己定义,你叫其他名字也可以的,但是注意变量名最好用字母开头。
H、HHV,这两个基础函数里面讲过。
HIGH {返回该周期最高价}
简写:H
HHV {求最高值}
用法:HHV(X, N) 求 N 周期内 X 最高值,N=0 则从第一个有效值开始
例如:HHV(HIGH, 30) 表示求30日最高价
BARSLAST函数,这个是今天重点要讲的。
BARSLAST 上一次条件成立位置,上一次条件成立到当前的周期数。
用法:BARSLAST(X) 上一次 X 不为 0 到现在的天数。
例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1.1) 表示上一个涨停板到当前的周期数。
对应到上面的公式,BARSLAST(CH60)=0,即上一次当日最高价为60日最高价到今天的周期数为0,即今天的最高价就是60日最高价。
如果是BARSLAST(CH60)=1,即上一次当日最高价为60日最高价到今天的周期数为1,意思就是昨天的最高价是60日最高价。
REF {向前引用,引用若干周期前的数据}
用法:REF(X, A) 引用 A 周期前的 X 值
例如:REF(CLOSE, 1) 表示前一天的收盘价
上面公式的 REF(BARSLAST(CH60), 1)>30,意思是上一次股价突破60日最高价到当前的周期大于30,即上一次这个符合这种情况到今天已经超过30个交易日了。
然后30日内首次跌破60日最低价和这个公式是类似的,如果理解了上面讲的东西,改起来就很简单,大家可以试着自己写一下
没看过基础函数的,再次建议大家看一下,那个真是通达信公式里面最基础的内容了。