以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  这样重写写MACD,有没有问题?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=62312)

--  作者:txin66
--  发布时间:2014/3/4 22:22:37
--  这样重写写MACD,有没有问题?
 //只计算橡胶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数值。怎么回事情?


--  作者:jinzhe
--  发布时间:2014/3/5 9:00:36
--  
写这个是干啥?循环是干嘛用的?