公式1:
先把系统自带的MACD公式抄过来,然后写下面的代码
hh:hhv(macd1,10);
nn:hhvbars(macd1,10);
然后引用上面的HH和NN
下面是我修改的MACD的代码:周期1:=10,周期2:=20,周期3:=30.DIFF : EMA(CLOSE,S) - EMA(CLOSE,P);
DEA : EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA), COLORSTICK;
ema12: ema(c,S),linethick0;
ema26: ema(c,P),linethick0;
macd_h_1:hhv(macd1,周期数1);
macd_h_2:hhv(macd1,周期数2);
macd_h_3:hhv(macd1,周期数3);
macd_l_1:llv(macd1,周期数1);
macd_l_2:llv(macd1,周期数2);
macd_l_3:llv(macd1,30);
t_high_1:hhv(high,周期数1);
t_high_2:hhv(high,周期数2);
t_high_3:hhv(high,周期数3);
t_low_1:llv(low,周期数1);
t_low_2:llv(low,周期数2);
t_low_3:llv(low,周期数3);
下面是我的调用代码:
3M_最高价1_1:=stkindi(stklabel,'macd.t_high_1',17,1);
3M_最低价1_1:=stkindi(stklabel, 'macd.t_low_1',17,1);
3M_MACD高值1_1:=stkindi(stklabel,'macd.macd_h_1',17,1);
3M_MACD低值1_1:=stkindi(stklabel,'macd.macd_l_1',17,1);
这4个代码,在1分钟周期里运行,本意是想计算3分钟的10个周期的HIGH,但实际出来的值还是1分钟面的值。
怎么回事?
[此贴子已经被作者于2015/8/24 15:58:35编辑过]
3M_最高价1_1:=stkindi(stklabel,'macd.t_high_1',17,1);
3M_最低价1_1:=stkindi(stklabel, 'macd.t_low_1',17,1);
3M_MACD高值1_1:=stkindi(stklabel,'macd.macd_h_1',17,1);
3M_MACD低值1_1:=stkindi(stklabel,'macd.macd_l_1',17,1);
最后两个参数你写的是17,1
正确是0,17
想在1分钟里,对3分钟的MACD最高值和HIGH计算,不过是想计算出10个周期前的10个周期的数值,这样写可以吗?好像计算的数据不对。周期数1:=10.
3M_MACD高值1_2:=ref(stkindi(stklabel,'macd.macd_high_1',0,17),周期数1);
3M_MACD低值1_2:=ref(stkindi(stklabel,'macd.macd_low_1',0,17),周期数1);
3M_最高价1_2:=ref(stkindi(stklabel,'macd.t_high_1',0,17),周期数1);
3M_最低价1_2:=ref(stkindi(stklabel, 'macd.t_low_1',0,17),周期数1);
3M_高点位置1_2:=ref(stkindi(stklabel,'macd.t_highbars_1',0,17),周期数1);
3M_低点位置1_2:=ref(stkindi(stklabel,'macd.t_lowbars_1',0,17),周期数1);
前10周期:=stkindi(stklabel,'macd.macd_h_1',0,17,-10);