一个很复杂的指标,大家研究 源码一并发出,供大家研究 度量涨幅源码
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;
 |