分时通道通达信源码} TT:=BARSCOUNT(C)+1; M:SUM(V*C,TT)/SUM(V,TT),COLORYELLOW;
DRAWBAND(M,RGB(240,20,240),EMA(M,3),RGB(00,240,0));
P:=240; TC1:=IF(H=HHV(H,P),C,DRAWNULL); TC2:=CONST(BARSLAST(TC1=H))+1; UPPER:=CONST(IF(TC2=1,C,REF(C,TC2-1))); BC1:=IF(L=LLV(L,P),C,DRAWNULL); BC2:=CONST(BARSLAST(BC1=L))+1; LOWER:=CONST(IF(BC2=1,C,REF(C,BC2-1))); LP:=CURRBARSCOUNT<=BC2 AND C=LOWER;{低点定位} HP:=CURRBARSCOUNT<=TC2 AND C=UPPER;{高点定位} 低点:=LOWER; 高点:=UPPER;
TTT:=MAX(TC2,BC2); ZZ:=(高点+低点)/2; ZH:=(高点+ZZ)/2; ZL:=(ZZ+低点)/2; EE:=CURRBARSCOUNT<=TTT; IF(EE,ZL,DRAWNULL),COLOR0099FF; IF(EE,ZH,DRAWNULL),COLORFF9900; IF(EE,ZZ,DRAWNULL),COLORWHITE; IF(EE,高点,DRAWNULL),COLOR00FFCC; IF(EE,低点,DRAWNULL),COLOR00CC00; STICKLINE(IF(BC2>TC2,HP,LP),低点,高点,0,0),COLOR00FFFF; STICKLINE(IF(BC2>TC2,LP,HP),低点,高点,0,0),COLOR00FF00;
DRAWNUMBER(EE AND FILTER(C=低点,P),高点,高点),COLORYELLOW; DRAWNUMBER(EE AND FILTER(C=高点,P),低点,低点),COLOR00FF00; DRAWNUMBER(EE AND FILTER(C=低点,P),ZH,ZH),COLORFFFF00; DRAWNUMBER(EE AND FILTER(C=高点,P),ZZ,ZZ),COLORWHITE; DRAWNUMBER(EE AND FILTER(C=高点,P),ZL,ZL),COLOR0099FF;
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,COLORFF0000;{近点} LR2:=SLOPE(C,NOD+1); LR3:=CONST(IF(MIN(TC2,BC2)=1,LR2,REF(LR2,MIN(TC2,BC2)-1))); FP:=NP-LR3*(NOD),POINTDOT,COLORFF0000;{远点} EQU:=(NP+FP)/2,POINTDOT,COLOR0000FF; 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 UT2:=HHV(LRL-UT1,MAX(BC2,TC2));
|