MA5:MA(CLOSE,5),linethick0;
MA10:MA(CLOSE,10),linethick0;
MA20:MA(CLOSE,20),linethick0;
MA30:MA(CLOSE,30),linethick0;
m60:MA(CLOSE,60),linethick0;
m89:MA(CLOSE,89),linethick0;
m152:MA(CLOSE,152),linethick0;
m246:MA(CLOSE,246),linethick0;
tj1:=CLOSE>=MA20;
tj2:=CLOSE<MA20;
STICKLINE(tj1,LOW,HIGH,0,0),color1122ff;
STICKLINE(tj1,OPEN,CLOSE,7,0),color1122ff;
STICKLINE(tj2,LOW,HIGH,0,0),color22ff55;
STICKLINE(tj2,OPEN,CLOSE,7,0),color22ff55;
{?金分割?}
lhnh:=BARSLAST(BARPOS=SYSPARAM(2))+1;
nnl:=BARPOS=SYSPARAM(3);
qqqq:=BACKSET(BARPOS=SYSPARAM(3),BARSLAST(BARPOS=SYSPARAM(2)));
hh:=HHV(HIGH ,lhnh);
ll:=LLV(LOW ,lhnh);
q809:=ll+(hh-ll)*0.809;
q618:=ll+(hh-ll)*0.618;
q500:=ll+(hh-ll)*0.5;
q382:=ll+(hh-ll)*0.382;
q191:=ll+(hh-ll)*0.191;
PARTLINE(QQQQ,hh),COLORRED;
PARTLINE(qqqq,q191),COLORGREEN;
PARTLINE(qqqq,q382),COLORCYAN;
PARTLINE(qqqq,q500),COLORMAGENTA;
PARTLINE(QQQQ,q618),COLOR009999;
PARTLINE(qqqq,q809),COLOR008800;
PARTLINE(qqqq,ll),COLORWHITE;
DRAWTEXT(nnl,hh*0.998,'最高价:'),ALIGN2,Color00FFFF;
DRAWNUMBER(nnl,hh*0.998,hh,2),Color00FFFF;
DRAWTEXT(nnl,q809,'19.1%:'),ALIGN2,Color00FFFF;
DRAWNUMBER(nnl,q809,q809,2),Color00FFFF;
DRAWTEXT(nnl,q618,'38.2%:'),ALIGN2,Color00FFFF;
DRAWNUMBER(nnl,q618,q618,2),Color00FFFF;
DRAWTEXT(nnl,q500,'50%:'),ALIGN2,Color00FFFF;
DRAWNUMBER(nnl,q500,q500,2),Color00FFFF;
DRAWTEXT(nnl,q382,'61.8%:'),ALIGN2,Color00FFFF;
DRAWNUMBER(nnl,q382,q382,2),Color00FFFF;
DRAWTEXT(nnl,q191,'80.9%:'),ALIGN2,Color00FFFF;
DRAWNUMBER(nnl,q191,q191,2),Color00FFFF;
DRAWTEXT(nnl,ll*1.01,'最低价:'),ALIGN2,Color00FFFF;
DRAWNUMBER(nnl,ll*1.01,ll,2),Color00FFFF;
DRAWTEXT(nnl,hh*0.998, '沉'),ColorFF9900,align0,shift7,linethick3;
DRAWTEXT(nnl,ll+(hh-ll)*0.85, '?'),ColorFF9900,align0,shift7,linethick3;
DRAWTEXT(nnl,ll+(hh-ll)*0.71, '冷'),ColorFF9900,align0,shift7,linethick3;
DRAWTEXT(nnl,ll+(hh-ll)*0.57, '?'),ColorFF9900,align0,shift7,linethick3;
DRAWTEXT(nnl,ll+(hh-ll)*0.43, '?'),ColorFF9900,align0,shift7,linethick3;
DRAWTEXT(nnl,ll+(hh-ll)*0.29, '?'),ColorFF9900,align0,shift7,linethick3;
DRAWTEXT(nnl,ll+(hh-ll)*0.15, '不'),ColorFF9900,align0,shift7,linethick3;
DRAWTEXT(nnl,ll, '胜'),ColorFF9900,align0,shift7,linethick3;
DRAWTEXT(nnl,hh*0.998,'甲'),ColorFF00FF,align0,shift9,linethick3;
DRAWTEXT(nnl,ll+(hh-ll)*0.85,'乙'),ColorFF00FF,align0,shift9,linethick3;
DRAWTEXT(nnl,ll+(hh-ll)*0.71,'多'),ColorFF00FF,align0,shift9,linethick3;
DRAWTEXT(nnl,ll+(hh-ll)*0.57,'多'),ColorFF00FF,align0,shift9,linethick3;
DRAWTEXT(nnl,ll+(hh-ll)*0.43,'祝'),ColorFF00FF,align0,shift9,linethick3;
DRAWTEXT(nnl,ll+(hh-ll)*0.29,'你'),ColorFF00FF,align0,shift9,linethick3;
DRAWTEXT(nnl,ll+(hh-ll)*0.15,'成'),ColorFF00FF,align0,shift9,linethick3;
DRAWTEXT(nnl,ll,'功'),ColorFF00FF,align0,shift9,linethick3;
A1:=REF(HIGH,3)=HHV(HIGH,2*3+1); B1:=FILTER(A1,3); C1:=BACKSET(B1,3+1); D1:=FILTER(C1,3);{高点}
A2:=REF(LOW,3)=LLV(LOW,2*3+1); B2:=FILTER(A2,3); C2:=BACKSET(B2,3+1); D2:=FILTER(C2,3);{低点}
E1:=(REF(LLV(LOW,2*3),1)+REF(HHV(HIGH,2*3),1))/2; E2:=(HIGH+LOW)/2;{高低点出现在同一K线上时可作取舍}
H1:=(D1 AND NOT(D2 AND E1>=E2)) OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
L1:=(D2 AND NOT(D1 AND E1<E2)); H2:=D1 AND NOT(D2 AND E1>=E2);
X1:=REF(BARSLAST(H1),1)+1; F1:=BACKSET(H1 AND COUNT(L1,X1)>0,LLVBARS(IF(L1,LOW,10000),X1));
G1:=F1>REF(F1,1); I1:=BACKSET(G1,2); LD:=I1>REF(I1,1);{过滤后低点}
L2:=LD OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
X2:=REF(BARSLAST(L2),1)+1; F2:=BACKSET(L2 AND COUNT(H2,X2)>0,HHVBARS(IF(H2,HIGH,0),X2));
G2:=F2>REF(F2,1); I2:=BACKSET(G2,2); HD:=I2>REF(I2,1);{过滤后高点}
DRAWLINE(LD,LOW,HD,HIGH,0),COLORWHITE,LINETHICK1,POINTDOT;
DRAWLINE(HD,HIGH,LD,LOW,0),COLORWHITE,LINETHICK1,POINTDOT;
J1:=BACKSET(ISLASTBAR,MIN(BARSLAST(HD),BARSLAST(LD))+1); J2:=J1>REF(J1,1);
DRAWLINE(J2,IF(HD,HIGH,LOW),ISLASTBAR,IF(BARSLAST(HD)>BARSLAST(LD),HIGH,LOW),0),COLORWHITE,LINETHICK1,POINTDOT;
{以上语句为新结构波浪}
A3:=HIGH<REF(HIGH,REF(BARSLAST(HD),1)+1);
B3:=REF(HIGH,REF(BARSLAST(HD),1)+1)>REF(HIGH,REF(BARSLAST(HD),1)+2+REF(BARSLAST(HD),REF(BARSLAST(HD),1)+2));
D3:=A3 AND B3 AND HD; E3:=BACKSET(D3,REF(BARSLAST(HD),1)+2); HH:=E3>REF(E3,1);{找出全部长期高点}
A4:=LOW>REF(LOW,REF(BARSLAST(LD),1)+1);
B4:=REF(LOW,REF(BARSLAST(LD),1)+1)<REF(LOW,REF(BARSLAST(LD),1)+2+REF(BARSLAST(LD),REF(BARSLAST(LD),1)+2));
D4:=A4 AND B4 AND LD; E4:=BACKSET(D4,REF(BARSLAST(LD),1)+2); LL:=E4>REF(E4,1);{找出全部长期低点}
DRAWICON(HH,HIGH,10),ALIGN2; DRAWICON(LL,LOW,12),ALIGN1;
H3:=HH OR ISLASTBAR OR BARSCOUNT(CLOSE)=1; {后面进行过滤,方法同前。只是不用考虑高低点出现在同一K线}
X3:=REF(BARSLAST(H3),1)+1; F3:=BACKSET(H3 AND COUNT(LL,X3)>0,LLVBARS(IF(LL,LOW,POW(10,20)),X3));
G3:=F3>REF(F3,1); I3:=BACKSET(G3,2); LZ:=I3>REF(I3,1),LINETHICK0; {长期低点,也可供引用}
L4:=LZ OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
X4:=REF(BARSLAST(L4),1)+1; F4:=BACKSET(L4 AND COUNT(HH,X4)>0,HHVBARS(IF(HH,HIGH,-POW(10,20)),X4));
G4:=F4>REF(F4,1); I4:=BACKSET(G4,2); HZ:=I4>REF(I4,1),LINETHICK0;{长期高点,也可供引用}
DRAWLINE(HZ,HIGH,LZ,LOW,0),COLORGREEN,LINETHICK1;
DRAWLINE(LZ,LOW,HZ,HIGH,0),COLORGREEN,LINETHICK1;{长期连线}
K1:=BACKSET(ISLASTBAR,MIN(BARSLAST(HZ),BARSLAST(LZ))+1); K2:=K1>REF(K1,1);
DRAWLINE(K2,IF(HZ,HIGH,LOW),ISLASTBAR,CLOSE,0),COLORGREEN,LINETHICK1; {最后的长期连线,连在收盘价上}
{以下是两条趋势线原码}
UU:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);
VV:=UU>REF(UU,1);
WW:=BACKSET(VV,REF(BARSLAST(LD),1)+2);
XX:=WW>REF(WW,1);
DRAWLINE(XX,LOW,VV,LOW,1),COLORMAGENTA,LINETHICK1;
UU2:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);
VV2:=UU2>REF(UU2,1);
WW2:=BACKSET(VV2,REF(BARSLAST(HD),1)+2);
XX2:=WW2>REF(WW2,1);
DRAWLINE(XX2,HIGH,VV2,HIGH,1),COLORMAGENTA,LINETHICK1;
前一低:REF(LOW,BARSLAST(VV)),COLOR99FF66,POINTDOT,LINETHICK3;
前二低:REF(LOW,BARSLAST(XX)),COLORFF66FF,POINTDOT,LINETHICK3;
前一高:REF(HIGH,BARSLAST(VV2)),COLOR99FF66,POINTDOT,LINETHICK3;
前二高:REF(HIGH,BARSLAST(XX2)),COLORFF66FF,POINTDOT,LINETHICK3;
短高:=REF(HIGH,BARSLAST(VV2)),LINETHICK0;
短低:=REF(LOW,BARSLAST(VV)),LINETHICK0;
短比: (CLOSE-短低)/(短高-短低),LINETHICK0;
{以下语句是大盘趋势叠加}
常数:=REF(INDEXC,BARSLAST(VV))/REF(CLOSE,BARSLAST(VV));
叠1:INDEXC/常数,COLORGRAY,LINETHICK0;
PARTLINE(1,叠1),COLORGRAY;
常数2:=REF(INDEXC,BARSLAST(XX))/REF(CLOSE,BARSLAST(XX));
叠2:INDEXC/常数2,COLORGRAY,LINETHICK0;
PARTLINE(1,叠2),COLORGRAY;
DRAWNUMBER(HD,1.02*HIGH,DATEDIFF(REF(DATE,BARSLAST(LD)),DATE),0),COLORCYAN;
DRAWNUMBER(LD,0.98*LOW,DATEDIFF(REF(DATE,BARSLAST(HD)),DATE),0),COLORCYAN;
DRAWNUMBER(HD,HIGH*(1+0.002),HIGH,2),COLORBLUE,ALIGN0;
DRAWNUMBER(LD,LOW*(1.001-0.002),LOW,2),COLORBLUE,ALIGN0;