[求助] 错误太多,不能用,请老师帮忙修改代码 谢谢 (文华财经WH6赢顺V6.7)

投资者咨询:[求助] 错误太多,不能用,请老师帮忙修改代码 谢谢 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-6-11 8:46
定量结构定义:
①股价新高或者新低,MACD指标中的DIF却未随之新高或新低,谓之“钝化”。
②当钝化出现后,dif的值反向转折,谓之“结构形成”,此时应买入或卖出。dif的值在和前高或前低比较时,按照前极值的数量级,只比较前两位数字。比如dif前高为168.93,dif新高的值为85.23,此时股价已经新高,那么macd就处于顶部钝化过程中,按照dif前高的数量级取前两位数字,那么dif前高为“16”,而dif新高的值为“08”,只有当dif的值由于股价开始下跌变为80以下,才意味着dif的值反向转折了,顶部结构才形成。
③macd的背离,可以隔峰比较。
④结构只有在dif上穿或下穿dea之后才算100%形成。
⑤如果dif未穿dea,但dif值反向转折,称之为“结构形成75%”,如果此后dif在穿dea之前再次反向转折,称之为“结构消失”。

DIF:100*(EMA(CLOSE,12)-EMA(CLOSE,26));
DEA:EMA(DIF,9);
MACD:(DIF-DEA)*2,COLORSTICK;

死叉:=CROSS(DEA,DIF);
N1:=BARSLAST(死叉);
N2:=REF(BARSLAST(死叉),N1+1);
N3:=REF(BARSLAST(死叉),N2+N1+2);
CL1:=LLV(C,N1+1);
DIFL1:=LLV(DIF,N1+1); 
CL2:=REF(CL1,N1+1);
DIFL2:=REF(DIFL1,N1+1);
CL3:=REF(CL2,N1+1);
DIFL3:=REF(DIFL2,N1+1);
PDIFL2:=IF(DIFL2>0,INTPART(LOG(DIFL2))-1,INTPART(LOG(-DIFL2))-1);
MDIFL2:=INTPART(DIFL2/POW(10,PDIFL2));
PDIFL3:=IF(DIFL3>0,INTPART(LOG(DIFL3))-1,INTPART(LOG(-DIFL3))-1);
MDIFL3:=INTPART(DIFL3/POW(10,PDIFL3));
MDIFB2:=INTPART(DIF/POW(10,PDIFL2));
MDIFB3:=INTPART(DIF/POW(10,PDIFL3));
直接底背离:=(CL1<CL2 ) AND (MDIFB2>MDIFL2) AND (MACD<0 AND REF(MACD,1)<0) AND MDIFB2<=REF(MDIFB2,1);
隔峰底背离:=(CL1<CL3 AND CL3<CL2 ) AND (MDIFB3>MDIFL3) AND (MACD<0 AND REF(MACD,1)<0) AND MDIFB3<=REF(MDIFB3,1);
B:=(直接底背离 OR 隔峰底背离);
BG:=((MDIFB2>REF(MDIFB2,1))*REF(直接底背离,1)) OR ((MDIFB3>REF(MDIFB3,1))*REF(隔峰底背离,1));
底背离消失:=(REF(直接底背离,1) AND DIFL1<=DIFL2 ) OR (REF(隔峰底背离,1) AND DIFL1<=DIFL3);

STICKLINE(B OR BG,DIF,DEA,8,0),colorred;
DRAWTEXT((B AND COUNT(B,2)=1),(DIF*1.5),'钝化'),coloryellow;
DRAWTEXT(FILTER(BG,10),(DIF*1.5),'结构形成'),colormagenta;
DRAWTEXT(FILTER(底背离消失,10),(DIF+MACD),'消失'),colorgreen;
STICKLINE(BG,0,(DIF+DEA),5,0), colorred;


金叉:=CROSS(DIF,DEA);
M1:=BARSLAST(金叉);
M2:=REF(BARSLAST(金叉),M1+1);
M3:=REF(BARSLAST(金叉),M2+M1+2);
CH1:=HHV(C,M1+1);
DIFH1:=HHV(DIF,M1+1);
CH2:=REF(CH1,M1+1);
DIFH2:=REF(DIFH1,M1+1);
CH3:=REF(CH2,M1+1);
DIFH3:=REF(DIFH2,M1+1);
PDIFH2:=IF(DIFH2>0,INTPART(LOG(DIFH2))-1,INTPART(LOG(-DIFH2))-1);
MDIFH2:=INTPART(DIFH2/POW(10,PDIFH2));
PDIFH3:=IF(DIFH3>0,INTPART(LOG(DIFH3))-1,INTPART(LOG(-DIFH3))-1);
MDIFH3:=INTPART(DIFH3/POW(10,PDIFH3));
MDIFT2:=INTPART(DIF/POW(10,PDIFH2));
MDIFT3:=INTPART(DIF/POW(10,PDIFH3));
直接顶背离:=(CH1>CH2 ) AND (MDIFT2<MDIFH2) AND (MACD>0 AND REF(MACD,1)>0) AND MDIFT2>=REF(MDIFT2,1);
隔峰顶背离:=(CH1>CH3 AND CH3>CH2 ) AND (MDIFT3<MDIFH3) AND (MACD>0 AND REF(MACD,1)>0) AND MDIFT3>=REF(MDIFT3,1);
T:=(直接顶背离 OR 隔峰顶背离);
TG:=((MDIFT2<REF(MDIFT2,1))*REF(直接顶背离,1)) OR ((MDIFT3<REF(MDIFT3,1))*REF(隔峰顶背离,1));
顶背离消失:=(REF(直接顶背离,1) AND DIFH1>=DIFH2 ) OR (REF(隔峰顶背离,1) AND DIFH1>=DIFH3);
STICKLINE(TG,0,(DIF+DEA),5,0), colorgreen;

STICKLINE(T OR TG,DIF,DEA,8,0),colorgreen;
DRAWTEXT(FILTER(TG,20),(DIF*1.4),'结构形成'),colormagenta;
DRAWTEXT(FILTER(顶背离消失,20),(DIF+MACD),'消失'),colorgreen;
技术人员回复
日期:2018-6-11 8:53
这样:

DIF:100*(EMA(CLOSE,12)-EMA(CLOSE,26));
DEA:EMA(DIF,9);
MACD:(DIF-DEA)*2,COLORSTICK;

死叉:=CROSS(DEA,DIF);
N1:=BARSLAST(死叉);
N2:=REF(BARSLAST(死叉),N1+1);
N3:=REF(BARSLAST(死叉),N2+N1+2);
CL1:=LLV(C,N1+1);
DIFL1:=LLV(DIF,N1+1); 
CL2:=REF(CL1,N1+1);
DIFL2:=REF(DIFL1,N1+1);
CL3:=REF(CL2,N1+1);
DIFL3:=REF(DIFL2,N1+1);
PDIFL2:=IF(DIFL2>0,INTPART(LOG(DIFL2))-1,INTPART(LOG(-1*DIFL2))-1);
MDIFL2:=INTPART(DIFL2/POW(10,PDIFL2));
PDIFL3:=IF(DIFL3>
0,INTPART(LOG(DIFL3))-1,INTPART(LOG(-1*DIFL3))-1);
MDIFL3:=INTPART(DIFL3/POW(10,PDIFL3));
MDIFB2:=INTPART(DIF/POW(10,PDIFL2));
MDIFB3:=INTPART(DIF/POW(10,PDIFL3));
直接底背离:=(CL1<
CL2 ) AND (MDIFB2>
MDIFL2) AND (MACD<
0 AND REF(MACD,1)<
0) AND MDIFB2<=REF(MDIFB2,1);
隔峰底背离:=(CL1<
CL3 AND CL3<
CL2 ) AND (MDIFB3>
MDIFL3) AND (MACD<
0 AND REF(MACD,1)<
0) AND MDIFB3<=REF(MDIFB3,1);
B:=(直接底背离 OR 隔峰底背离);
BG:=((MDIFB2>
REF(MDIFB2,1))*REF(直接底背离,1)) OR ((MDIFB3>
REF(MDIFB3,1))*REF(隔峰底背离,1));
底背离消失:=(REF(直接底背离,1) AND DIFL1<=DIFL2 ) OR (REF(隔峰底背离,1) AND DIFL1<=DIFL3);

STICKLINE1(B OR BG,DIF,DEA,8,0),COLORRED;
DRAWTEXT((B AND COUNT(B,2)=1),(DIF*1.5),'钝化'),COLORYELLOW;
DRAWTEXT(FILTER(BG,10),(DIF*1.5),'结构形成'),COLORMAGENTA;
DRAWTEXT(FILTER(底背离消失,10),(DIF+MACD),'消失'),COLORGREEN;
STICKLINE1(BG,0,(DIF+DEA),5,0), COLORRED;


金叉:=CROSS(DIF,DEA);
M1:=BARSLAST(金叉);
M2:=REF(BARSLAST(金叉),M1+1);
M3:=REF(BARSLAST(金叉),M2+M1+2);
CH1:=HHV(C,M1+1);
DIFH1:=HHV(DIF,M1+1);
CH2:=REF(CH1,M1+1);
DIFH2:=REF(DIFH1,M1+1);
CH3:=REF(CH2,M1+1);
DIFH3:=REF(DIFH2,M1+1);
PDIFH2:=IF(DIFH2>
0,INTPART(LOG(DIFH2))-1,INTPART(LOG(-1*DIFH2))-1);
MDIFH2:=INTPART(DIFH2/POW(10,PDIFH2));
PDIFH3:=IF(DIFH3>
0,INTPART(LOG(DIFH3))-1,INTPART(LOG(-1*DIFH3))-1);
MDIFH3:=INTPART(DIFH3/POW(10,PDIFH3));
MDIFT2:=INTPART(DIF/POW(10,PDIFH2));
MDIFT3:=INTPART(DIF/POW(10,PDIFH3));
直接顶背离:=(CH1>
CH2 ) AND (MDIFT2<
MDIFH2) AND (MACD>
0 AND REF(MACD,1)>
0) AND MDIFT2>=REF(MDIFT2,1);
隔峰顶背离:=(CH1>
CH3 AND CH3>
CH2 ) AND (MDIFT3<
MDIFH3) AND (MACD>
0 AND REF(MACD,1)>
0) AND MDIFT3>=REF(MDIFT3,1);
T:=(直接顶背离 OR 隔峰顶背离);
TG:=((MDIFT2<
REF(MDIFT2,1))*REF(直接顶背离,1)) OR ((MDIFT3<
REF(MDIFT3,1))*REF(隔峰顶背离,1));
顶背离消失:=(REF(直接顶背离,1) AND DIFH1>=DIFH2 ) OR (REF(隔峰顶背离,1) AND DIFH1>=DIFH3);
STICKLINE1(TG,0,(DIF+DEA),5,0), COLORGREEN;

STICKLINE1(T OR TG,DIF,DEA,8,0),COLORGREEN;
DRAWTEXT(FILTER(TG,20),(DIF*1.4),'结构形成'),COLORMAGENTA;
DRAWTEXT(FILTER(顶背离消失,20),(DIF+MACD),'消失'),COLORGREEN;