分享

【图】MACD解盘(分折家)改进扳

 海天云骞 2017-05-21
昨天才跟朋友改成分析家用,但总觉得有些地方不如人意,尤其评论显示太乱:
不整齐不说,有的地方还重叠不能相认。现用了一些特殊的方法使得显示整齐
大方,也不会产生重叠。

MACD解盘(分折家)

DIFF: EMA(CLOSE,12) - EMA(CLOSE,26),COLORYELLOW,LINETHICK2;
DEA1:=EMA(DIFF,9);
0.10,pointdot;
MACD: 2*(DIFF-DEA1),LINETHICK0;
s1:=MACD<ref(MACD,1)and MACD>0;
s2:=MACD<ref(MACD,1)/2 and MACD<0;
STICKLINE(MACD>=0,MACD,0,8,1),COLORRED;
STICKLINE(s1,0,MACD,8,1),COLOR00ffff;
STICKLINE(s2,0,MACD,8,0),COLORffffff;
STICKLINE(MACD>ref(MACD,1)and MACD<0,0,MACD,8,1),COLORffff00;
DEA: EMA(DIFF,9),COLORGREEN;
PARTLINE(DIFF,DIFF>DEA),COLORff11cc,LINETHICK2;
PARTLINE(DIFF,DIFF>DEA AND DIFF<0),COLORred,LINETHICK2;
DRAWICON(CROSS(DIFF,DEA),DIFF-0.01,4);
DRAWICON(CROSS(DEA,DIFF),DIFF,10);
MAC:3*DIFF-2*DEA1,LINETHICK1;
Var1:=EMA(CLOSE,34)-EMA(CLOSE,5);
Var2:=EMA(Var1,5);
趋势:=(-3)*(Var1-Var2);
Var11:=ma((v/(h-l)),4);
Var33:=abs(c-o);
Var44:=v/(h-l);
TR := SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);
HD := HIGH-REF(HIGH,1);
LD := REF(LOW,1)-LOW;
DMP:= SUM(IF(HD>0 AND HD>LD,HD,0),14);
DMM:= SUM(IF(LD>0 AND LD>HD,LD,0),14);
PDI:= DMP*100/TR;
MDI:= DMM*100/TR;
ADX:= MA(ABS(MDI-PDI)/(MDI+PDI)*100,6);
ADXR:=(ADX+REF(ADX,6))/2;
M周▲:DRAWTEXT(CROSS("MACD.DIFF#WEEK" ,"MACD.DEA#WEEK"),DEA1,'▲M周'),COLORred;
M月个:DRAWTEXT(CROSS("MACD.DIFF#MONTH" ,"MACD.DEA#MONTH"),DEA1,'个M月'),COLORMAGENTA;
W1:=C<=MA(C,5) AND C<=MA(C,10) ;
W2:=O>MA(C,5) AND O>MA(C,10) ;
W3:=MA(V,5)<=MA(V,10);
W4:=diff<dea;
W5:=vol/CAPITAl;
DRAWTEXT(W1 AND  W2 AND W3 AND W4,DIFF,'#'),colorFFFF10;
LC := REF(CLOSE,1);
RSI1:=SMA(MAX(CLOSE-LC,0),6,1)/SMA(ABS(CLOSE-LC),6,1)*100;
RSI2:=SMA(MAX(CLOSE-LC,0),12,1)/SMA(ABS(CLOSE-LC),12,1)*100;
psy:=COUNT(CLOSE>REF(CLOSE,1),12)/12*100;
Aa:=(EMA(C,30)*2+MA(C,60))/3;
Ra:=(VOL*CLOSE);
VL1a:=EMA(Ra,13)/EMA(VOL,13);
VL2a:=EMA(Ra,60)/EMA(VOL,60);
VLa:=EMA((VL1a+VL2a)/2,3);
分水岭:ma((Aa+VLa)/2,1),LINETHICK0;
BBI:=(MA(CLOSE,3)+MA(CLOSE,6)+MA(CLOSE,12)+MA(CLOSE,24))/4;
UPR:=BBI+3*STD(BBI,10);
DWN:=BBI-3*STD(BBI,10);
var55:=(UPR-DWN)/UPR<0.03;
var56:=(UPR-DWN)/UPR>0.18;
var57:=(ma(c,60)-ma(c,5))/ma(c,60)>0.15;
var58:=(ma(c,5)-ma(c,60))/ma(c,5)>0.15;
s1:=趋势>0;  s2:=趋势<0;  s3:=cross(趋势,0);  s4:=cross(0,趋势);  
s5:=cross(pdi,mdi);  s6:=cross(mdi,pdi);  s7:=adx>ref(adx,1);  s8:=W1 AND W2;
s9:=W1;  s10:=W3;  s11:=W4;  s12:=W1 AND W2 AND W3 AND W4;
s13:=W1 AND W3 AND W4;  s14:=W5>0.075;  s15:=RSI1>85;  s16:=RSI1>80;
s17:=RSI1<15;  s18:=CROSS(RSI1,15);  s19:=CROSS(RSI1,85);  s20:=close>分水岭;
s21:=close<分水岭;  s22:=var55;  s23:=var57 and var56;
ss:s1+s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12+s13+s14+s15+s16+s17+s18+s19+s20+s21
+s22+s23,LINETHICK0;
if DISPSTATUS=2 then a:=BARPOS;
if DISPSTATUS=1 then b:=BARPOS;
d:=a-b;
aa1:=if(mac>dea,mac,dea);
e:=hhv(aa1,d);
bb:=if(dea1<mac,dea,mac);
e1:=LLV(bb,d);
e2:(e-e1)/(ss+2),LINETHICK0;
i:=1;
if s1=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'Z线趋势上升中');  i:=i+1;  END
if s2=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'Z线趋势下降中'); i:=i+1; END
if s3=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'Z线考虑买入');  i:=i+1; END
if s4=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'Z线考虑卖出'); i:=i+1; END
if s5=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'PDI突破MDI,有新多进场'); i:=i+1; END
if s6=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'PDI跌破MDI,有新空进场'); i:=i+1; END
if s7=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'ADX高于前一日,维持原趋势'); i:=i+1; END
if s8=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'断头铡刀:,卖出'),colorgreen; i:=i+1; END
if s9=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'5日死叉10均线,短线卖出'),coloryellow; i:=i+1; END
if s10=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'5日死叉10日均量,卖出'),colorred; i:=i+1; END
if s11=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'DIFF下穿DEA,空头形成,卖出'),colorff00ff; i:=i+1; END
if s12=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'三死叉见顶,卖出'),coloryellow; i:=i+1; END
if s13=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'多方溃败,卖出'),colorgreen; i:=i+1; END
if s14=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'换手过大,小心主力出逃'); i:=i+1; END
if s15=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'6日RSI超买,防止回挡'); i:=i+1; END
if s15=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'6日RSI超买,防止回挡'); i:=i+1; END
if s16=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'6日RSI向上突破85,超买'); i:=i+1; END
if s17=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'6日RSI超卖,有可能反弹'); i:=i+1; END
if s18=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'6日RSI向上突破15,买进信号'); i:=i+1; END
if s19=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'6日RSI向下跌破85,卖出信号'); i:=i+1; END
if s20=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'分水岭之上,多头,可积极做多'); i:=i+1; END
if s21=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'分水岭之下,空头,只能抢反弹'); i:=i+1; END
if s22=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'布林收敛中,有变盘可能'); i:=i+1; END
if s23=1 THEN BEGIN DRAWTEXT(c>0 and  BARSTATUS=2 ,e-i*e2,'布林乖离太大,有反弹可能'); i:=i+1; END  
ELSE;

[ Last edited by 唐仁政 on 2005-4-11 at 19:45 ]股票论坛 www.55188.com

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多