macd叠加kdj组合选股 (macdkdj叠加指标源码)

算法叠加是数据共振的有效处理方法,已有的算法讨论请参考前文《MACD与SKDJ复合的算法实现》

思路需求

macdkdj叠加指标源码,macd与kdj结合分析

网友的留言

网友留言的思路是说:

系统指标KDJ中的J值线与系统指标中的MACD相叠加,做成匹配副图指标,如何建立。

效果示意

macdkdj叠加指标源码,macd与kdj结合分析

效果图

思路步骤

  1. 引入系统已经存在的指标KDJ(引入时参数自动填写),并对K、D 进行赋值处理;
  2. 复制系统指标MACD,更改变量名并手动填写补齐参数;
  3. 计算当前屏幕中数据总数中DIF的最高值与最低值;
  4. 计算MACD与KDJ的匹配倍数;
  5. 输出匹配之后的新的DIF、 DEA、 MACD值;
  6. 经过匹配得到新的DIF值,由此计算得到新MACD与新KDJ之间在纵坐标上的进一步平移叠加;
  7. 输出平移后的J值,完成两者之间的同框叠加显示。

算法建立

  1. 引入系统已经存在的指标KDJ(引入时参数自动填写),并对K、D 进行赋值处理

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;

K:=SMA(RSV,M1,1);

D:=SMA(K,M2,1);

2.复制系统指标MACD,更改变量名并手动填写补齐参数

DIF0:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);

DEA0:=EMA(DIF0,MID);

MACD0:=(DIF0-DEA0)*2;

3.计算当前屏幕中数据总数中DIF的最高值与最低值

MHH:=CONST(HHV(DIF0,150));

MLL:=CONST(LLV(DIF0,150));

4.计算MACD与KDJ的匹配倍数

BEI:=(MHH-MLL)/100;

5.输出匹配之后的新的DIF、 DEA、 MACD值

DIF:DIF0/BEI,COLORWHITE;

DEA:DEA0/BEI,COLORYELLOW;

MACD:MACD0/BEI,COLORSTICK;

6.经过匹配得到新的DIF值,由此计算得到新MACD与新KDJ之间在纵坐标上的进一步平移叠加

PY:=CONST(LLV(DIF,150));{平移}

7.输出平移后的J值,完成两者之间的同框叠加显示。

J:3*K-2*D+PY,COLORMAGENTA;

完整代码

macdkdj叠加指标源码,macd与kdj结合分析

参数1~4

macdkdj叠加指标源码,macd与kdj结合分析

参数5~6 与代码流程

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;

K:=SMA(RSV,M1,1);

D:=SMA(K,M2,1);

DIF0:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);

DEA0:=EMA(DIF0,MID);

MACD0:=(DIF0-DEA0)*2;

MHH:=CONST(HHV(DIF0,150));

MLL:=CONST(LLV(DIF0,150));

BEI:=(MHH-MLL)/100;

DIF:DIF0/BEI,COLORWHITE;

DEA:DEA0/BEI,COLORYELLOW;

MACD:MACD0/BEI,COLORSTICK;

PY:=CONST(LLV(DIF,150));{平移}

J:3*K-2*D+PY,COLORMAGENTA;