M:=macd.MacD;
JT:=BArslAST(crOSS(M,0));
ST:=BARSLAST(CROSS(0,M));
Q1:=BACKSET(ST=0,2);
QT:=BARSLAST(CROSS(Q1=1,0.5));
QQT:=BACKSET(QT=0,JT+1);
QT2:=BARSLAST(CROSS(Q1=1,0.5));
HH:=HHV(H,JT+1);
LL:=LLV(L,JT+1);
XJH:=REFX(HH,BARSNEXT(QT2=0));
XJL:=REFX(LL,BARSNEXT(QT2=0));
SQ1:=BACKSET(JT=0,2);
SQT:=BARSLAST(CROSS(SQ1=1,0.5));
SQQT:=BACKSET(SQT=0,ST+1);
SQT2:=BARSLAST(CROSS(SQ1=1,0.5));
SHH:=HHV(H,ST+1);
SLL:=LLV(L,ST+1);
XSH:=REFX(SHH,BARSNEXT(SQT2=0));
XSL:=REFX(SLL,BARSNEXT(SQT2=0));
TJ1:=CONST(M)>0 AND CURRBARSCOUNT=CONST(JT)+1;
TJ2:=CONST(M)<0 AND CURRBARSCOUNT=CONST(ST)+1;
STICKLINE(QQT=1 AND M>0,XJH,XJH,4,-1),COLORMAGENTA;
STICKLINE(QQT=1 AND M>0,XJL,XJL,4,-1),COLORMAGENTA;
STICKLINE(JT=0,XJH,XJL,0,-1),COLORMAGENTA;
STICKLINE(QT2=0 AND ST>0,HH,LL,0,-1),COLORMAGENTA;
DRAWLINE(TJ1,CONST(HH),ISLASTBAR AND CONST(M)>0,HH,0),COLORMAGENTA,DOTLINE;
DRAWLINE(TJ1,CONST(LL),ISLASTBAR AND CONST(M)>0,LL,0),COLORMAGENTA,DOTLINE;
STICKLINE(CONST(M)>0 AND CURRBARSCOUNT=CONST(JT)+1,CONST(HH),CONST(LL),0,-1),COLORMAGENTA;
STICKLINE(CONST(M)>0 AND ISLASTBAR AND CONST(ST)>0,CONST(HH),CONST(LL),0,-1),COLORMAGENTA;
STICKLINE(SQQT=1 AND M<0,XSH,XSH,4,-1),COLORGREEN;
STICKLINE(SQQT=1 AND M<0,XSL,XSL,4,-1),COLORGREEN;
STICKLINE(ST=0,XSH,XSL,0,-1),COLORGREEN;
STICKLINE(SQT2=0,SHH,SLL,0,-1),COLORGREEN;
DRAWLINE(TJ2,CONST(SHH),ISLASTBAR AND CONST(M)<0,SHH,0),COLORGREEN,DOTLINE;
DRAWLINE(TJ2,CONST(SLL),ISLASTBAR AND CONST(M)<0,SLL,0),COLORGREEN,DOTLINE;
STICKLINE(CONST(M)<0 AND CURRBARSCOUNT=CONST(ST)+1,CONST(SHH),CONST(SLL),0,-1),COLORGREEN;
STICKLINE(CONST(M)<0 AND ISLASTBAR AND CONST(JT)>0,CONST(SHH),CONST(SLL),0,-1),COLORGREEN;