关于数组赋值问题

请问老师:下面的数组循环赋值语句写法有错误吗?为什么数组只显示一个有效数值,而且length=5,为什么显示了6个数值?

数组赋值问题
数组赋值
数组和变量序列相互赋值问题
关于跨周期情况下数组被循环赋值的问题
请教数组怎么赋值?
数组的赋值
序列变量和一维数组相互赋值的问题
求助TB旗舰版数组赋值
关于series向前赋值
关于数组的语句问题

找到问题了,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语句多了一个分号,所以出错了。

你这数组 初始值看不出来 数据类型看不出来

掐指一算 算不出来