一个很复杂的指标,大家研究
源码一并发出,供大家研究
度量涨幅源码
V1:=ISLASTBAR;
V2:=REF(HIGH,N)=HHV(HIGH,2*N+1);
V3:=FILTER(V2,N);
V4:=BACKSET(V3,N+1);
V5:=FILTER(V4,N);
V6:=V5 OR V1;
V7:=REF(LOW,N)=LLV(LOW,2*N+1);
V8:=FILTER(V7,N);
V9:=BACKSET(V8,N+1);
VA:=FILTER(V9,N);
VB:=VA AND NOT(V5);
VC:=BACKSET(V6,REF(BARSLAST(VB),1)+1);
VD:=VC>REF(VC,1);
VE:=BACKSET(VD,2);
VF:=VE>REF(VE,1);
V10:=BACKSET(VF AND COUNT(V6,REF(BARSLAST(VB),1)+2)=0,REF(BARSLAST(VB),1)+2);
V11:=V10>REF(V10,1);
V12:=BACKSET(V11 AND COUNT(V6,REF(BARSLAST(VB),1)+2)=0,REF(BARSLAST(VB),1)+2);
V13:=V12>REF(V12,1);
V14:=IF(V6,COUNT(VB,REF(BARSLAST(V6),1)+1),0);
V15:=IF(V14=1 AND V6,BARSLAST(VF),0);
V16:=IF(V6 AND REF(LOW,BARSLAST(VF))>=REF(LOW,BARSLAST(V11)),BARSLAST(V11),BARSLAST(VF));
V17:=IF(V14=2 AND V6,V16,0);
V18:=IF(V14>=3 AND V6,IF(V6 AND REF(LOW,V16)>=REF(LOW,BARSLAST(V13)),BARSLAST(V13),V16),0);
V19:=V15+V17+V18;
V1A:=BACKSET(V6,V19);
V1B:=V1A>REF(V1A,1);
V1C:=BACKSET(V1B,2);
V1D:=V1C>REF(V1C,1);
V1E:=V1D OR V1;
V1F:=BACKSET(V1E,REF(BARSLAST(V6),1)+1);
V20:=V1F>REF(V1F,1);
V21:=BACKSET(V20,2);
V22:=V21>REF(V21,1);
V23:=BACKSET(V22 AND COUNT(V1E,REF(BARSLAST(V6),1)+2)=0,REF(BARSLAST(V6),1)+2);
V24:=V23>REF(V23,1);
V25:=BACKSET(V24 AND COUNT(V1E,REF(BARSLAST(V6),1)+2)=0,REF(BARSLAST(V6),1)+2);
V26:=V25>REF(V25,1);
V27:=IF(V1E,COUNT(V5,REF(BARSLAST(V1E),1)+1),0);
V28:=IF(V27=1 AND V1E,BARSLAST(V22),0);
V29:=IF(V1E AND REF(HIGH,BARSLAST(V22))<=REF(HIGH,BARSLAST(V24)),BARSLAST(V24),BARSLAST(V22));
V2A:=IF(V27=2 AND V1E,V29,0);
V2B:=IF(V27>=3 AND V1E,IF(V1E AND REF(HIGH,V29)<=REF(HIGH,BARSLAST(V26)),BARSLAST(V26),V29),0);
V2C:=V28+V2A+V2B;
V2D:=BACKSET(V1E,V2C);
V2E:=V2D>REF(V2D,1);
V2F:=BACKSET(V2E,2);
V30:=V2F>REF(V2F,1);
DRAWLINE(V1D,LOW,V30,HIGH,0),linethick1;
DRAWLINE(V30,HIGH,V1D,LOW,0),linethick1;
V31:=BACKSET(V1,BARSLAST(V1D)+1);
V32:=V31>REF(V31,1);
V33:=BACKSET(V1,BARSLAST(V30)+1);
V34:=V33>REF(V33,1);
V35:=IF(BARSLAST(V32)<BARSLAST(V34),V32,V34);
V36:=IF(BARSLAST(V32)<BARSLAST(V34),LOW,HIGH);
DRAWLINE(V35,V36,V1,CLOSE,0),linethick1;
V37:=BACKSET(V1,BARSLAST(V1D)+1);
V38:=V37>REF(V37,1);
V39:=BACKSET(V38,REF(BARSLAST(V1D),1)+2);
V3A:=V39>REF(V39,1);
DRAWLINE(V3A,LOW,V38,LOW,1),linethick1,coloryellow,POINTDOT;
V3B:=BACKSET(V1,BARSLAST(V30)+1);
V3C:=V3B>REF(V3B,1);
V3D:=BACKSET(V3C,REF(BARSLAST(V30),1)+2);
V3E:=V3D>REF(V3D,1);
DRAWLINE(V3E,HIGH,V3C,HIGH,1),linethick1,coloryellow,POINTDOT;
xx1: REF(LOW,BARSLAST(V38)),colorccff99,linethick2;
前二低: REF(LOW,BARSLAST(V3A)),colormagenta,linethick2;
yy1: REF(HIGH,BARSLAST(V3C)),colorccff99,linethick2;
前二高: REF(HIGH,BARSLAST(V3E)),colormagenta,linethick2;
DRAWNUMBER(ISLASTBAR,yy1,yy1,2);
DRAWNUMBER(ISLASTBAR,xx1,xx1,2);
DRAWNUMBER(ISLASTBAR,前二低,前二低,2);
DRAWNUMBER(ISLASTBAR,前二高,前二高,2);
J:=REF(HIGH,N)=HHV(HIGH,2*N+1);
JA:=FILTER(J,N);
BB:=BACKSET(JA,N+1);
J1:=FILTER(BB,N);
J:=J1 OR ISLASTBAR;
J2:=REF(LOW,N)=LLV(LOW,2*N+1);
JA2:=FILTER(J2,N);
BB2:=BACKSET(JA2,N+1);
J22:=FILTER(BB2,N);
J2:=J22 AND NOT(J1);
EA:=BACKSET(J,REF(BARSLAST(J2),1)+1);
EB:=EA>REF(EA,1); JF:=BACKSET(EB,2);
JJ1:=JF>REF(JF,1);
JF2:=BACKSET(JJ1 AND COUNT(J,REF(BARSLAST(J2),1)+2)=0,REF(BARSLAST(J2),1)+2);
JJ2:=JF2>REF(JF2,1);
JF3:=BACKSET(JJ2 AND COUNT(J,REF(BARSLAST(J2),1)+2)=0,REF(BARSLAST(J2),1)+2);
JJ3:=JF3>REF(JF3,1);
js:=IF(J,COUNT(J2,REF(BARSLAST(J),1)+1),0);
G1:=IF(JS=1 AND J,BARSLAST(JJ1),0);
GA:=IF(J AND REF(LOW,BARSLAST(JJ1))>=REF(LOW,BARSLAST(JJ2)),BARSLAST(JJ2),BARSLAST(JJ1));
G2:=IF(JS=2 AND J,GA,0);
G3:=IF(JS>=3 AND J,IF(J AND REF(LOW,GA)>=REF(LOW,BARSLAST(JJ3)),BARSLAST(JJ3),GA),0);
GG:=G1+G2+G3;
JA:=BACKSET(J,GG); JB:=JA>REF(JA,1); JJ:=BACKSET(JB,2);
LD:=JJ>REF(JJ,1);
LD1:=LD OR ISLASTBAR;
hEA:=BACKSET(LD1,REF(BARSLAST(J),1)+1);
hEB:=hEA>REF(hEA,1); hJF:=BACKSET(hEB,2);
hJJ1:=hJF>REF(hJF,1);
hJF2:=BACKSET(hJJ1 AND COUNT(LD1,REF(BARSLAST(J),1)+2)=0,REF(BARSLAST(J),1)+2);
hJJ2:=hJF2>REF(hJF2,1);
hJF3:=BACKSET(hJJ2 AND COUNT(LD1,REF(BARSLAST(J),1)+2)=0,REF(BARSLAST(J),1)+2);
hJJ3:=hJF3>REF(hJF3,1);
hjs:=IF(LD1,COUNT(J1,REF(BARSLAST(LD1),1)+1),0);
hG1:=IF(hJS=1 AND LD1,BARSLAST(hJJ1),0);
hGA:=IF(LD1 AND REF(HIGH,BARSLAST(hJJ1))<=REF(HIGH,BARSLAST(hJJ2)),BARSLAST(hJJ2),BARSLAST(hJJ1));
hG2:=IF(hJS=2 AND LD1,hGA,0);
hG3:=IF(hJS>=3 AND LD1,IF(LD1 AND REF(HIGH,hGA)<=REF(HIGH,BARSLAST(hJJ3)),BARSLAST(hJJ3),hGA),0);
hGG:=hG1+hG2+hG3;
hJA:=BACKSET(LD1,hGG);
hJB:=hJA>REF(hJA,1);
hJJ:=BACKSET(hJB,2);
HD:=hJJ>REF(hJJ,1),linethick2;
UU:=BACKSET(ISLASTBAR,BARSLAST(LD)+1);
VV:=10*(UU>REF(UU,1));
UU2:=BACKSET(ISLASTBAR,BARSLAST(HD)+1);
VV2:=20*(UU2>REF(UU2,1));
{-------------------------------------------------------------------------------------}
底1:=REF(LOW,BARSLAST(LD)),COLORred,LINETHICK1;
頂1:=REF(HIGH,BARSLAST(HD)),COLORGreen,LINETHICK1;
STICKLINE(HD ,頂1,底1,0,0),Color660099,linethick1;{??}
DRAWLINE(LD,LOW,HD,HIGH,0),Color660099,linethick1;{斜}
DRAWLINE(LD,LOW,HD,底1,0),Color660099,linethick1;{?}
STICKLINE(LD,頂1,底1,0,0),Color666666,linethick1;{??}
DRAWLINE(HD,HIGH,LD,LOW,0),Color666666,linethick1;{斜}
DRAWLINE(HD,HIGH,LD,頂1,0),Color666666,linethick1;{?}
{-----------------------------------------------------------------------------------------------------------------}
底:REF(LOW,BARSLAST(VV)),COLORred,LINETHICK2;
頂:REF(HIGH,BARSLAST(VV2)),COLORGreen,LINETHICK2;
{下迭三角形:藍色三角形畫完介入}
STICKLINE(VV,頂,底,0,0),Colorff6633,linethick3;{??}
DRAWLINE(VV2,HIGH,VV,LOW,0),Colorff6633,linethick3;{斜}
DRAWLINE(VV2,HIGH,VV,頂,0),Colorff6633,linethick3;{?}
{DRAWLINE(c>0,H,VV,L,0),Colorcyan,linethick2;}{斜}
{DRAWLINE(c>1,H,VV,頂,0),Colorcyan,linethick2;}{?}
{上漲三角形:紅色三角形畫完出局}
STICKLINE(VV2 ,頂,底,0,0),Colorred,linethick3;{??}
DRAWLINE(VV,LOW,VV2,HIGH,0),Colorred,linethick3;{斜}
DRAWLINE(VV,LOW,VV2,底,0),Colorred,linethick3;{?}
{-----------------------------------------------------------------------------------------------------------------------------------}
hat:=HHV(HIGH,20);
hbt:=LLV(LOW,20);
hht:=HIGH;
llt:=LOW;
xat:=hat[DATACOUNT];
xbt:=hbt[DATACOUNT];
hbc[1]:=0;
nat:=hbc[1];
nbt:=hbc[1];
hnat:=hbc[1];
hnbt:=hbc[1];
cat:=hbc[1];
cbt:=hbc[1];
hct:=CLOSE;
for i=DATACOUNT downto DATACOUNT-100 do
begin
IF hat[i]=xat then nat:=nat+1;
IF hat[i]=xat and nat=1 then cat:=i;
IF hat[i]=xat and nat=1 then hnat:=hat[i];
IF hbt[i]=xbt then nbt:=nbt+1;
IF hbt[i]=xbt and nbt=1 then cbt:=i;
IF hbt[i]=xbt and nbt=1 then hnbt:=hbt[i];
end;
hac[1]:=0;
atta:=hac[1];
attb:=hac[1];
atth1:=hac[1];
atth2:=hac[1];
atthi1:=hac[1];
atthi2:=hac[1];
attl1:=hac[1];
attl2:=hac[1];
attli1:=hac[1];
attli2:=hac[1];
hh:=HIGH;
LL:=LOW;
{------------------------------------------------------------------------------------------------------------------------}
FOR I=DATACOUNT downTO DATACOUNT-100 do
begin
IF HD[i]>0 then atta:=atta+1;
IF HD[i]>0 and atta=1 then atth1:=hh[i];
IF HD[i]>0 and atta=1 then atthi1:=i;
IF HD[i]>0 and atta=2 then atth2:=hh[i];
IF HD[i]>0 and atta=2 then atthi2:=i;
IF LD[i]>0 then attb:=attb+1;
IF LD[i]>0 and attb=1 then attl1:=LL[i];
IF LD[i]>0 and attb=1 then attli1:=i;
IF LD[i]>0 and attb=2 then attl2:=LL[i];
IF LD[i]>0 and attb=2 then attli2:=i;
end;
{------------------------------------------------------------------------------}
nnn1:=70;
nnn:=70;
nnn2:=100;
nnn3:=DATACOUNT-1;
{HH:=HHV(H,Nnn1);}
{LL:=LLV(L,Nnn1);}
dd3:=CLOSE;
dd4:=CLOSE;
dd5:=CLOSE;
ddt:=CLOSE;
ldd3:=CLOSE;
ldd4:=CLOSE;
ldd5:=CLOSE;
lddt:=CLOSE;
hh1:=atth1;
hh2:=atth2;
ll1:=attl1;
ll2:=attl2;
aa:=HIGH;
xbb:=LOW;
cc:=CLOSE;
caa1:=atthi1,linethick1;
// caa1,linethick3;
caa2:=atthi2;
cbb1:=attli1;
cbb2:=attli2;
hnaa1:=atth1;
hnaa2:=atth2;
hnbb1:=attl1;
hnbb2:=attl2;
// hnbb2,linethick3;
// hnaa2,linethick3;
hnaat:=hnat;
hnbbt:=hnbt;
caat:=cat;
cbbt:=cbt;
// PARTLINE(CLOSE>0 and BARSCOUNT(CLOSE)<DATACOUNT-(DATACOUNT-caa2) and dd3>SYSPARAM(5)*0.9,dd3),linethick1,shift99,color007700;
// PARTLINE(CLOSE>0 and BARSCOUNT(CLOSE)<DATACOUNT-(DATACOUNT-caa2),dd4),linethick1,shift99,coloryellow;
PARTLINE(CLOSE>0 and BARSCOUNT(CLOSE)<DATACOUNT-(DATACOUNT-caa2) and (dd5>SYSPARAM(5)*0.94 and dd5<SYSPARAM(4)*1.06),dd5),linethick2,POINTDOT,shift99,color007700;
DRAWNUMBER(BARSCOUNT(CLOSE)+99=DATACOUNT and (dd5>SYSPARAM(5)*0.94 and dd5<SYSPARAM(4)*1.06),dd5,dd5,2),color007700,shift100;
STICKLINE(BARSCOUNT(CLOSE)+99=DATACOUNT and (dd5>SYSPARAM(5)*0.94 and dd5<SYSPARAM(4)*1.06),dd5,dd5+dd5*0.0001,60,0),color007700,shift99;
PARTLINE(CLOSE>0 and BARSCOUNT(CLOSE)<DATACOUNT-(DATACOUNT-caa1) and ddt>SYSPARAM(5)*0.975,ddt),linethick3,POINTDOT,shift99,color007700;
DRAWNUMBER(BARSCOUNT(CLOSE)+99=DATACOUNT,ddt,ddt,2),color007700,shift100;
STICKLINE(BARSCOUNT(CLOSE)+99=DATACOUNT,ddt,ddt+ddt*0.0001,60,0),color007700,shift99;
{partline(c>0 and barscount(c)<datacount-(datacount-cbb2) and ldd3<sysparam(4)*1.07,ldd3),linethick1,shift99,colorcc3366;}
{partline(c>0 and barscount(c)<datacount-(datacount-cbb2),ldd4),linethick1,shift99,colorcc3366;}
PARTLINE(CLOSE>0 and BARSCOUNT(CLOSE)<DATACOUNT-(DATACOUNT-cbb2) and ldd5<SYSPARAM(4)*1.06,ldd5),linethick2,POINTDOT,shift99,colorcc3366;
DRAWNUMBER(BARSCOUNT(CLOSE)+99=DATACOUNT,ldd5,ldd5,2),colorcc3366,shift100;
STICKLINE(BARSCOUNT(CLOSE)+99=DATACOUNT,ldd5,ldd5+ldd5*0.0001,60,0),colorcc3366,shift99;
PARTLINE(CLOSE>0 and BARSCOUNT(CLOSE)<DATACOUNT-(DATACOUNT-cbb1) and lddt<SYSPARAM(4)*1.06,lddt),linethick3,POINTDOT,shift99,colorcc3366;
DRAWNUMBER(BARSCOUNT(CLOSE)+99=DATACOUNT,lddt,lddt,2),colorcc3366,shift100;
STICKLINE(BARSCOUNT(CLOSE)+99=DATACOUNT,lddt,lddt+lddt*0.0001,60,0),colorcc3366,shift99;
AC:=CLOSE;
AH:=HIGH;
AL:=LOW;
AO:=OPEN;
STICKLINE(AC>=AO,AH,AC,1,0),color008899;
STICKLINE(AC>=AO,AH,AC,0,0),color77ffee;
STICKLINE(AC>=AO,AO,AL,1,0),color008899;
STICKLINE(AC>=AO,AO,AL,0,0),color77ffee;
STICKLINE(AC>AO,AC,AO,8,0),COLOR008899;
STICKLINE(AC>AO,AC,AO,7,0),COLOR1199aa;
STICKLINE(AC>AO,AC,AO,6,0),COLOR22aabb;
STICKLINE(AC>AO,AC,AO,5,0),COLOR33bbcc;
STICKLINE(AC>AO,AC,AO,4,0),COLOR44ccdd;
STICKLINE(AC>AO,AC,AO,3,0),COLOR55ddee;
STICKLINE(AC>AO,AC,AO,2,0),COLOR66eeee;
STICKLINE(AC>AO,AC,AO,1,0),COLOR77ffee;
STICKLINE(AC<=AO,AH,AC,1,0),colorff8800;
STICKLINE(AC<=AO,AH,AC,0,0),colorffff33;
STICKLINE(AC<=AO,AO,AL,1,0),colorff8800;
STICKLINE(AC<=AO,AO,AL,0,0),colorffff33;
STICKLINE(AC<=AO,AC,AO,8,0),COLORff8800;
STICKLINE(AC<=AO,AC,AO,7,0),COLORff9900;
STICKLINE(AC<=AO,AC,AO,6,0),COLORffaa11;
STICKLINE(AC<=AO,AC,AO,5,0),COLORffbb11;
STICKLINE(AC<=AO,AC,AO,4,0),COLORffcc22;
STICKLINE(AC<=AO,AC,AO,3,0),COLORffdd22;
STICKLINE(AC<=AO,AC,AO,2,0),COLORffee33;
STICKLINE(AC<=AO,AC,AO,1,0),COLORffff33;
rc:=DYNAINFO(3);
s2:=SMA(CLOSE,3,1);
s6:=SMA(CLOSE,5,1);
dk:=2*(s2-s6);
STICKLINE(dk>0,rc,rc+dk,0,1),COLORRED;
STICKLINE(dk<0,rc,rc+dk,0,1),COLORCYAN;
rc,COLORBROWN;
MA(CLOSE,9);
STICKLINE(CROSS(MA(CLOSE,1),MA(CLOSE,9)),CLOSE,OPEN,8,0),colorred;
STICKLINE(CROSS(MA(CLOSE,1),MA(CLOSE,9)),HIGH,LOW,0.8,0),COLORred;
STICKLINE(CROSS(MA(CLOSE,1),MA(CLOSE,55)),CLOSE,OPEN,6,0),COLORgray;
STICKLINE(CROSS(MA(CLOSE,1),MA(CLOSE,55)),HIGH,LOW,0.6,0),COLORgray;
STICKLINE(CROSS(MA(CLOSE,1),MA(CLOSE,23.5)),CLOSE,OPEN,7,0),COLORyellow;
STICKLINE(CROSS(MA(CLOSE,1),MA(CLOSE,23.5)),HIGH,LOW,0.7,0),COLORyellow;
STICKLINE(CROSS(MA(CLOSE,1),MA(CLOSE,120)),CLOSE,OPEN,5,0),COLORMAGENTA;
STICKLINE(CROSS(MA(CLOSE,1),MA(CLOSE,120)),HIGH,LOW,0.5,0),COLORMAGENTA;
PARTLINE(MA(CLOSE,3),MA(CLOSE,3)),coloryellow,linethick2;
PARTLINE(MA(CLOSE,9),MA(CLOSE,9)),COLORMAGENTA,linethick2;
PARTLINE(MA(CLOSE,23.5),MA(CLOSE,23.5)),colorwhite;