MACD叠加RSI

前期的文章,对两个指标之间的匹配做过详细的分类与算法建立,本文是MACD与RSI匹配算法的实现。

网友的留言

留言的需求很清晰,对MACD算法与RSI算法进行叠加。

思路步骤

新建数据筛选算法

  1. 引用系统指标MACD以及RSI的算法;
  2. 对DIF与DEA进行赋值处理;
  3. 计算MACD历史最高值与最低值;
  4. 计算匹配的倍数;
  5. 输出新的MACD柱线;
  6. 将RSI输出线进行空间平移。

算法建立

  1. 引用系统指标MACD以及RSI的算法,并对DIF与DEA进行赋值处理:

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

DEA:=EMA(DIF,MID);

MACD0:=(DIF-DEA)*2;{MACD后面增加数字0,改为一个新的名字}

LC:=REF(CLOSE,1);

RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;

RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100;

RSI3:SMA(MAX(CLOSE-LC,0),N3,1)/SMA(ABS(CLOSE-LC),N3,1)*100;

  1. 计算MACD历史最高值与最低值:

HMACD:=CONST(HHV(MACD0,0));

LMACD:=CONST(LLV(MACD0,0));

  1. 计算匹配的倍数:

BS:=(HMACD-LMACD)/100;

  1. 输出新的MACD柱线:

MACD:MACD0/BS,COLORSTICK;

6.将RSI输出线进行空间平移:

RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100-50;

RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100-50;

RSI3:SMA(MAX(CLOSE-LC,0),N3,1)/SMA(ABS(CLOSE-LC),N3,1)*100-50;

六个参数与完整代码

两个参数

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

DEA:=EMA(DIF,MID);

MACD0:=(DIF-DEA)*2;

HMACD:=CONST(HHV(MACD0,0));

LMACD:=CONST(LLV(MACD0,0));

BS:=(HMACD-LMACD)/100;

MACD:MACD0/BS,COLORSTICK;

LC:=REF(CLOSE,1);

RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100-50;

RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100-50;

RSI3:SMA(MAX(CLOSE-LC,0),N3,1)/SMA(ABS(CLOSE-LC),N3,1)*100-50;

效果示意

效果示意图

附:增加第七个参数,对MACD柱线进行升降调节,代码如下:

参数1-4

参数5-7

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

DEA:=EMA(DIF,MID);

MACD0:=(DIF-DEA)*2;

HMACD:=CONST(HHV(MACD0,0));

LMACD:=CONST(LLV(MACD0,0));

BS:=(HMACD-LMACD)/100;

MACD:MACD0*(调节柱线/10)/BS,COLORSTICK;

LC:=REF(CLOSE,1);

RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100-50;

RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100-50;

RSI3:SMA(MAX(CLOSE-LC,0),N3,1)/SMA(ABS(CLOSE-LC),N3,1)*100-50;



计算创造价值,分享助力成功,代码均可运行。

江丰鱼的文章只在今日头条首发,未经授权禁止引用或者转载。

MACD   RSI
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章