
文件名:d7824b5957028ce37005e24418e03fd.png
AA:=H>=HV(H,3)&&H>REFX1(HHV(H,3),3);//高点
AA1:=L<=LV(L,3)&&L<REFX1(LLV(L,3),3);//低点
DRAWSL1(AA,H,0,1,0),LINETHICK3,COLORGREEN;//高点绿色划线
DRAWSL1(AA1,L,0,1,0),LINETHICK3,COLORRED;//低点红色划线
N:=BARSLAST(CROSS(AA,0.5))+1;//不知道意思
M:=BARSLAST(CROSS(AA1,0.5))+1;//不知道意思
DRAWCOLORKLINE(CROSS(C>VALUEWHEN(AA,H)&&N>=4||AA&&C>REF(VALUEWHEN(AA,H),1),0.5)&&C<MA2,COLORRED,0);//在突破高点的K线变红色
DRAWCOLORKLINE(CROSS(C<VALUEWHEN(AA1,L)&&M>=4||AA1&&C<REF(VALUEWHEN(AA1,H),1),0.5)&&C>MA2,COLORGREEN,0);//在突破低点的K线变绿色
从源码看K线变绿的条件可以是收盘价低于最近的小红线,也可以是收盘价小于上一次标注红线的K线的最高价
您看下下面源码是否符合要求:
AA:=H>=HV(H,3)&&H>REFX1(HHV(H,3),3);//高点
AA1:=L<=LV(L,3)&&L<REFX1(LLV(L,3),3);//低点
DRAWSL1(AA,H,0,1,0),LINETHICK3,COLORGREEN;//高点绿色划线
DRAWSL1(AA1,L,0,1,0),LINETHICK3,COLORRED;//低点红色划线
N:=BARSLAST(CROSS(AA,0.5))+1;//不知道意思
M:BARSLAST(CROSS(AA1,0.5))+1;//不知道意思
DRAWCOLORKLINE(CROSS(C>VALUEWHEN(AA,H)&&N>=4,0.5)&&C<MA2,COLORRED,0);//在突破高点的K线变红色
DRAWCOLORKLINE(CROSS(C<REF(VALUEWHEN(AA1,L),1)&&M>=4,0.5)&&C>MA2,COLORGREEN,0);//在突破低点的K线变绿色

是的,变色条件要求红线位置大于4根K线,画红线当根的位置返回1,所以不满足条件
这么改下试试:
MA2:MA(C,56);
AA:=H>=HV(H,3)&&H>REFX1(HHV(H,3),3);//高点
AA1:=L<=LV(L,3)&&L<REFX1(LLV(L,3),3);//低点
DRAWSL1(AA,H,0,1,0),LINETHICK3,COLORGREEN;//高点绿色划线
DRAWSL1(AA1,L,0,1,0),LINETHICK3,COLORRED;//低点红色划线
N:=BARSLAST(CROSS(AA,0.5))+1;//不知道意思
M:=BARSLAST(CROSS(AA1,0.5))+1;//不知道意思
DRAWCOLORKLINE(CROSS(C>VALUEWHEN(AA,H)&&REF(N,1)+1>=4,0.5)&&C<MA2,COLORRED,0);//在突破高点的K线变红色
DRAWCOLORKLINE(CROSS(C<REF(VALUEWHEN(AA1,L),1)&&REF(M,1)+1>=4,0.5)&&C>MA2,COLORGREEN,0);//在突破低点的K线变绿色

