我想优化被引用技术指标中的参数,用了“CD1h:=STKINDI('','引用指标2.cd1('&m1&','&m2&','&m3&','&m4&','&m5&','&m6&''&m7&','&m8&','&m9&')',0,24,2);”的语句,但发现被引用技术指标中的参数在指定参数和固定参数时,得到的数据不一致,即引用1和引用2得到的数值不一致。这是什么原因?
技术指标代码:
//指定参数
cc:=c;
INPUT:m1(11,10,90,2),m2(25,1,66,2),m3(36,1,39,1),m4(10,1,39,1),m5(10,1,39,1),m6(16,1,39,1),m7(80,50,99,3),m8(16,1,39,1),m9(80,50,99,3);
pl:=c-ema(c,m1);
map1:=ema(pl,m2);
map2:=ema(pl,m3);
CD1:=2*(map1-map2);
cd2:=ref(cd1,1);
cd3:=ref(cd1,2);
ma7:=ma(c,m4);
ma8:=ma(c,m5);
ma9:=ma(c,m6);
ma10:=ma(c,m7);
ma11:=ma(c,m8);
ma12:=ma(c,m9);
//固定参数
pl1:=c-ema(c,14);
map11:=ema(pl1,19);
map21:=ema(pl1,26);
CD01:=2*(map11-map21);
CD11:=2*(map11-map21);
cd21:=ref(2*(map11-map21),1);
cd31:=ref(2*(map11-map21),2);
nlw1:=ma(tr,3);
ma71:=ma(c,7);
ma81:=ma(c,36);
ma91:=ma(c,6);
ma101:=ma(c,40);
引用1:固定参数:
CD1h:=STKINDI('','引用指标2.cd11',0,24,2);
cd2h:=STKINDI('','引用指标2.cd21',0,24,2);
cd3h:=STKINDI('','引用指标2.cd31',0,24,2);
nh:=STKINDI('','引用指标2.n1w1',0,24,2);
ma7h:=STKINDI('','引用指标2.ma71',0,24,2);
ma8h:=STKINDI('','引用指标2.ma81',0,24,2);
ma9h:=STKINDI('','引用指标2.ma91',0,24,2);
ma10h:=STKINDI('','引用指标2.ma101',0,24,2);
引用2:引用时指定参数:
INPUT:s1(14,2,22,1),s2(19,2,32,2),s3(26,2,32,2),s4(7,2,22,2),s5(36,2,42,2),s6(6,1,22,2),s7(40,2,52,2),s8(2,2,2,2),s9(2,2,2,2),s10(2,2,2,2),s11(2,2,2,2);
m1:=NUMTOSTR(s1,0);
m2:=NUMTOSTR(s2,0);
m3:=NUMTOSTR(s3,0);
m4:=NUMTOSTR(s4,0);
m5:=NUMTOSTR(s5,0);
m6:=NUMTOSTR(s6,0);
m7:=NUMTOSTR(s7,0);
m8:=NUMTOSTR(s8,0);
m9:=NUMTOSTR(s9,0);
m10:=NUMTOSTR(s10,0);
m11:=NUMTOSTR(s11,0);
CD1h:=STKINDI('','引用指标2.cd1('&m1&','&m2&','&m3&','&m4&','&m5&','&m6&''&m7&','&m8&','&m9&')',0,24,2);
cd2h:=STKINDI('','引用指标2.cd2('&m1&','&m2&','&m3&','&m4&','&m5&','&m6&''&m7&','&m8&','&m9&')',0,24,2);
cd3h:=STKINDI('','引用指标2.cd3('&m1&','&m2&','&m3&','&m4&','&m5&','&m6&''&m7&','&m8&','&m9&')',0,24,2);
nh:=STKINDI('','引用指标2.n1w1',0,24,2);
ma7h:=STKINDI('','引用指标2.ma7('&m1&','&m2&','&m3&','&m4&','&m5&','&m6&''&m7&','&m8&','&m9&')',0,24,2);
ma8h:=STKINDI('','引用指标2.ma8('&m1&','&m2&','&m3&','&m4&','&m5&','&m6&''&m7&','&m8&','&m9&')',0,24,2);
ma9h:=STKINDI('','引用指标2.ma9('&m1&','&m2&','&m3&','&m4&','&m5&','&m6&''&m7&','&m8&','&m9&')',0,24,2);
ma10h:=STKINDI('','引用指标2.ma10('&m1&','&m2&','&m3&','&m4&','&m5&','&m6&''&m7&','&m8&','&m9&')',0,24,2);
在引用1和引用2中情况中,cd1h,cd2h,cd3h,ma7h,ma8h得到的数值相同,但ma9h,ma10h得到的数据总是不同。这是什么原因?
ma101:=ma(c,40);
ma10h:=STKINDI('','引用指标2.ma101',0,24,2);
这个是固定40
m7(80,50,99,3),
ma10:=ma(c,m7);
ma10h:=STKINDI('','引用指标2.ma10('&m1&','&m2&','&m3&','&m4&','&m5&','&m6&''&m7&','&m8&','&m9&')',0,24,2);
m7的范围是从50到99,步长3
你传入40这个数值不在这个范围内