请问老师:下面的数组循环赋值语句写法有错误吗?为什么数组只显示一个有效数值,而且length=5,为什么显示了6个数值?
找到问题了,for语句多了一个;分号。
是我粗心了没看出来,感谢提供了一个经典错误案例和结果
谢谢老师提供代码对照,否则有时候就是很难自己找问题。
不要发这种没头没尾复现不了问题的代码
完全是浪费时间
感谢老师费心,确实在程序里面很多情况很是奇怪。
刘老师:确实挺费解的,按照你的程序一模一样地抄过来,显示结果还是不一样。会不会有设置方面的问题?
你新建一个工作区,重新打开k线图,插入公式
老师不会又被bug坑了吧
Params
Integer length(5);
Vars
series<numeric> ma20;
Events
OnBarOpen(ArrayRef<Integer> indexes)
{
ma20 = Average(close[1],20);
array<numeric> ma20array;
integer i;
for i = 0 to length-1
{
arrayinsert(ma20array,i,ma20[i]);
}
print(TextArray(ma20array));
}
用这段代码测的
也没出现楼主说的情况
刘老师:复制这个代码就正确了,问题是这个代码和上面抄的代码有区别吗,为什么显示结果不一样?
我反复验证过,直接复制老师的代码就没问题,但是自己写入的就出问题,而你测试也没问题,百思不得其解。
你应该是哪里粗心设置过的影响了结果然后你忘记了
唯一的解决方案就是远程帮你调试看看
刘老师:找到问题点了,是for语句多了一个分号,所以出错了。
你这数组 初始值看不出来 数据类型看不出来
掐指一算 算不出来