序列函数为什么不能在循环里?

OnBarOpen(ArrayRef<Integer> indexs) { for index = 0 to GetArraySize(indexs) - 1 { i = indexs[index]; CurrentBarIndex1[i] = data[i].BarsSinceToday(); print(text(CurrentBarIndex1[i])); } }问题1:请问为什么for while if else中不能包含序列函数问题2:我对于每个数据源,查询一下当前bar,为什么要报警呢?问题3:如何实现功能的情况下去掉报警呢?

任意的if for循环下,可能导致你函数的序列变量赋值出错。当然如果理解机制,自己保证赋值不出问题也是可以用。

回复:好的,多谢!

问题一,这个零基础课程里有,视频区搜索一下序列问题2,这是警告,就是提醒你如果算法不够严谨可能会出现计算传递错误问题3,如果你确定算法严谨不会出问题,那就不要理会。如果你没信心确定,那就按照这个说的,不要把序列对象写到循环或者分支结构中。什么是序列对象,零基础课程里有,看下课程了解下

回复:好的,我去看看

请问,我将序列变量data[i].BarsSinceToday()给全局变量赋值,这种写法有问题吗?只要不赋值,全局变量就是初始值可以吗?