DIFF : EMA(CLOSE,12) - EMA(CLOSE,26); DEA : EMA(DIFF,9); MACD : 2*(DIFF-DEA), COLORSTICK; HRULER:=CONST( IF(ISLASTBAR,HHV(MAX(ABS(DIFF),ABS(DEA)),90),0)),NODRAW; {以下計(jì)算紅綠柱的面積,當(dāng)綠柱時(shí),紅柱面積為0,反之同理} 綠柱面積:=IF(MACD<0,SUM(MACD,BARSLAST(MACD>0)),0); 紅柱面積:=IF(MACD>0,SUM(MACD,BARSLAST(MACD<0)),0); 本次最低綠柱:=IF(MACD<0,LLV(MACD,BARSLAST(MACD>0)),0); 本次最高紅柱:=IF(MACD>0,HHV(MACD,BARSLAST(MACD<0)),0); {以下計(jì)算紅柱期間的最高價(jià)(當(dāng)綠柱時(shí),本次最高價(jià)無效,是隨機(jī)值) 計(jì)算綠柱期間的最低價(jià)(當(dāng)紅柱時(shí),本次最低價(jià)無效,是隨機(jī)值 } 本次最低價(jià):=LLV(L,BARSLAST(MACD>0)),NODRAW; 本次最高價(jià):=HHV(H,BARSLAST(MACD<0)); {綠柱時(shí),統(tǒng)計(jì)綠柱的累計(jì)數(shù)量,紅柱時(shí),為0} X1:=IF (MACD<0,BARSLAST(CROSS(DIFF,DEA)),0),NODRAW; {綠柱時(shí),表示前一波綠柱的累計(jì)面積; 首根紅柱時(shí),表示最近的綠柱面積; 其他紅柱時(shí),為0 前次最低價(jià),同理; } 前次綠柱面積:=REF(綠柱面積,X1+1),NODRAW; 前次最低價(jià):=REF(本次最低價(jià),X1+1),NODRAW; 前次最低綠柱:=REF(本次最低綠柱,X1+1); Y1:=IF((綠柱面積<0 AND ABS(綠柱面積)<ABS(前次綠柱面積) AND 本次最低價(jià)<前次最低價(jià) ),1,0),NODRAW; Y11:=IF((綠柱面積<0 AND ABS(本次最低綠柱)<ABS(前次最低綠柱) AND 本次最低價(jià)<前次最低價(jià) ),1,0),NODRAW; {下面語句在公式中沒有用到} RS1:=MACD<0 AND REF(MACD,1)<0 AND 本次最低價(jià)<前次最低價(jià) AND ABS(綠柱面積)<ABS(前次綠柱面積) AND ABS(MACD)<ABS(REF(MACD,1)); {UP3為1,表示綠柱,且連續(xù)第三根縮短} UP3:=RS1 AND UPNDAY(MACD,3); STEP1:=IF(UP3,(MACD-REF(MACD,1))*0.45+(MACD-REF(MACD,2))*0.17+(MACD-REF(MACD,3))*0.07,0); N1:=IF(UP3,ABS(MACD)/ABS(STEP1),0),NODRAW; 補(bǔ)充綠柱面積:=IF(UP3,IF(N1>1,(N1-1)*MACD/2,0),0); Y1補(bǔ):=IF((綠柱面積<0 AND ABS(綠柱面積+補(bǔ)充綠柱面積)<ABS(前次綠柱面積) AND 本次最低價(jià)<前次最低價(jià) ),1,0); 底積將背:= IF( UP3,Y1補(bǔ),0),NODRAW; 底柱將背:= IF(UP3,Y11,0),NODRAW; 底積背離:= IF (CROSS(DIFF,DEA),REF(Y1,1),0),NODRAW; 底柱背離:= IF(CROSS(DIFF,DEA),REF(Y11,1),0),NODRAW; 底背離:底積背離 AND 底柱背離,NODRAW; 底背程度:=IF(底積將背 OR 底積背離,ABS(前次綠柱面積)/ABS(綠柱面積+補(bǔ)充綠柱面積)*前次最低價(jià)/本次最低價(jià),0),NODRAW; 底柱程度:=IF(底柱將背 OR 底柱背離,ABS(前次最低綠柱)/ABS(本次最低綠柱)*前次最低價(jià)/本次最低價(jià),0),NODRAW; PT:=MIN(DIFF,DEA)-HRULER/20; PT1:=MAX(DIFF,DEA)+HRULER/20; { DRAWTEXT(底積將背,0.3,'底積將背'),COLOR00FFFF; } DRAWBAND(DIFF,RGB(200,50,55),DEA,RGB(50,100,10)); STICKLINE(底積將背,PT,PT-MIN(底背程度,5)*HRULER/(4*5),2,0),COLORD33AE9; DRAWICON(底積將背,PT-MIN(底背程度,5)*HRULER/(4*5)-HRULER/20,38),COLORYELLOW; STICKLINE(底柱將背,PT1,PT1+MIN(底柱程度,5)*HRULER/(4*5),2,0),COLORD33AE9; DRAWICON(底柱將背,PT1+MIN(底柱程度,5)*HRULER/(4*5)+HRULER/10,1),COLORYELLOW; DRAWTEXT(底柱背離,PT1+HRULER/8,' 柱背'),COLOR00FFFF; STICKLINE(底柱背離,PT1,PT1+MIN(底柱程度,5)*HRULER/(4*5),3,0),COLOR0000FF; DRAWICON(底柱背離,PT1+MIN(底柱程度,5)*HRULER/(4*5)+HRULER/10,34),COLORYELLOW; DRAWTEXT(底積背離,PT-HRULER/8,' 積背'),COLOR00FFFF; STICKLINE(底積背離,PT,PT-MIN(底背程度,5)*HRULER/(4*5),3,0),COLOR0000FF; DRAWICON(底積背離,PT-MIN(底背程度,5)*HRULER/(4*5)-HRULER/20,23),COLORYELLOW; D_SCORE:=IF(底積背離 AND 底柱背離,100, IF(底積背離 OR 底柱背離,80, IF(底積將背 AND 底柱將背,90, IF(底積將背 OR 底柱將背,70, 0)))); DT_SOCRE:=IF(D_SCORE>0,D_SCORE, IF(REF(D_SCORE,1)>0,REF(D_SCORE,1)*0.8, IF(REF(D_SCORE,2)>0,REF(D_SCORE,2)*0.6, IF(REF(D_SCORE,3)>0,REF(D_SCORE,3)*0.4, IF(REF(D_SCORE,4)>0,REF(D_SCORE,4)*0.2,0) ) ) )),NODRAW; X2:=IF (MACD>0,BARSLAST(CROSS(DEA,DIFF)),0); 前次紅柱面積:=REF(紅柱面積,X2+1); 前次最高價(jià):=REF(本次最高價(jià),X2+1); 前次最高紅柱:=REF(本次最高紅柱,X2+1); Y2:=IF((紅柱面積>0 AND 紅柱面積<前次紅柱面積 AND 本次最高價(jià)>前次最高價(jià) ),1,0); Y22:=IF((紅柱面積>0 AND ABS(本次最高紅柱)<ABS(前次最高紅柱) AND 本次最高價(jià)>前次最高價(jià) ),1,0),NODRAW; RS2:= MACD>0 AND REF(MACD,1)>0 AND C>前次最高價(jià) AND ABS(紅柱面積)<ABS(前次紅柱面積) AND ABS(MACD)<ABS(REF(MACD,1)); {DOWN3為1,表示紅柱,且連續(xù)第三根縮短} DOWN3:=RS2 AND DOWNNDAY(MACD,3); STEP2:=IF(DOWN3,(MACD-REF(MACD,1))*0.45+(MACD-REF(MACD,2))*0.17+(MACD-REF(MACD,3))*0.07,0); N2:=IF(DOWN3,ABS(MACD)/ABS(STEP2),0),NODRAW; 補(bǔ)充紅柱面積:=IF(DOWN3,IF(N2>1,(N2-1)*MACD/2,0),0); Y2補(bǔ):=IF((紅柱面積>0 AND ABS(紅柱面積+補(bǔ)充紅柱面積)<ABS(前次紅柱面積) AND 本次最高價(jià)>前次最高價(jià) ),1,0); 頂積將背:= IF( DOWN3,Y2補(bǔ),0),NODRAW; 頂柱將背:= IF(DOWN3,Y22,0),NODRAW; 頂積背離:= IF (CROSS(DEA,DIFF),REF(Y2,1),0),NODRAW; 頂柱背離:= IF(CROSS(DEA,DIFF),REF(Y22,1),0),NODRAW; 頂背離: 頂積背離 AND 頂柱背離,NODRAW; 頂背程度:=IF(頂積將背 OR 頂積背離,ABS(前次紅柱面積)/ABS(紅柱面積+補(bǔ)充紅柱面積)*本次最高價(jià)/前次最高價(jià),0),NODRAW; 頂柱程度:=IF(頂柱將背 OR 頂柱背離,ABS(前次最高紅柱)/ABS(本次最高紅柱)*本次最高價(jià)/前次最高價(jià),0),NODRAW; { DRAWICON(頂積背離,0,19),COLOR00FF00; STICKLINE(頂積背離,0,-0.3,2,0),COLOR00FF00; DRAWTEXT(頂積背離,-0.3,'頂積背離'),COLORFF0000; } STICKLINE(頂積將背,PT,PT-MIN(頂背程度,5)*HRULER/(4*5),2,0),COLORFFFF00; DRAWICON(頂積將背,PT-MIN(頂背程度,5)*HRULER/(4*5)-HRULER/20,39),COLORYELLOW; STICKLINE(頂柱將背,PT1,PT1+MIN(頂柱程度,5)*HRULER/(4*5),2,0),COLORFFFF00; DRAWICON(頂柱將背,PT1+MIN(頂柱程度,5)*HRULER/(4*5)+HRULER/10,2),COLORYELLOW; DRAWTEXT(頂柱背離,PT1+HRULER/8,' 柱背'),COLOR00FFFF; STICKLINE(頂柱背離,PT1,PT1+MIN(頂柱程度,5)*HRULER/(4*5),3,0),COLOR00FF00; DRAWICON(頂柱背離,PT1+MIN(頂柱程度,5)*HRULER/(4*5)+HRULER/10,35),COLORYELLOW; DRAWTEXT(頂積背離,PT-HRULER/8,' 積背'),COLOR00FFFF; STICKLINE(頂積背離,PT,PT-MIN(頂背程度,5)*HRULER/(4*5),3,0),COLOR00FF00; DRAWICON(頂積背離,PT-MIN(頂背程度,5)*HRULER/(4*5)-HRULER/20,45),COLORYELLOW; NOTEXTSDIFF:DIFF,COLORWHITE; NOTEXTSDEA:DEA,COLORYELLOW; NOTEXTMACDDRAW:MACD, COLORSTICK; ![]() |
|