文华财经的背离指标 (文华财经WH6赢顺V6.7)

投资者咨询:文华财经的背离指标 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-7-9 17:19
 老师这是网络发布的文华财经背离公式,为什么加载不上,我想把这几种方法汇总一个指标请您帮忙

第1种解决方案

高点的定义:分别大于前后2根K线的值。
低点的定义:分别小于前后2根K线的值。

所以一个背离思路就可以这样来表述:

采用前面高点的定义方式,如果20个周期内存在两个收盘价高点,并且后一个比前一个更高,但是这两个高点对应的MACD连续红柱面积,后一个比前一个小,则认为是顶背离。

DIFF:=EMA(C,12) � EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA);
HWAVE:=H>REF(H,1) && H>REF(H,2) && H>REFX(H,1) && H>REFX(H,2);
COUNTH:=REF(COUNT(HWAVE,20),2);
NH1:=REF(BARSLAST(HWAVE),2)+2;
NH2:=REF(SUMBARS(HWAVE,2)-1,2)+2;
HH1:=REF(C,NH1);
HH2:=REF(C,NH2);
MACD1:=REF(MACD,NH1);
MACD2:=REF(MACD,NH2);
顶背离:COUNTH>=2 && HH1>HH2 && MACD1<MACD2,NODRAW;
DRAWICON(顶背离,H,’ICO5′);

其实这个思路正是文华财经赢智程序化交易平台的系统函数DIVERGENCE所采用的。也就是说上面一段代码等效于:

DIFF:=EMA(CLOSE,12) � EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA);
顶背离:DIVERGENCE(H,MACD,2,20,1),NODRAW;
DRAWICON(顶背离,H,’ICO5′);

 

 第2种解决方案

高点定义:MACD红柱区间的最高价;
低点定义:MACD绿柱区间的最低价;

背离思路可以表述为:

当前MACD小于0,前一个红柱区间内的最高价比更前一个红柱区间的最高价高,但是这两个最高价对应的MACD关系相反。

DIFF:=EMA(C,12) � EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA);
UPCOND:=CROSS(DIFF,DEA);
DOWNCOND:=CROSSDOWN(DIFF,DEA);
END_N1:=SUMBARS(DOWNCOND,1);
RANGE_N1:=REF(SUMBARS(UPCOND,1),END_N1);
END_N2:=SUMBARS(DOWNCOND,2);
RANGE_N2:=REF(SUMBARS(UPCOND,1),END_N2);
HH1:=REF(HHV(H,RANGE_N1),END_N1);
HH2:=REF(HHV(H,RANGE_N2),END_N2);
MACD1:=REF(REF(MACD,HHVBARS(H,RANGE_N1)),END_N1);
MACD2:=REF(REF(MACD,HHVBARS(H,RANGE_N2)),END_N2);
顶背离:=CROSS(0,MACD) && HH1>HH2 && MACD1<MACD2;
DRAWICON(顶背离,H,’ICO5′);

效果图:

5002.1

 

第3种解决方案

其实与第二种方案类似,仍然使用MACD红柱区间最高价判断价格趋势。

但是,这一次,我们找的是红柱区间MACD的最大值来判断MACD的趋势,而不是用最高价对应的那两个MACD值来判断。

DIFF:=EMA(C,12) � EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA);
UPCOND:=CROSS(DIFF,DEA);
DOWNCOND:=CROSSDOWN(DIFF,DEA);
END_N1:=SUMBARS(DOWNCOND,1);
RANGE_N1:=REF(SUMBARS(UPCOND,1),END_N1);
END_N2:=SUMBARS(DOWNCOND,2);
RANGE_N2:=REF(SUMBARS(UPCOND,1),END_N2);
HH1:=REF(HHV(H,RANGE_N1),END_N1);
HH2:=REF(HHV(H,RANGE_N2),END_N2);
MACD1:=REF(HHV(MACD,RANGE_N1),END_N1);
MACD2:=REF(HHV(MACD,RANGE_N2),END_N2);
顶背离:=CROSS(0,MACD) && HH1>HH2 && MACD1<MACD2; DRAWICON(顶背离,H,’ICO5′);

 

第4种解决方案

用MACD红柱区间最高价判断价格趋势,用红柱区间的面积判断MACD的趋势。
DIFF:=EMA(C,12) � EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA);
UPCOND:=CROSS(DIFF,DEA);
DOWNCOND:=CROSSDOWN(DIFF,DEA);
END_N1:=SUMBARS(DOWNCOND,1);
RANGE_N1:=REF(SUMBARS(UPCOND,1),END_N1);
END_N2:=SUMBARS(DOWNCOND,2);
RANGE_N2:=REF(SUMBARS(UPCOND,1),END_N2);
HH1:=REF(HHV(H,RANGE_N1),END_N1);
HH2:=REF(HHV(H,RANGE_N2),END_N2);
MACD1:=REF(SUM(MACD,RANGE_N1),END_N1);
MACD2:=REF(SUM(MACD,RANGE_N2),END_N2);
顶背离:=CROSS(0,MACD) && HH1>HH2 && MACD1<MACD2;
DRAWICON(顶背离,H,’ICO5′);

 

技术人员回复
日期:2018-7-9 17:23
 我们提供案例MACD背离编写的,您参考链接了解下


投资者咨询:文华财经的背离指标 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-7-9 17:19
 老师帮忙修改这个指标,不要固定参数的,我想设置一个在参数框里添加数值的,谢谢您了


LOWV:=LLV(LOW,9);
HIGHV:=HHV(HIGH,9);
RSV:=EMA((CLOSE-LOWV)/(HIGHV-LOWV)*100,3);
K:EMA(RSV,3);
D:MA(K,3);

DRAWCOLORLINE(K>50,K,COLORRED,COLORGREEN);
DRAWCOLORLINE(D>50,D,COLORRED,COLORGREEN);
DRAWLINE(K>80,K,K>80,K,COLORYELLOW),LINETHICK1;
DRAWLINE(K<20,K,K<20,K,COLORYELLOW),LINETHICK1;
50,RGB(0,128,255),DOT;
20,RGB(0,255,0),DOT;
80,RGB(255,0,0),DOT;
A1:=BARSLAST(REF(CROSS(K,D),1));
底背离:REF(CLOSE,A1+1)>CLOSE AND K>REF(K,A1+1) AND CROSS(K,D);
DRAWLINE(A1=0,D,底背离,D,0),COLORRED,LINETHICK1;
A2:=BARSLAST(REF(CROSS(D,K),1));
顶背离:REF(CLOSE,A2+1)<CLOSE AND REF(D,A2+1)>D AND CROSS(D,K);
DRAWLINE(A2=0,D,顶背离,D,0),COLORGREEN,LINETHICK1;
DRAWTEXT(底背离>0,50,'离'),COLORRED;
DRAWTEXT(顶背离>0,50,'离'),COLORGREEN;

技术人员回复
日期:2018-7-9 19:22

如下,在右上方参数列表中设置N、M1、M2参数即可

 

LOWV:=LLV(LOW,N);
HIGHV:=HHV(HIGH,N);
RSV:=EMA((CLOSE-LOWV)/(HIGHV-LOWV)*100,3);
K:EMA(RSV,M1);
D:MA(K,M2);


DRAWCOLORLINE(K>50,K,COLORRED,COLORGREEN);
DRAWCOLORLINE(D>50,D,COLORRED,COLORGREEN);
DRAWLINE(K>80,K,K>80,K,COLORYELLOW),LINETHICK1;
DRAWLINE(K<20,K,K<20,K,COLORYELLOW),LINETHICK1;
50,RGB(0,128,255),DOT;
20,RGB(0,255,0),DOT;
80,RGB(255,0,0),DOT;
A1:=BARSLAST(REF(CROSS(K,D),1));
底背离:REF(CLOSE,A1+1)>CLOSE AND K>REF(K,A1+1) AND CROSS(K,D);
DRAWLINE(A1=0,D,底背离,D,0),COLORRED,LINETHICK1;
A2:=BARSLAST(REF(CROSS(D,K),1));
顶背离:REF(CLOSE,A2+1)<CLOSE AND REF(D,A2+1)>D AND CROSS(D,K);
DRAWLINE(A2=0,D,顶背离,D,0),COLORGREEN,LINETHICK1;
DRAWTEXT(底背离>0,50,'离'),COLORRED;
DRAWTEXT(顶背离>0,50,'离'),COLORGREEN;