Rss & SiteMap

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

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

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

1楼
txin66 发表于:2014/3/4 22:22:37
 //只计算橡胶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数值。怎么回事情?

2楼
jinzhe 发表于:2014/3/5 9:00:36
写这个是干啥?循环是干嘛用的?
共2 条记录, 每页显示 10 条, 页签: [1]


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