编程思路破译N赋值:8 XA1赋值:N日前的最高价=2*N+1日内最高价的最高值 XB1赋值:XA1的N日过滤 XC1赋值:若XB1则将最近N周期置为1 XD1赋值:XC1的N日过滤 A2赋值:N日前的最低价=2*N+1日内最低价的最低值 B2赋值:A2的N日过滤 C2赋值:若B2则将最近N+1周期置为1 D2赋值:C2的N日过滤 E1赋值:(1日前的2*N日内最低价的最低值+1日前的2*N日内最高价的最高值)/2 E2赋值:(最高价+最低价)/2 XH1赋值:(XD1 AND 取反) OR 数据位置状态=2 OR 收盘价的有效数据周期数=1 XL1赋值:(D2 AND 取反) XH2赋值:(XD1 AND 取反) XX1赋值:1日前的上次XH1距今天数+1 F1赋值:若XH1ANDCOUNT(XL1,XX1)>0则将最近XX1日内如果XL1,返回最低价,否则返回10000距今天数周期置为1 G1赋值:F1>1日前的F1 I1赋值:若G1则将最近2周期置为1 LD赋值:I1>1日前的I1 XL2赋值:LD OR 数据位置状态=2 OR 收盘价的有效数据周期数=1 XX2赋值:1日前的上次XL2距今天数+1 F2赋值:若XL2ANDCOUNT(XH2,XX2)>0则将最近XX2日内如果XH2,返回最高价,否则返回0距今天数周期置为1 G2赋值:F2>1日前的F2 I2赋值:若G2则将最近2周期置为1 HD赋值:I2>1日前的I2 R1赋值:若数据位置状态=2则将最近上次HD距今天数+1周期置为1 XS1赋值:R1>1日前的R1 T1赋值:若数据位置状态=2则将最近上次LD距今天数+1周期置为1 U1赋值:T1>1日前的T1 R2赋值:若XS1则将最近1日前的上次HD距今天数+2周期置为1 XS2赋值:R2>1日前的R2 T2赋值:若U1则将最近1日前的上次LD距今天数+2周期置为1 U2赋值:T2>1日前的T2 T3赋值:若U2则将最近1日前的上次LD距今天数+2周期置为1 U3赋值:T3>1日前的T3 R3赋值:若XS2则将最近1日前的上次HD距今天数+2周期置为1 XS3赋值:R3>1日前的R3 输出短压:当满足条件XS2时,在最高价位置画直线起点,当满足条件XS1时,在最高价位置画直线终点,1表示是否延长.,线宽为2 输出短撑:当满足条件U2时,在最低价位置画直线起点,当满足条件U1时,在最低价位置画直线终点,1表示是否延长.,线宽为2 当满足条件XS2时,在最高价*1.02位置书写文字,画洋红色 当满足条件XS1时,在最高价*1.02位置书写文字,画洋红色 当满足条件XS3时,在最高价*1.02位置书写文字,画洋红色 当满足条件U1时,在最低价*0.98位置书写文字,画青色 当满足条件U2时,在最低价*0.98位置书写文字,画青色 当满足条件U3时,在最低价*0.98位置书写文字,画青色 程序源码N:=8; XA1:=REF(H,N)=HHV(H,2*N+1); XB1:=FILTER(XA1,N); XC1:=BACKSET(XB1,N); XD1:=FILTER(XC1,N); A2:=REF(L,N)=LLV(L,2*N+1); B2:=FILTER(A2,N); C2:=BACKSET(B2,N+1); D2:=FILTER(C2,N); E1:=(REF(LLV(L,2*N),1)+REF(HHV(H,2*N),1))/2; E2:=(H+L)/2; XH1:=(XD1 AND NOT(D2 AND E1>=E2)) OR BARSTATUS=2 OR BARSCOUNT(C)=1; XL1:=(D2 AND NOT (XD1 AND E1<E2)); XH2:=(XD1 AND NOT (D2 AND E1>=E2)); XX1:=REF(BARSLAST(XH1),1)+1; F1:=BACKSET(XH1 AND COUNT(XL1,XX1)>0,LLVBARS(IF(XL1,L,10000),XX1)); G1:=F1>REF(F1,1); I1:=BACKSET(G1,2); LD:=I1>REF(I1,1); XL2:=LD OR BARSTATUS=2 OR BARSCOUNT(C)=1; XX2:=REF(BARSLAST(XL2),1)+1; F2:=BACKSET(XL2 AND COUNT(XH2,XX2)>0, HHVBARS(IF(XH2,H,0),XX2)); G2:=F2>REF(F2,1); I2:=BACKSET(G2,2); HD:=I2>REF(I2,1); R1:=BACKSET(BARSTATUS=2,BARSLAST(HD)+1); XS1:=R1>REF(R1,1); T1:=BACKSET(BARSTATUS=2,BARSLAST(LD)+1); U1:=T1>REF(T1,1); R2:=BACKSET(XS1,REF(BARSLAST(HD),1)+2); XS2:=R2>REF(R2,1); T2:=BACKSET(U1,REF(BARSLAST(LD),1)+2); U2:=T2>REF(T2,1); T3:=BACKSET(U2,REF(BARSLAST(LD),1)+2); U3:=T3>REF(T3,1); R3:=BACKSET(XS2,REF(BARSLAST(HD),1)+2); XS3:=R3>REF(R3,1); 短压:DRAWLINE(XS2,H,XS1,H,1),LINETHICK2; 短撑:DRAWLINE(U2,L,U1,L,1),LINETHICK2; DRAWTEXT(XS2,H*1.02,NUMTOSTR(H)),COLORMAGENTA; DRAWTEXT(XS1,H*1.02,NUMTOSTR(H)),COLORMAGENTA; DRAWTEXT(XS3,H*1.02,NUMTOSTR(H)),COLORMAGENTA; DRAWTEXT(U1,L*0.98,NUMTOSTR(L)),COLORCYAN; DRAWTEXT(U2,L*0.98,NUMTOSTR(L)),COLORCYAN; DRAWTEXT(U3,L*0.98,NUMTOSTR(L)),COLORCYAN; 风险提示 该公式包含未来函数:BACKSET |
|