对涨停板K线进行醒目标注,最简单的方法就是改变其显示颜色,请看留言: 网友的留言 留言的思路是说:做一个主图标注算法,涨停板K线颜色为黄色,k线实体二分之一做个横线标注。 思路步骤
算法建立 1. 涨停板的条件罗列 TJ:=(FINANCE(3)=4 OR (DATE>1200822 AND FINANCE(3)=3));{条件} ZTJ:=IF(TJ,ZTPRICE(REF(CLOSE,1),0.2),ZTPRICE(REF(CLOSE,1),0.1));{涨停价} ZT:=(CLOSE>=ZTJ);{涨停价收盘} 2. 计算涨停板K线的H、O、L、C四个基本数据 ZTW:=CONST(BARSLAST(ZT=1));{涨停位置} ZTH:=IF(CURRBARSCOUNT<=ZTW+1,CONST(REF(H,ZTW)),DRAWNULL),COLORMAGENTA;{涨停日最高价} ZTO:=CONST(REF(O,ZTW));{涨停日开盘价} ZTL:=CONST(REF(L,ZTW));{涨停日最低价} ZTC:=CONST(REF(C,ZTW));{涨停日收盘价} 3. 对涨停板K线进行颜色标注 {标注3D黄色} STICKLINE3(ZT,H,L,0,1),COLORYELLOW; STICKLINE(ZT,C,O,3.2,0),COLOR117777; STICKLINE(ZT,C,O,2.6,0),COLOR119999; STICKLINE(ZT,C,O,1.9,0),COLOR11BBBB; STICKLINE(ZT,C,O,1.1,0),COLOR11DDDD; STICKLINE(ZT,C,O,0.3,0),COLOR44FFFF; 4. 计算涨停板K线的二分之一位置,输出横线 {标二分之一位} STICKLINE(ZT,(H+L)/2,(H+L)/2,3.6,0),COLORBLUE; {当前涨停板日的二分之一位} ZT21:IF(CURRBARSCOUNT<=ZTW+1,(ZTH+ZTL)/2,DRAWNULL),COLORYELLOW; 5.标注当前涨停板日的二分之一位置的数值 DRAWNUMBER(ISLASTBAR,ZT21,ZT21),COLORYELLOW; 完整代码 代码流程 {涨停板} TJ:=(FINANCE(3)=4 OR (DATE>1200822 AND FINANCE(3)=3));{条件} ZTJ:=IF(TJ,ZTPRICE(REF(CLOSE,1),0.2),ZTPRICE(REF(CLOSE,1),0.1));{涨停价} ZT:=(CLOSE>=ZTJ);{涨停价收盘} ZTW:=CONST(BARSLAST(ZT=1));{涨停位置} ZTH:=IF(CURRBARSCOUNT<=ZTW+1,CONST(REF(H,ZTW)),DRAWNULL),COLORMAGENTA;{涨停日最高价} ZTO:=CONST(REF(O,ZTW));{涨停日开盘价} ZTL:=CONST(REF(L,ZTW));{涨停日最低价} {标黄色} STICKLINE(ZT,H,L,0,1),COLORYELLOW; STICKLINE(ZT,C,O,3.2,0),COLOR117777; STICKLINE(ZT,C,O,2.6,0),COLOR119999; STICKLINE(ZT,C,O,1.9,0),COLOR11BBBB; STICKLINE(ZT,C,O,1.1,0),COLOR11DDDD; STICKLINE(ZT,C,O,0.3,0),COLOR44FFFF; {标二分之一位} STICKLINE(ZT,(H+L)/2,(H+L)/2,3.6,0),COLORBLUE; {当前涨停板日的二分之一位} ZT21:IF(CURRBARSCOUNT<=ZTW+1,(ZTH+ZTL)/2,DRAWNULL),COLORYELLOW; DRAWNUMBER(ISLASTBAR,ZT21,ZT21),COLORYELLOW; 效果示意图 最后的效果示意图 |
|