送给有需要的同学! 
请大家一齐参予去完善这一个指标; 注:记得调整参数....谢谢! 
{改编波神凯线源码} 
INPUT:年(8,0,100),月(1,1,12),日(1,1,31),年2(8,0,100),月2(1,1,12),日2(1,1,31),做多吗(1,0,1),测量(1,1,4); 
DATE1:=年*10000+月*100+日+1000000; 
DATE2:=年2*10000+月2*100+日2+1000000; 
hh:=ref(h,BARSLAST(DATE1=DATE)); 
HH2:=IF(ref(h,barslast(DATE1=DATE))<REF(H,BARSLAST(DATE1=DATE)-1),ref(H,BARSLAST(DATE1=DATE)-1),IF(ref(h,barslast(DATE1=DATE))<REF(H,BARSLAST(DATE1=DATE)-2),REF(H,BARSLAST(DATE1=DATE)-2),ref(H,BARSLAST(DATE1=DATE)-1))); 
LL2:=IF(ref(l,barslast(DATE1=DATE))>REF(l,BARSLAST(DATE1=DATE)-1),ref(l,BARSLAST(DATE1=DATE)-1),IF(ref(l,barslast(DATE1=DATE))>REF(l,BARSLAST(DATE1=DATE)-2),REF(l,BARSLAST(DATE1=DATE)-2),ref(l,BARSLAST(DATE1=DATE)-1))); 
hh31:=ref(o,BARSLAST(DATE1=DATE)); 
hh32:=ref(c,BARSLAST(DATE1=DATE)); 
hh3:=min(hh31,hh32); 
LL3:=max(hh31,hh32); 
HH4:=if(做多吗,ref(h,barslast(DATE=DATE2)),ref(h,barslast(DATE=DATE1))); 
LL4:=if(做多吗,ref(L,barslast(DATE=DATE1)),ref(L,barslast(DATE=DATE2))); 
LLOW:=ref(LOW,BARSLAST(DATE1=DATE)); 
H1:=STRTONUM(NUMTOSTR(Hh)); 
L1:=STRTONUM(NUMTOSTR(LLOW)); 
H2:=STRTONUM(NUMTOSTR(HH2)); 
L2:=STRTONUM(NUMTOSTR(LL2)); 
h3:=STRTONUM(NUMTOSTR(Hh3)); 
L3:=STRTONUM(NUMTOSTR(LL3)); 
H4:=STRTONUM(NUMTOSTR(HH4)); 
L4:=STRTONUM(NUMTOSTR(LL4)); 
LL1:=if(测量=1,H1-L1,IF(测量=2 AND 做多吗=1,H2-L1,IF(测量=2 AND 做多吗<>1,H1-L2,IF(测量=3 AND 做多吗=1,H3-L1,IF(测量=3 AND 做多吗<>1,H1-L3,IF(测量=4,H4-L4,H4-L4)))))); 
LL:=STRTONUM(NUMTOSTR(LL1)); 
VERTLINE(date=date1,0),COLORB0B0B0,LINETHICK2; 
IF 测量=4 THEN VERTLINE(date=date2,1),COLORBBBBBB; 
if 做多吗=1 then  
begin 
多开门:LL*1.508 + L1,COLORRED,linethick2; 
一线:L1+LL*2,COLORWHITE,dotline; 
二线:L1+LL*2.4,COLORWHITE,dotline; 
三线:L1+LL*3.05,color0045FF; 
四线:L1+LL*3.75,COLORWHITE,dotline; 
五线:L1+LL*4.15,color00A5FF; 
六线:L1+LL*4.8,COLORWHITE,dotline; 
七线:L1+LL*5.5,colorCBC0FF; 
八线:L1+LL*6.1,COLORWHITE,dotline; 
多关门:L1+LL*6.90001,linethick2; 
DRAWTEXT(barstatus=2,LL*1.50801+L1,numtostr(LL*1.508+L1)+'多开门'),COLORB0B0B0,ALIGN2; 
DRAWTEXT(BARSTATUS=2,L1+LL*3.05001,numtostr(L1+LL*3.05)+' No:3'),COLORB0B0B0,ALIGN2; 
DRAWTEXT(BARSTATUS=2,L1+LL*4.15001,numtostr(L1+LL*4.15)+' No:5'),COLORB0B0B0,ALIGN2; 
DRAWTEXT(BARSTATUS=2,L1+LL*5.50001,numtostr(L1+LL*5.5)+' No:7'),COLORB0B0B0,ALIGN2; 
DRAWTEXT(BARSTATUS=2,L1+LL*6.90001,numtostr(L1+LL*6.9)+'多关门'),COLORB0B0B0,ALIGN2; 
end; 
IF 做多吗<>1 THEN 
BEGIN 
空开门:h1-LL*1.508,linethick2; 
空一线:h1-LL*2,COLORWHITE,DOTLINE; 
空二线:h1-LL*2.4,COLORWHITE,DOTLINE; 
空三线:h1-LL*3.05,colorD30094; 
空四线:h1-LL*3.75,COLORWHITE,DOTLINE; 
空五线:h1-LL*4.15,color00A5FF; 
空六线:h1-LL*4.8,COLORWHITE,DOTLINE; 
空七线:h1-LL*5.5,color104974; 
空八线:h1-LL*6.1,COLORWHITE,dotline; 
空关门:h1-LL*6.9,linethick2; 
DRAWTEXT(BARSTATUS=2,h1-LL*1.50801,numtostr(h1-LL*1.508)+'空开门'),COLORB0B0B0,ALIGN2; 
DRAWTEXT(BARSTATUS=2,h1-LL*3.05001,numtostr(h1-LL*3.05)+' No:3'),COLORB0B0B0,ALIGN2; 
DRAWTEXT(BARSTATUS=2,h1-LL*5.50001,numtostr(h1-LL*5.5)+' No:7'),COLORB0B0B0,ALIGN2; 
DRAWTEXT(BARSTATUS=2,h1-LL*6.90001,numtostr(h1-LL*6.9)+'空关门'),COLORB0B0B0,ALIGN2; 
END; 
{-----------------------------立体K线--------------------------------------} 
Ko:=CLOSE; 
Kc:=REF(CLOSE,1); 
STICKLINE(ko<=kc ,CLOSE ,OPEN,8,0 ),COLOR008800; 
STICKLINE(ko<=kc ,CLOSE ,OPEN,7,0 ),COLOR009900; 
STICKLINE(ko<=kc ,CLOSE ,OPEN,6,0 ),COLOR00aa00; 
STICKLINE(ko<=kc ,CLOSE ,OPEN,5,0 ),COLOR00bb00; 
STICKLINE(ko<=kc,CLOSE ,OPEN,4,0 ),COLOR00cc00; 
STICKLINE(ko<=kc,CLOSE ,OPEN,3,0 ),COLOR33dd00; 
STICKLINE(ko<=kc,CLOSE ,OPEN,2,0 ),COLOR00ee00; 
STICKLINE(ko<=kc,CLOSE ,OPEN,1,0 ),COLOR66ff00; 
STICKLINE(ko>kc,CLOSE,OPEN,8,0 ),COLOr000088; 
STICKLINE(ko>kc,CLOSE,OPEN,7,0 ),COLOr000099; 
STICKLINE(ko>kc,CLOSE,OPEN,6 ,0 ),COLOR0000aa; 
STICKLINE(ko>kc,CLOSE,OPEN,5,0 ),COLOr0000bb; 
STICKLINE(ko>kc,CLOSE,OPEN,4,0 ),COLOr0000cc; 
STICKLINE(ko>kc,CLOSE,OPEN,3 ,0 ),COLOR0000dd; 
STICKLINE(ko>kc,CLOSE,OPEN,2,0 ),COLOr0000ee; 
STICKLINE(ko>kc,CLOSE,OPEN,1 ,0 ),COLOR0033ff; 
STICKLINE(ko>kc,OPEN,LOW,0.5,0 ),COLORred; 
STICKLINE(ko>kc,CLOSE,HIGH,0.5 ,0 ),COLORred; 
STICKLINE(ko<=kc,CLOSE,LOW,0.5 ,0 ),COLOR66cc33; 
STICKLINE(ko<=kc,OPEN,HIGH,0.5 ,0 ),COLOR66cc33; 
pl5:=ZIG(3,5); 
en1:=ZIG(3,5)>REF(ZIG(3,5),1) and REF(ZIG(3,5),1)<=REF(ZIG(3,5),2) and REF(ZIG(3,5),2)<=REF(ZIG(3,5),3); 
ex1:=ZIG(3,5)<REF(ZIG(3,5),1) and REF(ZIG(3,5),1)>=REF(ZIG(3,5),2) and REF(ZIG(3,5),2)>=REF(ZIG(3,5),3); 
pl10:=ZIG(3,13); 
en2:=ZIG(3,10)>REF(ZIG(3,10),1) and REF(ZIG(3,10),1)<=REF(ZIG(3,10),2) and REF(ZIG(3,10),2)<=REF(ZIG(3,10),3); 
ex2:=ZIG(3,10)<REF(ZIG(3,10),1) and REF(ZIG(3,10),1)>=REF(ZIG(3,10),2) and REF(ZIG(3,10),2)>=REF(ZIG(3,10),3); 
pl20:=ZIG(3,26); 
en3:= ZIG(3,20)>REF(ZIG(3,20),1) and REF(ZIG(3,20),1)<=REF(ZIG(3,20),2) and REF(ZIG(3,20),2)<=REF(ZIG(3,20),3); 
ex3:=ZIG(3,20)<REF(ZIG(3,20),1) and REF(ZIG(3,20),1)>=#p##e#REF(ZIG(3,20),2) and REF(ZIG(3,20),2)>=REF(ZIG(3,20),3); 
pl40:=ZIG(3,55); 
走强1:=BARSLAST(pl5<REF(pl5,1)); 
走弱1:=BARSLAST(pl5>REF(pl5,1)); 
走强2:=BARSLAST(pl10<REF(pl10,1)); 
走弱2:=BARSLAST(pl10>REF(pl10,1)); 
走强3:=BARSLAST(pl20<REF(pl20,1)); 
走弱3:=BARSLAST(pl20>REF(pl20,1)); 
ztjz5:=IF(pl10>REF(pl10,1),COUNT(en1,走强2),0); 
ztjd5:=IF(pl10>REF(pl10,1),COUNT(ex1,走强2),0); 
dtjz5:=IF(pl10<REF(pl10,1),COUNT(en1,走弱2),0); 
dtjd5:=IF(pl10<REF(pl10,1),COUNT(ex1,走弱2),0); 
ztjz10:=IF(pl20>REF(pl20,1),COUNT(en2,走强3),0); 
ztjd10:=IF(pl20>REF(pl20,1),COUNT(ex2,走强3),0); 
dtjz10:=IF(pl20<REF(pl20,1),COUNT(en2,走弱3),0); 
dtjd10:=IF(pl20<REF(pl20,1),COUNT(ex2,走弱3),0); 
DRAWTEXT(en1 and dtjz5=1,LOW*0.98,'(Ⅰ)'),colorffff00; 
DRAWTEXT(ex1 and dtjd5=2,HIGH*1.02,'(Ⅱ)'),colorffff00; 
DRAWTEXT(en2 and ztjz5=1,LOW*0.98,'(Ⅲ)'),colorffff00; 
DRAWTEXT(ex1 and pl10>REF(pl10,1) and ztjd5=1,HIGH*1.02,'⑴'),color0000ff; 
DRAWTEXT(en1 and pl10>REF(pl10,1) and ztjz5=2,LOW*0.98,'⑵'),color0000ff; 
DRAWTEXT(ex1 and pl10>REF(pl10,1) and ztjz5=2,HIGH*1.02,'⑶'),color0000ff; 
DRAWTEXT(en1 and pl10>REF(pl10,1) and ztjz5=3,LOW*0.98,'⑷'),color0000ff; 
DRAWTEXT(ex2 and pl20>REF(pl20,1) and ztjd10=1,HIGH*1.02,'⑸'),color0000ff; 
DRAWTEXT(en2 and dtjz10=1,LOW*0.94,'【A】'),color00ff00; 
DRAWTEXT(ex2 and dtjd10=2,HIGH*1.03,'【B】'),color00ff00; 
DRAWTEXT(en3 and ztjz10=1,LOW*0.94,'【C】'),color00ff00; 
DRAWTEXT(ex2 and pl20>REF(pl20,1) and ztjd10=1,HIGH*1.04,'①'),Linethick3,color00ffff; 
DRAWTEXT(en2 and pl20>REF(pl20,1) and ztjz10=2,LOW*0.94,'②'),Linethick3,color00ffff; 
DRAWTEXT(ex2 and pl20>REF(pl20,1) and ztjd10=2 or (ztjd10=0 or ztjd10=2) and ex2,HIGH*1.04,'③'),Linethick3,color00ffff; 
DRAWTEXT(en2 and pl20>REF(pl20,1) and ztjz10=3,LOW*0.94,'④'),Linethick3,color00ffff; 
DMLJ:=HHV(HIGH,120); 
 
TY:=CLOSE; 
HD:=FILTER(BACKSET(FILTER(REF(TY,10)=HHV(TY,2*10+1),10),10+1),10); 
LD:=FILTER(BACKSET(FILTER(REF(TY,10)=LLV(TY,2*10+1),10),10+1),10); 
A:=REF(CLOSE,BARSLAST(HD)); 
B:=REF(CLOSE,BARSLAST(LD)); 
T1:=BARSLAST(HD)<BARSLAST(LD) AND NOT(HD) ; 
T2:=BARSLAST(HD)>BARSLAST(LD) AND NOT(LD);
 
  |