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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 这样重写写MACD,有没有问题?

   

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


  共有2055人关注过本帖平板打印复制链接

主题:这样重写写MACD,有没有问题?

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


加好友 发短信
等级:论坛游侠 帖子:464 积分:932 威望:0 精华:0 注册:2011/8/22 15:37:13
这样重写写MACD,有没有问题?  发帖心情 Post By:2014/3/4 22:22:37    Post IP:111.73.95.124[只看该作者]

 //只计算橡胶09合约的15分钟的MACD,在1分钟的周期里运行。
s:=12;
p:=26;
m:=9;

//下面是正规的MACD公式
EMA12:=ema(c,S);
EMA26:=ema(c,P);
DIFF:=EMA12-EMA26;
DEA  := EMA(DIFF,M);
MACD:=2*(DIFF-DEA);


//下面是我改写的MACD公式

variable:c_t_15[200]=0;
for x=1 to 200 do c_t_15[x]:=CALLSTOCK('ru09',vtclose,3,1-x);                  //只计算橡胶09合约的15分钟的MACD,在1分钟的周期里运行。

ema_t_12:=ema(c_t_15,s);
ema_t_26:=ema(c_t_15,p);
diff_t:=ema_t_12-ema_t_26;
dea_t:=ema(diff_t,m);
macd_t:=2*(diff_t-dea_t);


//取自己的MACD数值

M_t_15M_0:=stkindi(stklabel,'macd_t.macd1',0,3);
M_t_15M_1:=stkindi(stklabel,'macd_t.macd1',0,3,-1);
M_t_15M_2:=stkindi(stklabel,'macd_t.macd1',0,3,-2);
M_t_15M_3:=stkindi(stklabel,'macd_t.macd1',0,3,-3);
M_t_15M_4:=stkindi(stklabel,'macd_t.macd1',0,3,-4);
M_t_15M_5:=stkindi(stklabel,'macd_t.macd1',0,3,-5);

//取标准写法的MACD数值
M_15M_0:=stkindi(stklabel,'macd.macd1',0,3);
M_15M_1:=stkindi(stklabel,'macd.macd1',0,3,-1);
M_15M_2:=stkindi(stklabel,'macd.macd1',0,3,-2);
M_15M_3:=stkindi(stklabel,'macd.macd1',0,3,-3);
M_15M_4:=stkindi(stklabel,'macd.macd1',0,3,-4);
M_15M_5:=stkindi(stklabel,'macd.macd1',0,3,-5);

//发现调用自己的MACD,第一个是对的,其他的值要么为空,要么就是1分钟的MACD数值。怎么回事情?


 回到顶部