请问macd钝化如何写 (文华财经WH8赢智V8.2)

投资者咨询:请问macd钝化如何写 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-8 8:42
macd钝化,如何表达
技术人员回复
日期:2018-8-8 8:50
把其他软件MACD钝化指标改编后提供给您

方法大概是扩大DIF 的倍数

DIF:100*(EMA(CLOSE,12)-EMA(CLOSE,26));
DEA:EMA(DIF,9);
MACD:(DIF-DEA)*2,COLORSTICK;
死叉:=CROSS(DEA,DIF);
N1:=BARSLAST(死叉),NODRAW;
N2:=REF(BARSLAST(死叉),N1+1),NODRAW;//{倒数第二次死叉与倒数第一次死叉的区间}
N3:=REF(BARSLAST(死叉),N2+N1+2),NODRAW;//{倒数第三次死叉与倒数第二次死叉的区间}
CL1:=LLV(C,N1+1),NODRAW;
DIFL1:=LLV(DIF,N1+1),NODRAW;
CL2:=REF(CL1,N1+1),NODRAW;
DIFL2:=REF(DIFL1,N1+1),NODRAW;
CL3:=REF(CL2,N1+1),NODRAW;
DIFL3:=REF(DIFL2,N1+1),NODRAW;
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 隔峰底背离,NODRAW;
BG:((MDIFB2>REF(MDIFB2,1))*REF(直接底背离,1)) OR ((MDIFB3>REF(MDIFB3,1))*REF(隔峰底背离,1)),NODRAW;
STICKLINE1(B,DIF,DEA,1,0),COLORRED;
DRAWTEXT(FILTER(BG,1),DIF*0.98,'结构形成'),COLORMAGENTA;
金叉:=CROSS(DIF,DEA);
M1:=BARSLAST(金叉),NODRAW;
{最近一次金叉的位置}
M2:=REF(BARSLAST(金叉),M1+1),NODRAW;
{倒数第二次金叉与倒数第一次金叉的区间}
M3:=REF(BARSLAST(金叉),M2+M1+2),NODRAW;
{倒数第三次金叉与倒数第二次金叉的区间}
CH1:=HHV(C,M1+1),NODRAW;
DIFH1:=HHV(DIF,M1+1),NODRAW;
CH2:=REF(CH1,M1+1),NODRAW;
DIFH2:=REF(DIFH1,M1+1),NODRAW;
CH3:=REF(CH2,M1+1),NODRAW;
DIFH3:=REF(DIFH2,M1+1),NODRAW;
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 隔峰顶背离,NODRAW;
TG:((MDIFT2<REF(MDIFT2,1))*REF(直接顶背离,1)) OR ((MDIFT3<REF(MDIFT3,1))*REF(隔峰顶背离,1)),NODRAW;
STICKLINE1(T,DIF,DEA,1,0),COLORGREEN;
DRAWTEXT(FILTER(TG,1),DIF*1.02,'结构形成'),COLORMAGENTA;
 
投资者咨询:请问macd钝化如何写 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-8 8:42
这段代码看到好像有点晕,似乎是说背离,没看到钝化的部分。另,“满足当出现一根比阶段(最近四根K线)最低点的K柱的开盘价高的K柱,且该柱实体柱值超过阶段最低点的K柱的(最高值+最低值)/2的值”这个如何表达
技术人员回复
日期:2018-8-8 9:20
 您之前没说钝化的意思,就给您网上MACD钝化指标的改编

3楼如下

A:=L>REF(O,LLVBARS(L,4))&&MAX(C,O)>REF((H+L)/2,LLVBARS(L,4));
投资者咨询:请问macd钝化如何写 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-8 8:42
 A:=L>REF(O,LLVBARS(L,4))&&MAX(C,O)>REF((H+L)/2,LLVBARS(L,4));
是 “满足当出现一根比阶段(最近四根K线)最低点的K柱的开盘价高的K柱,且该柱实体柱值超过阶段最低点的K柱的(最高值+最低值)/2的值”这个的表达,对吧
技术人员回复
日期:2018-8-8 9:57
是的
投资者咨询:请问macd钝化如何写 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-8 8:42
那,钝化是否可以这样来表达,就是在一定周期,比如5根K线内,每根K线位置的,macd值在一定的范围内,如此定义的话,代码如何写?
技术人员回复
日期:2018-8-8 11:22
 MACD值和k线是不同的,MACD一根k线只有一个值

但k线是有多个变量的,不能用同一个思路判断,请您重新量化后我们再看下
投资者咨询:请问macd钝化如何写 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-8 8:42
 MACD一根k线只有一个值这个没问题呀,我是说,比如,当前K线的MACD的值是在一个值附近(比如80),然后,前一根对应的值也是,依此类推,5根K线内的都是这样子
技术人员回复
日期:2018-8-8 13:09
 EVERY(ABS(MACD-80)<10,5);