您现在的位置:程序化交易>> 股票公式>> 通达信>> 通达信知识>>正文内容

请教关于MACD底背离的公式 [通达信]

  • 咨询内容: 我在网上也看到一些MACD底背离的公式,但是感觉都不靠谱,选出来的股票底背离形态也比较诡异,感觉不能用。我设计了一个思路,然后自己尝试写了一下,虽然没有错误,但是总选不出股来,能不能麻烦各位大大帮忙改改,谢谢。 我上传不了附件,我就先说个基本的图形形态,就是上证指数30分钟K线,2014年1月2日13:00-1月14日10:30这段时间的K线以及对应的MACD就是一个我想要实现的标准MACD底背离。 我先说一下我的思路。MACD底背离的形态,最近一个交易日,要正好是金叉点为条件,然后找出最近一次金叉和最近一次死叉之间的最低点LL1,以及之前一次死叉和之前一次金叉的最低点LL2,LL1的DIF值要高于LL2的DIF值,LL1对应的股价要低于LL2对应的股价。这基本上就是一个标准的底背离。我写的公式如下,虽然没有错误,但是无法找出股票,还麻烦各位帮忙看看,万分感谢! DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26); DEA:=EMA(DIFF,9); MACD:=2*(DIFF-DEA); DATE11:=BARSLAST(CROSS(DEA,DIFF)); DATE12:=BARSLAST(CROSS(DIFF,DEA)); LL1:=REF(LLV(DIFF,DATE11),DATE12); DATE1:=BARSLAST(LL1); DATE21:=BARSLAST(REF(CROSS(DEA,DIFF),DATE11+1)); DATE22:=BARSLAST(REF(CROSS(DIFF,DEA),DATE12+1)); LL2:=REF(LLV(DIFF,DATE21),DATE22); DATE2:=BARSLAST(LL2); DBL:=REF(C,LL2)>REF(C,LL1) AND REF(DIFF,LL2)

     

  • 通达信技术部:

    只帮你改2点:

    (1)LL1:=REF(LLV(DIFF,DATE11),DATE12); DATE1:=BARSLAST(LL1);

           改成:

           LL1Bars:=ref(llvbars(diff,date11),date12);

           date1:=LL1bars+date12;

    (2)DATE22:=BARSLAST(REF(CROSS(DIFF,DEA),DATE12+1));

           改成:

           DATE22:=ref(BARSLAST(CROSS(DIFF,DEA)),DATE12+1)+date12+1;

     

    你自己改其余的。(date21应该用不到)

     

  • 通达信客服:

    哪儿有函数的详细的资料么?现在的函数资料说得太简单了。对简单的函数来说,当然够了,但有相当部分没有说清楚。

    前面的公式的问题,就是一个例子。我到现在也没有找到满意的函数资料。如有,花钱也行。

     

  • 网友交流: 你好,受你的启发,我调整了一下公式,没有完全按照你的思路,这次可以找出不少符合的股票,但是有一些还是有问题,我加了一些限制条件。以排除一些形态,麻烦你再帮忙看看,还可以怎么改进,谢谢。(特别说一句,有时候找出来的股票,MACD的高低点确实没有问题,符合这个形态,但是股价却不是远点股价高,近点股价低,不知道是不是我这个公式里面有什么没有提及)。感谢。 DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26); DEA:=EMA(DIFF,9); MACD:=2*(DIFF-DEA); DATE11:=BARSLAST(CROSS(DEA,DIFF)); DATE12:=BARSLAST(CROSS(DIFF,DEA)); LL1BARS:=LLVBARS(DIFF,DATE11); LL1:=LLV(DIFF,DATE11); DATE21:=REF(BARSLAST(CROSS(DEA,DIFF)),DATE11+1); LL2BARS:=LLVBARS(DIFF,DATE21); LL2:=LLV(DIFF,DATE21); DBL:=REF(LOW,LL2BARS)/REF(LOW,LL1BARS)>1.05 AND (LL2BARS-LL1BARS)>15 AND LL2 

  • 网友交流: 感觉你的写法还是有问题。以下供你参考。 

     

    date1:=ref(llvbars(diff,date11),date12)+date12;

    date22:=ref(barslast(cross(diff,dea)),date12+1)+date12+1;

    date2:=ref(llvbars(diff,date11),date22)+date22;

     

    dbl:ref(c,date2)/ref(c,date1) > 1.05 and ref(diff,date2)/ref(diff,date1)<1 and date2-date1>=15;

     

    or

     

    dbl:ref(low,date2)/ref(low,date1) > 1.05 and ...

     

 

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

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


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

相关文章

    没有相关内容