Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[原创]如何寻找macd等指标的金死叉的临界状态

1楼
阿火 发表于:2010/12/21 9:45:49

问题:在设计系统过程中,有时候需要知道临界位。比如突破前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));

//注意,此代码的具体的细节(比如时间控制)还未具体去推敲,在此先发表,以供大家参考

2楼
王锋 发表于:2010/12/21 10:02:56
不错,加精
3楼
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
共3 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01563 s, 3 queries.