最后两条线的右侧没有K线,无法填充的,参考:
NN1:BARSLAST(YEAR<>REF(YEAR,1))+1,NODRAW;
VERTLINE1(NN1=1);
MM1:BARSLAST(DATE<>REF(DATE,1))+1,NODRAW;
VH1:VALUEWHEN(MM1=1,REF(SUM(V,MM1),MM1)),NODRAW;
DRAWHORIZONTALLINE(VH1>HV(VH1,NN1)||MM1=1&&REF(REF(NN1,MM1),1)=1,REF(HHV(H,MM1),MM1) ,COLORLIGHTGREEN ),LINETHICK3;//绿色
DRAWHORIZONTALLINE(VH1>HV(VH1,NN1)||MM1=1&&REF(REF(NN1,MM1),1)=1,REF(LLV(L,MM1),MM1) ,COLORRED ),LINETHICK3;//红
ML1:=BARSLAST(VH1>HV(VH1,NN1))+1;
DRAWSL(ISLASTBAR,REF(LLV(L,MM1),ML1),0,10,0,COLORRED),LINETHICK3;//红
DRAWSL(ISLASTBAR,REF(HHV(H,MM1),ML1),0,10,0,COLORLIGHTGREEN),LINETHICK3;//绿色
DRAWNUMBER(ISLASTBAR,REF(HHV(H,MM1),ML1),REF(HHV(H,MM1),ML1),2,COLORRED),LINETHICK3;//数字显示
DRAWNUMBER(ISLASTBAR,REF(LLV(L,MM1),ML1),REF(LLV(L,MM1),ML1),2,COLORRED),LINETHICK3;//数字显示
A:=VH1>HV(VH1,NN1)||MM1=1&&REF(REF(NN1,MM1),1)=1;
FILLRGN(1,VALUEWHEN(A,REF(HHV(H,MM1),MM1)),VALUEWHEN(A,REF(LLV(L,MM1),MM1)),COLORGRAY);
DRAWKLINE1(H,O,L,C);
3楼不是填充,是画了一根特别粗的柱
1楼是最新一根K线向右画线,3楼这种方式会导致最新一根K线左侧的K线也被填充,所以不能用这种方法
参考:
NN1:BARSLAST(YEAR<>REF(YEAR,1))+1,NODRAW;
VERTLINE1(NN1=1);
MM1:BARSLAST(DATE<>REF(DATE,1))+1,NODRAW;
VH1:VALUEWHEN(MM1=1,REF(SUM(V,MM1),MM1)),NODRAW;
DRAWHORIZONTALLINE(VH1>HV(VH1,NN1)||MM1=1&&REF(REF(NN1,MM1),1)=1,REF(HHV(H,MM1),MM1) ,COLORLIGHTGREEN ),LINETHICK3;//绿色
DRAWHORIZONTALLINE(VH1>HV(VH1,NN1)||MM1=1&&REF(REF(NN1,MM1),1)=1,REF(LLV(L,MM1),MM1) ,COLORRED ),LINETHICK3;//红
ML1:=BARSLAST(VH1>HV(VH1,NN1))+1;
DRAWSL(ISLASTBAR,REF(LLV(L,MM1),ML1),0,10,0,COLORRED),LINETHICK3;//红
DRAWSL(ISLASTBAR,REF(HHV(H,MM1),ML1),0,10,0,COLORLIGHTGREEN),LINETHICK3;//绿色
DRAWNUMBER(ISLASTBAR,REF(HHV(H,MM1),ML1),REF(HHV(H,MM1),ML1),2,COLORRED),LINETHICK3;//数字显示
DRAWNUMBER(ISLASTBAR,REF(LLV(L,MM1),ML1),REF(LLV(L,MM1),ML1),2,COLORRED),LINETHICK3;//数字显示
A:=VH1>HV(VH1,NN1)||MM1=1&&REF(REF(NN1,MM1),1)=1;
FILLRGN1(NOT(CROSS(A,0.5)),VALUEWHEN(A,REF(HHV(H,MM1),MM1)),VALUEWHEN(A,REF(LLV(L,MM1),MM1))),COLORGRAY;
DRAWKLINE1(H,O,L,C);