以下是通达信 线性回归线源码主图

通达信线性回归线同划线工具,用法略。
UR:=10;LR:=10;
 {线性回归线}
TC1:=IF(H=HHV(H,8*UR),H,DRAWNULL);
 TC2:=CONST(BARSLAST(TC1=H))+1;
 UP:CONST(IF(TC2=1,H,REF(H,TC2-1)));
 BC1:=IF(L=LLV(L,8*LR),L,DRAWNULL);
 BC2:=CONST(BARSLAST(BC1=L))+1;
 LL:CONST(IF(BC2=1,L,REF(L,BC2-1)));
 LP:=CURRBARSCOUNT<=BC2 AND L=LL;{低点定位}
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;{远点}
EQU:(NP+FP)/2,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)),COLOR628962;
上轨:IF(NP>FP,IF(ATL<=RH,ATL,DRAWNULL),IF(ATL>=RL,ATL,DRAWNULL)),COLOR628962;
下轨:IF(NP>FP,IF(UTL<=RH,UTL,DRAWNULL),IF(UTL>=RL,UTL,DRAWNULL)),COLOR628962;
 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。