分享

MACD与SKDJ复合的算法实现

 ddzmx 2022-06-01 发布于辽宁

MACD与SKDJ复合到一起的算法,想法还是很独到的,因为它们分属两种不同的副图指标类型,所以,涉及了两者之间的坐标匹配算法。

坐标的匹配,一是,百分比的计算适配---比例相同;二是纵向的视觉适配---上下平移。

效果示意

文章图片1

复合效果图

思路步骤

  1. 引用系统已有指标MACD;
  2. 引用系统已有指标SKDJ;
  3. 两者比例匹配---扩大SKDJ的坐标值;
  4. 对SKDJ向下平移;
  5. 进行标示优化。

算法建立

1. 引用系统已有指标MACD

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

DEA:EMA(DIF,MID);

MACD:(DIF-DEA)*2,COLORSTICK;

2. 引用系统已有指标SKDJ

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

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

LOWV:=LLV(LOW,N);

HIGHV:=HHV(HIGH,N);

3. 两者比例匹配

BFB:=(CLOSE-LOWV)/(HIGHV-LOWV);

BFB0:=(MHH-MLL)*BFB;

RSV:=EMA(BFB0,M);

B:=EMA(RSV,M);

E:=MA(B,M);

4. 对SKDJ向下平移

SHH:=CONST(HHV(B,150));

SLL:=CONST(LLV(B,150));

PY:=(SHH-SLL)/1.5;

K:B-PY;

D:E-PY;

5. 进行标示优化

DRAWTEXT(CROSS(K,D),K,'上'),COLORRED;

DRAWTEXT(CROSS(D,K),D,'下'),COLORGREEN;

DRAWICON(CROSS(K,D),K,86);

DRAWICON(CROSS(D,K),D,85);

代码流程

文章图片2

江丰鱼的代码

完整代码

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

DEA:EMA(DIF,MID);

MACD:(DIF-DEA)*2,COLORSTICK;

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

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

LOWV:=LLV(LOW,N);

HIGHV:=HHV(HIGH,N);

BFB:=(CLOSE-LOWV)/(HIGHV-LOWV);

BFB0:=(MHH-MLL)*BFB;

RSV:=EMA(BFB0,M);

B:=EMA(RSV,M);

E:=MA(B,M);

SHH:=CONST(HHV(B,150));

SLL:=CONST(LLV(B,150));

PY:=(SHH-SLL)/1.5;

K:B-PY;

D:E-PY;

DRAWTEXT(CROSS(K,D),K,'上'),COLORRED;

DRAWTEXT(CROSS(D,K),D,'下'),COLORGREEN;

DRAWICON(CROSS(K,D),K,86);

DRAWICON(CROSS(D,K),D,85);

两者同时显示,使得指标的效果加倍;也为提升信息输出指出了更好方向。

我的努力只为达成你的成功,赞赏是一种格局。

江丰鱼的文章只在今日头条首发;文中代码均可运行。

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多