1楼的公式有点不足,当板块个股的数量少时会出错,已经更改,下面是包含副图显示的:
CODE:
{行业板块情况}
INPUT:X(1,1,3); RQ:=DATE;//取日期 A:=BLKNAME; HY:=STRLEFT(A,STRFIND(A,‘,‘,1)-1); HYs:=STKCOUNT(HY); DYZB:=IF(X=1,‘HQSJ.ZDF‘,IF(X=2,‘HQSJ.HSH‘,‘HQSJ.CC‘)); DAS:=DATACOUNT; D0:=RQ[DAS];//取最后日期 variable:DM[HYs]=‘‘,vcp[HYs]=0,vci[HYs]=0,TP=0; for k=1 to HYs do begin DDD:=STKFROMBLK(HY,k); DM[k]:=DDD; TMP:=STKINDI(DDD,DYZB,0,6); TMPD:=STKINDI(DDD,‘HQSJ.DD‘,0,6); vcp[k]:=TMP[DAS]; vci[k]:=IF(TMPD[DAS]=D0,TMP[DAS],-1000);//去除当天停牌股 TP:=TP+IF(vci[k]=-1000,1,0); end; PX1:=SORTPOS(vci,1,1,HYs); //PX2:=SORTPOS(vcp,1,1,HYs); KHYS:HYS-TP,LINETHICK; BKXS:=‘所属行业: ‘+HY+‘ 包含个股数:‘+NUMTOSTR(HYs,0); ZF:=IF(X=3,‘ 元‘,‘ %‘); LBS:=IF(X=3,‘收盘价‘,IF(X=1,‘涨跌幅‘,‘换手率‘)); DRAWTEXT(SYSPARAM(2)=BARPOS,8,BKXS),colorffff00; WZ:=INTPART((SYSPARAM(3)-SYSPARAM(2))/6); IF KHYS<2 THEN EXIT; 0,COLOR; EXPLAIN(1,LBS+‘领先股‘),COLORFF00; EXPLAIN(1,‘ ①‘+STKNAMEEX(DM[vci[1]])+‘ ‘+numtostr(vcp[vci[1]],2)+ZF),Coloryellow; EXPLAIN(1,‘ ②‘+STKNAMEEX(DM[vci[2]])+‘ ‘+numtostr(vcp[vci[2]],2)+ZF),Coloryellow; DRAWTEXT(BARPOS=SYSPARAM(2),5,LBS+‘领先股:‘),COLORFF00; DRAWTEXT(BARPOS=SYSPARAM(2)+WZ,5,‘ ①‘+STKNAMEEX(DM[vci[1]])+‘ ‘+numtostr(vcp[vci[1]],2)+ZF+‘ ②‘+STKNAMEEX(DM[vci[2]])+‘ ‘+numtostr(vcp[vci[2]],2)+ZF),Coloryellow; IF KHYS<3 THEN EXIT; EXPLAIN(1,‘ ③‘+STKNAMEEX(DM[vci[3]])+‘ ‘+numtostr(vcp[vci[3]],2)+ZF),Coloryellow; DRAWTEXT(BARPOS=SYSPARAM(2)+WZ*3,5,‘ ③‘+STKNAMEEX(DM[vci[3]])+‘ ‘+numtostr(vcp[vci[3]],2)+ZF),Coloryellow; IF KHYS<4 THEN EXIT; EXPLAIN(1,‘ ④‘+STKNAMEEX(DM[vci[4]])+‘ ‘+numtostr(vcp[vci[4]],2)+ZF),Coloryellow; DRAWTEXT(BARPOS=SYSPARAM(2)+WZ*4,5,‘ ④‘+STKNAMEEX(DM[vci[4]])+‘ ‘+numtostr(vcp[vci[4]],2)+ZF),Coloryellow; IF KHYS<6 THEN EXIT; EXPLAIN(1,LBS+‘滞后股‘),COLORFF00; EXPLAIN(1,‘ ①‘+STKNAMEEX(DM[vci[KHYs]])+‘ ‘+numtostr(vcp[vci[KHYs]],2)+ZF+‘ \n ②‘+STKNAMEEX(DM[vci[KHYs-1]])+‘ ‘+numtostr(vcp[vci[KHYs-1]],2)+ZF+‘ \n ③‘+ STKNAMEEX(DM[vci[KHYs-2]])+‘ ‘+numtostr(vcp[vci[KHYs-2]],2)+ZF+‘ \n ④‘+STKNAMEEX(DM[vci[KHYs-3]])+‘ ‘+numtostr(vcp[vci[KHYs-3]],2)+ZF),ColorFFFF00; DRAWTEXT(BARPOS=SYSPARAM(2),2,LBS+‘滞后股:‘),COLORFF00; DRAWTEXT(BARPOS=SYSPARAM(2)+WZ,2,‘ ①‘+STKNAMEEX(DM[vci[KHYs]])+‘ ‘+numtostr(vcp[vci[KHYs]],2)+ZF+‘ ②‘+STKNAMEEX(DM[vci[KHYs-1]])+‘ ‘+numtostr(vcp[vci[KHYs-1]],2)+ZF+‘ ③‘+ STKNAMEEX(DM[vci[KHYs-2]])+‘ ‘+numtostr(vcp[vci[KHYs-2]],2)+ZF+‘ ④‘+STKNAMEEX(DM[vci[KHYs-3]])+‘ ‘+numtostr(vcp[vci[KHYs-3]],2)+ZF),ColorFFFF00; |
|