好像每次运行onbar , array类型的数组里的数据就全都消失了。
比如说
array<numeric> abc;
for i=1 to 100
{abc[i]=abc[i-1];}
abc[0]=close;
到下一个bar的时候只有abc[0]还在,其他的abc[1]-abc[100]都没了
不知道怎么能存住。能想到的是基础数据,但是感觉那个很慢的样子,而且不同策略单元会相互干扰。
定义为全局数组,就能保存住。当然写法上也有问题,每次i从1循环到100,abc[i]=abc[i-1],那这样【1】-【100】里面的值肯定都是原来的【0】里面的值啊。正确的写法i应该是:
for i=100 downto 1
{
.......
}
是不是函数中无法定义全局数组的,只能写到公式里。
用户函数不支持全局Global类型修饰,可以把这段写到公式函数里,全局数据在Vars部分定义。