天天热头条丨【原】超漂亮的MACD指标公式

2023-06-06 10:02:47     来源:个人图书馆-追梦文库

编程思路破译

输出DIFF:(收盘价的12日指数移动平均-收盘价的26日指数移动平均)*20,画白色,线宽为1


(资料图片)

输出DEA:DIFF的9日指数移动平均,画黄色,线宽为1

MACD赋值:2*(DIFF-DEA)

MACD1赋值:2*(DIFF-DEA)

MACD2赋值:(3*MACD1+2*1日前的MACD1+2日前的MACD1)/6的1日指数移动平均

当满足条件MACD1>MACD2ANDMACD1>0时,在0和MACD1位置之间画柱状线,宽度为2,0不为0则画空心柱.,画红色

当满足条件MACD1>MACD2ANDMACD1<0时,在0和MACD1位置之间画柱状线,宽度为2,0不为0则画空心柱.,画黄色

当满足条件MACD1

S1赋值:MACD<0

S2赋值:(MACD>=0)

S3赋值:上次DIFF上穿DEA距今天数

S4赋值:S3+1日前的S3

S5赋值:DEA>S4日前的DEA

S6赋值:DEA

输出上成立:如果DIFF上穿DEAANDS5,返回3,否则返回0,画黄色

输出下成立:如果DIFF上穿DEAANDS6,返回3,否则返回0,COLOR000098

L1赋值:(收盘价的3日指数移动平均-收盘价的13日指数移动平均)

L2赋值:L1的9日指数移动平均

变盘赋值:L1上穿L2

当满足条件变盘时,在5和-5位置之间画柱状线,宽度为1,1不为0则画空心柱.,COLORD6FF9C

输出成立距今:上次DIFF上穿DEA距今天数,NODRAW

当满足条件L1上穿L2时,在DIFF位置画1号图标

当满足条件L2上穿L1时,在DIFF位置画2号图标

MD赋值:S3日前的DEA,POINTDOT,画绿色

输出金山:如果L1>L2,返回MD,否则返回无效数,CIRCLEDOT,COLOR0088FF

输出钻坑:如果MACD<0,返回MD,否则返回无效数,CIRCLEDOT,COLORFFAA00

如果DIFF>DEA,返回DIFF,否则返回无效数,COLORFF11CC,线宽为1

LS赋值:如果DIFF>DEAANDDIFF>0,返回1,否则返回0

输出加速上扬:如果1日前的LS=0ANDLS=1,返回3,否则返回0,COLOREEEEEE

M1赋值:MACD>1日前的MACD AND DIFF

绿柱短了赋值:M1 AND 统计10日中满足M1的天数=1 AND 收盘价>收盘价的55日简单移动平均 AND 统计5日中满足MACD<0的天数>=5

当满足条件绿柱短了时,在MACD-2.8位置书写文字

程序源码

DIFF:(EMA(C,12)-EMA(C,26))*20,COLORWHITE,LINETHICK1;

DEA:EMA(DIFF,9),COLORYELLOW,LINETHICK1;

MACD:=2*(DIFF-DEA);

MACD1:=2*(DIFF-DEA);

MACD2:=EMA((3*MACD1+2*REF(MACD1,1)+REF(MACD1,2))/6,1);

STICKLINE(MACD1>MACD2 AND MACD1>0,0,MACD1,2,0),COLORRED;

STICKLINE(MACD1>MACD2 AND MACD1<0,0,MACD1,2,0),COLORYELLOW;

STICKLINE(MACD1

S1:=MACD<0;

S2:=(MACD>=0);

S3:=BARSLAST(CROSS(DIFF,DEA));

S4:=REF(S3,S3+1);

S5:=DEA>REF(DEA,S4);

S6:=DEA;

上成立:IF(CROSS(DIFF,DEA) AND S5,3,0),COLORYELLOW;

下成立:IF(CROSS(DIFF,DEA) AND S6,3,0),COLOR000098;

L1:=(EMA(C,3)-EMA(C,13));

L2:=EMA(L1,9);

变盘:=CROSS(L1,L2){ AND L2};

STICKLINE(变盘,5,-5,1,1),COLORD6FF9C;

成立距今:BARSLAST(CROSS(DIFF,DEA)),NODRAW;

DRAWICON(CROSS(L1,L2),DIFF,1);

DRAWICON(CROSS(L2,L1),DIFF,2);

MD:=REF(DEA,S3),POINTDOT,COLORGREEN;

金山:IF(L1>L2,MD,DRAWNULL),CIRCLEDOT,COLOR0088FF;

钻坑:IF(MACD<0,MD,DRAWNULL),CIRCLEDOT,COLORFFAA00;

IF(DIFF>DEA,DIFF,DRAWNULL),COLORFF11CC,LINETHICK1;

LS:=IF(DIFF>DEA AND DIFF>0,1,0);

加速上扬:IF(REF(LS=0,1) AND LS=1,3,0),COLOREEEEEE;

{XG1:=CROSS(MACD1,MACD2) AND MACD1<0,LINETHICK0;

XG2:=CROSS(DIFF,DEA),LINETHICK0};

M1:=MACD>REF(MACD,1) AND DIFF

绿柱短了:=M1 AND COUNT(M1,10)=1 AND C>MA(C,55) AND COUNT(MACD<0,5)>=5;

DRAWTEXT(绿柱短了,MACD-2.8,"绿柱短了");

注:

馆内各种公式为学习编程而保存,实战使用前一定要看其中是否有未来函数并自己亲自测试成功率,决不能依据公式名称的描述和形容去投资,据此入市造成投资损失由投资者自己承担。

发文不易,如获益,欢迎赞赏,赞赏必复!

关键词:

资讯推荐