RSV:=(CLOSE-LLV(LOW,16))/(HHV(HIGH,16)-LLV(LOW,16))*100;
K:=SMA(RSV,4,1),COLORWHITE;
D:=SMA(K,4,1),COLORYELLOW;
JC:=CROSS(K,D);
SC:=CROSS(D,K);
BKS:=(CLOSE-LLV(LOW,16))/(HHV(HIGH,16)-LLV(LOW,16))*15,RGB(240,240,0);//,FONTSIZE20,ALIGN0,VALIGN1;
ZZ:=K-D,NODRAW;
限时日:=290808;
限时:=IF(DATE<=限时日,1,0);
//支撑压力参数
NN11:=BARSLAST(JC)+1;
NN2:=BARSLAST(SC)+1;
压力位:=VALUEWHEN(SC,HHV(H,NN11))*限时,RGB(0,240,240),DASHDOT;//最近高点
HH4:=VALUEWHEN(SC,REF(压力位,1));//次高点
HH5:=VALUEWHEN(SC,REF(HH4,1));//前二个高点
支撑位:=VALUEWHEN(JC,LLV(L,NN2))*限时,RGB(255,60,60),DASHDOT;//最近低点
LL4:=VALUEWHEN(JC,REF(支撑位,1));//次低点
LL5:=VALUEWHEN(JC,REF(LL4,1));//前二个低点
//走势类型
SZ:=支撑位>=LL4;//抬底
SZZ:=压力位>HH4;//突顶
SZX:=SZ&&SZZ;//突顶抬底,金叉确认
SZC:=压力位>HH4&&LLV(L,NN2)>=支撑位;//回调最低点大于等于支撑位,突顶抬底,不一定金叉
XD:=压力位<=HH4;//降顶
XDD:=支撑位<LL4;//破底
XDS:=XD&&XDD;//破底降顶,死叉确认
XDC:=支撑位<LL4&&HHV(H,NN11)<=压力位;//反弹最高点大于等于压力位,破底降顶,不一定死叉
DRAWTEXT(HH4>HH5&&支撑位<LL4&&XD&&SC ,H,’S’),COLORWHITE,FONTSIZE20;
DRAWTEXT(压力位>HH4&&LL4<LL5&&SZ&&JC ,L,’B’),COLORMAGENTA,FONTSIZE20,VALIGN0;
DRAWTEXT(支撑位>=LL4&&XD&&CROSS(支撑位,L)&&COUNT(CROSS(支撑位,L),BARSLAST(支撑位<LL4))=1 ,H,’S’),COLORWHITE,FONTSIZE20;//标准
DRAWTEXT(压力位<=HH4&&SZ&&CROSS(H,压力位)&&COUNT(CROSS(H,压力位),BARSLAST(压力位>HH4))=1 ,L,’B’),COLORMAGENTA,FONTSIZE20,VALIGN0;//标准
//③
SL1:=HH4>HH5&&支撑位<LL4&&XD&&SC;
SL2:=HH4>HH5&&支撑位>=LL4&&XD&&SC;
BY1:=压力位>HH4&&LL4<LL5&&SZ&&JC;
BY2:=压力位<=HH4&&LL4<LL5&&SZ&&JC;
DRAWTEXT(XDS&&NOT(SL1)&&NOT(SL2)&&SC ,H,’K’),COLORWHITE,FONTSIZE20;
DRAWTEXT(SZX&&NOT(BY1)&&NOT(BY2)&&JC ,L,’K’),COLORMAGENTA,FONTSIZE20,VALIGN0;
DRAWLINE3(K>D,VALUEWHEN(K<D,LLV(L,BARSLASTCOUNT(K<D))),BARSLAST(K<D)+REF(LLVBARS(L,BARSLASTCOUNT(K<D)),BARSLAST(K<D)),K<D||ISLASTBAR&&K>D,VALUEWHEN(K>D,HHV(H,BARSLASTCOUNT(K>D))),BARSLAST(K>D)+REF(HHVBARS(H,BARSLASTCOUNT(K>D)),BARSLAST(K>D)),0 ),COLORMAGENTA,LINETHICK3;//折线
DRAWLINE3(K<D,VALUEWHEN(K>D,HHV(H,BARSLASTCOUNT(K>D))),BARSLAST(K>D)+REF(HHVBARS(H,BARSLASTCOUNT(K>D)),BARSLAST(K>D)),K>D||ISLASTBAR&&K<D,VALUEWHEN(K<D,LLV(L,BARSLASTCOUNT(K<D))),BARSLAST(K<D)+REF(LLVBARS(L,BARSLASTCOUNT(K<D)),BARSLAST(K<D)),0 ),RGB(0,128,255),LINETHICK3;//折线
A7A:=压力位<=HH4&&SZ&&CROSS(H,压力位)&&COUNT(CROSS(H,压力位),BARSLAST(压力位>HH4))=1 || 压力位>HH4&&LL4<LL5&&SZ&&JC;//,NOTEXT
B7B:=支撑位>=LL4&&XD&&CROSS(支撑位,L)&&COUNT(CROSS(支撑位,L),BARSLAST(支撑位<LL4))=1 || HH4>HH5&&支撑位<LL4&&XD&&SC ;
AA1:=BARSLAST(CROSS(A7A,B7B))>BARSLAST(CROSS(B7B,A7A)) OR (CROSS(BARSLAST(CROSS(A7A,B7B))<BARSLAST(CROSS(B7B,A7A)),0.5));
BB1:=BARSLAST(CROSS(A7A,B7B))<BARSLAST(CROSS(B7B,A7A)) OR (CROSS(BARSLAST(CROSS(A7A,B7B))>BARSLAST(CROSS(B7B,A7A)),0.5));
N9N:=BACKSET(ISLASTBAR,SUMBARS(CROSS(AA1,0.5)||CROSS(BB1,0.5),2));
涨1:=IF(N9N&&BARSLAST(CROSS(A7A,B7B))>BARSLAST(CROSS(B7B,A7A)) OR (CROSS(BARSLAST(CROSS(A7A,B7B))<BARSLAST(CROSS(B7B,A7A)),0.5)),VALUEWHEN(A7A,H),NULL),COLORMAGENTA,NOTEXT,DOT;//B,NOTEXT,NODRAW
跌1:=IF(N9N&&BARSLAST(CROSS(A7A,B7B))<BARSLAST(CROSS(B7B,A7A)) OR (CROSS(BARSLAST(CROSS(A7A,B7B))>BARSLAST(CROSS(B7B,A7A)),0.5)),VALUEWHEN(B7B,L),NULL),COLORGREEN,NOTEXT,DOT;//S
//③
BB:=(压力位>HH4&&LL4<LL5&&SZ&&JC||压力位<=HH4&&SZ&&CROSS(H,压力位)&&COUNT(CROSS(H,压力位),BARSLAST(压力位>HH4))=1);
SS:=(HH4>HH5&&支撑位<LL4&&XD&&SC||支撑位>=LL4&&XD&&CROSS(支撑位,L)&&COUNT(CROSS(支撑位,L),BARSLAST(支撑位<LL4))=1);
DRAWSHIFTNUMBER(ISLASTBAR&&BARSLAST(BB)<BARSLAST(SS),H,REF(H,BARSLAST(BB)),0,COLORMAGENTA,1,1),ALIGN0,VALIGN1,FONTSIZE40;//右边价格//,1,1
DRAWSHIFTNUMBER(ISLASTBAR&&BARSLAST(BB)>BARSLAST(SS),L,REF(L,BARSLAST(SS)),0,COLORGREEN,1,1),ALIGN0,VALIGN1,FONTSIZE40;//右边价格//,1,1