您现在的位置:程序化交易>> 期货公式>> 文华财经>> 文华财经知识>>正文内容

MACD指标编写 [文华财经]

  • 咨询内容: 老师请问:下面的语句对不对? 我想编成以下思路的公式,麻烦老师帮忙。DIF :(EMA(CLOSE,12)-EMA(CLOSE,26))*100/EMA(CLOSE,26);DEA : EMA(DIFF,9);2*(DIFF-DEA),COLORSTICK; 死叉:=CROSS(DEA,DIF);N1:=BARSLAST(死叉);这个函数提示运算量大,会拖慢系统,有其他可代替的函数吗?{最近一次死叉的位置} H1=N1的位置前五根K根中,取最高价最高的K线值,D1=N1的位置前十个周期内最高的DIF值, H2=当前K线前五个周期内最高价D2=当前DIF前10个周期内最高值顶背离=H1>H2&&D1<D2&&DIF>0&&CROSS(DEA,DIF) , STICKLINE1(顶背离,0,0.2,3,0),COLORMAGENTA; DRAWLINE3=D2和D1之间进行连线 。 DRAWTEXT(顶背离,-0.5,'顶背');
    另外:下面的表述是正确的吗?N1+1不是表述N1之后一个周期的吗?N2+N1+2这种表述怎么理解?(接上面的语句)N2:=REF(BARSLAST(死叉),N1+1);{倒数第二次死叉与倒数第一次死叉的区间}N3:=REF(BARSLAST(死叉),N2+N1+2);{倒数第三次死叉与倒数第二次死叉的区间}CL1:=LLV(C,N1+1);{最近一次死叉后,最低收盘价}DIFL1:=LLV(DIF,N1+1); 最近一次死叉后,最低的DIF价 

     

     来源:程序化99

  • 文华技术人员: 修改参考: DIFF :(EMA(CLOSE,12)-EMA(CLOSE,26))*100/EMA(CLOSE,26); DEA : EMA(DIFF,9); 2*(DIFF-DEA),COLORSTICK; 死叉:=CROSS(DEA,DIFF); N1:=BARSLAST(死叉)+1;//这个函数提示运算量大,会拖慢系统,有其他可代替的函数吗? //{最近一次死叉的位置} H1:=VALUEWHEN(N1=5,HHV(H,5));// N1的位置前五根K根中,取最高价最高的K线值, D1:=VALUEWHEN(N1=10,HHV(DIFF,5));// N1的位置前十个周期内最高的DIF值, H2:=HHV(H,5);//当前K线前五个周期内最高价 D2:=HHV(DIFF,10);//当前DIF前10个周期内最高值 顶背离:=H1>H2&&D1<D2&&DIFF>0&&CROSS(DEA,DIFF) ;  STICKLINE1(顶背离,0,0.2,3,0),COLORMAGENTA; DRAWLINE1(D1,H,D2,H,0); DRAWLINE1(D2,H,D1,H,0);//D2和D1之间进行连线 。 DRAWTEXT(顶背离,-0.5,'顶背');
    //{倒数第二次死叉与倒数第一次死叉的区间} N2:=REF(SUMBARS(死叉,2),N1); //{倒数第三次死叉与倒数第二次死叉的区间} N3:=REF(SUMBARS(死叉,3),N2); CL1:=LLV(C,N1); //{最近一次死叉后,最低收盘价} DIFL1:=LLV(DIFF,N1); //最近一次死叉后,最低的DIF价

     

     来源: WWW.CXH99.COM

  • 文华客服:  老师,加载后,是一上一下,一白一黄的二条平等线,完全不是MACD的样子,能修改吗?

     

  • 网友回复:  这样看下:
    DIFF :(EMA(CLOSE,12)-EMA(CLOSE,26))*100/EMA(CLOSE,26); DEA : EMA(DIFF,9); 2*(DIFF-DEA),COLORSTICK; 死叉:=CROSS(DEA,DIFF); N1:=BARSLAST(死叉)+1;//这个函数提示运算量大,会拖慢系统,有其他可代替的函数吗? //{最近一次死叉的位置} H1:=VALUEWHEN(N1=5,HHV(H,5));// N1的位置前五根K根中,取最高价最高的K线值, D1:=VALUEWHEN(N1=10,HHV(DIFF,5));// N1的位置前十个周期内最高的DIF值, H2:=HHV(H,5);//当前K线前五个周期内最高价 D2:=HHV(DIFF,10);//当前DIF前10个周期内最高值 顶背离:=H1>H2&&D1<D2&&DIFF>0&&CROSS(DEA,DIFF) ;  STICKLINE1(顶背离,0,0.2,3,0),COLORMAGENTA; //DRAWLINE1(D1,H,D2,H,0); //DRAWLINE1(D2,H,D1,H,0);//D2和D1之间进行连线 。 DRAWTEXT(顶背离,-0.5,'背';
    //{倒数第二次死叉与倒数第一次死叉的区间} N2:=REF(SUMBARS(死叉,2),N1); //{倒数第三次死叉与倒数第二次死叉的区间} N3:=REF(SUMBARS(死叉,3),N2); CL1:=LLV(C,N1); //{最近一次死叉后,最低收盘价} DIFL1:=LLV(DIFF,N1); //最近一次死叉后,最低的DIF价

     

  • 网友回复: MACD正常显示了,可是,连线不显示

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息或微信:cxhjy888 进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容