以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [原创]如何寻找macd等指标的金死叉的临界状态 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=4512) |
-- 作者:阿火 -- 发布时间:2010/12/21 9:45:49 -- [原创]如何寻找macd等指标的金死叉的临界状态 问题:在设计系统过程中,有时候需要知道临界位。比如突破前10期高点,那么临界位就是ref(hhv(h,10),1),那么,macd、KDJ、双MA等的临界位是多少呢?在此,本文以寻找macd临界位为例,谈谈思路 macd的代码如下: diff:=ema(c,12)-ema(c,26); dea:=ema(diff,9);
临界位,就是diff=dea时对应的C,于是 diff=dea ema(c,12)-ema(c,26)=ema(diff,9) [ref(ema(c,12),1)*11/13+c*2/13]-[ref(ema(c,26),1)*25/27+c*2/27]=ref(ema(dea,9),1)*8/10+diff*2/10 再把diff代入上面的等式 最后整理可得:C=(351*REF(DEA,1)+325*REF(EMA(C,26),1)-297*REF(EMA(C,12),1))/28; 也就是临界位为 LJ=(351*REF(DEA,1)+325*REF(EMA(C,26),1)-297*REF(EMA(C,12),1))/28; 完整的公式如下: diff:=ema(c,12)-ema(c,26); dea:=ema(diff,9); LJ:=(351*REF(DEA,1)+325*REF(EMA(C,26),1)-297*REF(EMA(C,12),1))/28; 把上面的代码复制到金字塔里,加载在主图上,可以得到一条临界位连线,而且这条线是固定的,不会漂浮的。C>LJ,则macd金叉,C<LJ,则MACD死叉。对于其它指标,同样的原理也可以计算得出。 此临界位线,配合仓位控制,可以以空间缓冲地带的形式解决信号反复问题,比如: n:=5*mindiff; tbuy(c>Lj+n and tholding<=0,1); tsell(c<Lj-n,tbuyholding(1)); tbuyshort(c<Lj-n and tholding>=0,1); tsellshort(c>Lj+n,tsellholding(1)); //注意,此代码的具体的细节(比如时间控制)还未具体去推敲,在此先发表,以供大家参考 |
-- 作者:王锋 -- 发布时间:2010/12/21 10:02:56 -- 不错,加精 |
-- 作者:jonasonyu1 -- 发布时间:2013/9/3 8:36:00 -- 谢谢阿火。 [ref(ema(c,12),1)*11/13+c*2/13]-[ref(ema(c,26),1)*25/27+c*2/27]=ref(ema(dea,9),1)*8/10+diff*2/10 这个是不是有误?正确是不是应该如下? [ref(ema(c,12),1)*11/13+c*2/13]-[ref(ema(c,26),1)*25/27+c*2/27]=ref(dea,1)*8/10+diff*2/10 |