编程思路破译
输出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,"绿柱短了"); 注: 馆内各种公式为学习编程而保存,实战使用前一定要看其中是否有未来函数并自己亲自测试成功率,决不能依据公式名称的描述和形容去投资,据此入市造成投资损失由投资者自己承担。 发文不易,如获益,欢迎赞赏,赞赏必复!
资讯推荐