全球滚动:FINDHIGHBARS函数应用举例

江丰鱼   2023-02-18 21:09:00

本文探讨的是60天最高价的确定与处理,请看截图:


【资料图】

网友的留言

留言的思路是说:

1,最近10天有个涨停突破前60天最高价,且成交量是60天最高或次高量

2,涨停后调整3~10天,最低价收盘价大于开盘价。

3,涨停后调整振幅小于20

思路步骤

涨停板的逻辑条件与标示; 涨停日前60天的最高价位置; 涨停日前60天的最高价; 涨停日前60天的最高价位置的标示。

算法建立

1. 罗列涨停板的逻辑条件与标示

TJ:=(FINANCE(3)=4 OR (DATE>1200822 && FINANCE(3)=3));

ZTJ:=IF(TJ,ZTPRICE(REF(CLOSE,1),0.2),ZTPRICE(REF(CLOSE,1),0.1));

ZTWZ:=CONST(BARSSINCEN(CLOSE>=ZTJ,10));

DRAWICON(CURRBARSCOUNT=ZTWZ+1,L*0.99,38);

2. 计算涨停日前60天的最高价位置

Q60ZGJW:=CONST(FINDHIGHBARS(H,ZTWZ+1,60,1));{涨停日前60天的最高价位置}

3. 计算涨停日前60天的最高价

Q60ZGJ:IF(CURRBARSCOUNT<=Q60ZGJW+1,CONST(FINDHIGH(H,ZTWZ+1,60,1)),DRAWNULL);{涨停日前60天的最高价}

4. 计算涨停日前60天的最高价位置的标示

DRAWICON(CURRBARSCOUNT=Q60ZGJW+1,H*1.005,39);

主图标注的算法

代码流程1

{60天最高价的数据标注算法}

TJ:=(FINANCE(3)=4 OR (DATE>1200822 && FINANCE(3)=3));

ZTJ:=IF(TJ,ZTPRICE(REF(CLOSE,1),0.2),ZTPRICE(REF(CLOSE,1),0.1));

ZTWZ:=CONST(BARSSINCEN(CLOSE>=ZTJ,10));

DRAWICON(CURRBARSCOUNT=ZTWZ+1,L*0.99,38);

Q60ZGJW:=CONST(FINDHIGHBARS(H,ZTWZ+1,60,1));{涨停日前60天的最高价位置}

Q60ZGJ:IF(CURRBARSCOUNT<=Q60ZGJW+1,CONST(FINDHIGH(H,ZTWZ+1,60,1)),DRAWNULL);{涨停日前60天的最高价}

DRAWICON(CURRBARSCOUNT=Q60ZGJW+1,H*1.005,39);

数据筛选算法

代码流程2

{60天最高价的数据筛选算法}

TJ:=(FINANCE(3)=4 OR (DATE>1200822 && FINANCE(3)=3));

ZTJ:=IF(TJ,ZTPRICE(REF(CLOSE,1),0.2),ZTPRICE(REF(CLOSE,1),0.1));

ZTWZ:=CONST(BARSSINCEN(CLOSE>=ZTJ,10));

ZTWZH:=CONST(REF(H,ZTWZ));

ZTWZO:=CONST(REF(O,ZTWZ));

ZTWZHC:=CONST(HHV(C,ZTWZ+1));

ZTWZLC:=CONST(LLV(C,ZTWZ+1));

ZTWZV:=CONST(REF(VOL,ZTWZ));

Q60ZGJ:=CONST(FINDHIGH(H,ZTWZ+1,60,1));{涨停日前60天的最高价}

Q60ZGV2:=CONST(FINDHIGH(VOL,ZTWZ+1,60,2));{涨停日前60天的次高量}

RANGE(ZTWZ,2,10)=1 AND ZTWZH>Q60ZGJ AND ZTWZV>=Q60ZGV2 AND ZTWZLC>=ZTWZO AND C<=ZTWZH AND ZTWZLC>=ZTWZHC*0.8;

效果示意图

效果示意图

http://www.huaxue.eeju.com/zixun/