欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [原创]如何寻找macd等指标的金死叉的临界状态

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有7855人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
阿火
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
[原创]如何寻找macd等指标的金死叉的临界状态  发帖心情 Post By:2010/12/21 9:45:49    Post IP:222.76.154.232[只看该作者]

问题:在设计系统过程中,有时候需要知道临界位。比如突破前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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2010/12/21 10:02:56    Post IP:58.246.57.26[只看该作者]

不错,加精


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
jonasonyu1
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:7 积分:0 威望:0 精华:0 注册:2013/4/28 6:46:03
  发帖心情 Post By:2013/9/3 8:36:00    Post IP:180.117.175.134[只看该作者]

谢谢阿火。


[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

 回到顶部