HP:=CURRBARSCOUNT =TC2 AND H=UP;{高点定位}
STICKLINE(IF(BC2 TC2,HP,LP),LL,UP,0,0),COLOR628962;
STICKLINE(IF(BC2 TC2,LP,HP),LL,UP,0,0),COLOR628962;
NOD:=(IF(TC2 BC2,TC2,BC2)-IF(TC2 BC2,BC2,TC2));{用时}
LR1:=FORCAST(C,NOD+1);
NP:=IF(CURRBARSCOUNT =MAX(BC2,TC2),CONST(IF(MIN(TC2,BC2)=1,LR1,REF(LR1,MIN(TC2,BC2)-1))),DRAWNULL),POINTDOT,COLOR93BDA8;{近点}
LR2:=SLOPE(C,NOD+1);
LR3:=CONST(IF(MIN(TC2,BC2)=1,LR2,REF(LR2,MIN(TC2,BC2)-1)));
FP:=NP-LR3*(NOD),POINTDOT,COLOR93BDA8;{远点}
AD:=ABS(NP-FP);{高差};
DBL:=BARSLAST(BC1!=DRAWNULL)+1;
DBH:=BARSLAST(TC1!=DRAWNULL)+1;
BSP:=IF(BC2 TC2,DBL,DBH)-1;
LRL:=IF(NP FP,FP+AD/NOD*BSP,FP-AD/NOD*BSP);
AT1:=IF(BETWEEN(CURRBARSCOUNT,BC2,TC2) AND H LRL,H,LRL);
AT2:=HHV(AT1-LRL,MAX(BC2,TC2));
AT3:=CONST(BARSLAST(AT1-LRL=AT2));
AT4:=CONST(IF(AT3=0,H,REF(H,AT3)));
AT5:=CONST(IF(AT3=0,AT1-LRL,REF(AT1-LRL,AT3)));
ATL:=LRL+AT5;
UT1:=IF(BETWEEN(CURRBARSCOUNT,BC2,TC2) AND L LRL,L,LRL);
UT2:=HHV(LRL-UT1,MAX(BC2,TC2));
UT3:=CONST(BARSLAST(LRL-UT1=UT2));
UT4:=CONST(IF(UT3=0,H,REF(H,UT3)));
UT5:=CONST(IF(UT3=0,LRL-UT1,REF(LRL-UT1,UT3)));
UTL:=LRL-UT5;
RH:=IF(CURRBARSCOUNT =MIN(BC2,TC2)-10,ATL,CONST(REF(ATL,MIN(BC2,TC2)-11)));{限制高}
RL:=IF(CURRBARSCOUNT =MIN(BC2,TC2)-10,UTL,CONST(REF(UTL,MIN(BC2,TC2)-11)));{限制低}
中轨:IF(NP FP,IF(LRL =RH,LRL,DRAWNULL),IF(LRL =RL,LRL,DRAWNULL)),COLORLIBLUE;
上轨:IF(NP FP,IF(ATL =RH,ATL,DRAWNULL),IF(ATL =RL,ATL,DRAWNULL)),COLORLIBLUE;
下轨:IF(NP FP,IF(UTL =RH,UTL,DRAWNULL),IF(UTL =RL,UTL,DRAWNULL)),COLORLIBLUE;
百分比:=5;
右数峰序:=2;
MA5:MA(C,5);
MA10:MA(C,10);
MA20:MA(C,20);
波谷值:=CONST(TROUGH(2,百分比,1));{前M个ZIG转向波谷值}
波谷距离:= 1+CONST(TROUGHBARS(2,百分比,1)),NODRAW;{前M个ZIG转向波谷到当前距离}
{例如:TROUGH(2,5,2)表示%5最低价ZIG转向的前2个波谷到当前的周期数};
波峰值:=CONST(PEAK(1,百分比,右数峰序));
{例如:PEAK(1,5,1)表示%5最高价ZIG转向的上一个波峰的数值}
允许误差:=0.024;
XG:= ABS(波峰值-波谷值) =允许误差 {AND BARSCOUNT(V)
波峰距离:= 1+CONST(PEAKBARS(1,百分比,右数峰序)),NODRAW;
距离:=CURRBARSCOUNT;
DRAWLINE(距离=波峰距离 AND XG,波谷值,距离=1,波谷值,1),COLORMAGENTA;
DRAWTEXT(距离=波谷距离 AND XG,L*0.98,' 精准峰谷线'),COLORYELLOW;
DRAWICON(距离=波峰距离,H*1.01,2);{波峰位置}
DRAWICON(距离=波谷距离,L*0.985,1);{波谷位置}
精准点:=(ABS(H-波谷值) =允许误差 OR ABS(L-波谷值) =0.024);
DRAWICON(距离=波峰距离,H*1.01,2);{波峰位置}
DRAWICON(距离=波谷距离,L*0.985,1);{波谷位置};
精准线:=距离=波谷距离 AND C
DRAWTEXT(精准线,LOW*0.986,'精准线'),COLORYELLOW;
公式模块:
百分比:=5;
波谷值:=CONST(TROUGH(2,百分比,1));{前M个ZIG转向波谷值}
波谷距离:= 1+CONST(TROUGHBARS(2,百分比,1)),NODRAW;{前M个ZIG转向波谷到当前距离}
距离:=CURRBARSCOUNT;
精准线:距离=波谷距离 AND C