分享

MACD与KDJ“共振”筛选算法

 pharl 2023-01-30 发布于福建

在文章《MACD与KDJ的同框叠加》发布之后,有网友留言提出MACD与KDJ共同进行数据筛选的思路,本文进行筛选算法的建立。

思路步骤

  1. 对MACD与KDJ分别、独立进行按需数据筛选;
  2. 引入系统原有指标公式MACD与KDJ,并对所有输出进行赋值处理;
  3. 应用BARSLAST函数,筛选当前MACD大于零;
  4. 应用CROSS函数,对数据进行K值上穿D值的筛选;
  5. 或者应用CROSS函数,对数据进行J值上穿0轴的筛选。

算法建立

  1. 引入系统原有指标公式MACD与KDJ,并对所有输出进行赋值处理(下述代码中的红色等号)

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

DEA:=EMA(DIF,MID);

MACD:=(DIF-DEA)*2;

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

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

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

J:=3*K-2*D;

2.应用BARSLAST函数,筛选当前MACD大于零

BARSLAST(MACD<0)=1

计算逻辑为昨天的MACD处在0轴之下。

3.应用CROSS函数,对数据进行K值上穿D值的筛选;

CROSS(K,D);

4.或者应用CROSS函数,对数据进行J值上穿0轴的筛选;

CROSS(J,0);

5.或者应用CROSS函数,对数据进行J值上穿D值的筛选;

CROSS(J,D);

完整代码

文章图片1

参数1~4

文章图片2

参数5~6

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

DEA:=EMA(DIF,MID);

MACD:=(DIF-DEA)*2;

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

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

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

J:=3*K-2*D;

CONST(BARSLAST(MACD<0))=1 AND CROSS(K,D);

或者

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

DEA:=EMA(DIF,MID);

MACD:=(DIF-DEA)*2;

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

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

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

J:=3*K-2*D;

CONST(BARSLAST(MACD<0))=1 AND CROSS(J,0);

或者

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

DEA:=EMA(DIF,MID);

MACD:=(DIF-DEA)*2;

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

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

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

J:=3*K-2*D;

CONST(BARSLAST(MACD<0))=1 AND CROSS(J,D);

最后对所选定的数据,使用文章《MACD与KDJ的同框叠加》中的副图标注算法进行分析处理。

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多