array数据会在每次onbar重置吗
好像每次运行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]都没了 不知道怎么能存住。能想到的是基础数据,但是感觉那个很慢的样子,而且不同策略单元会相互干扰。
好像每次运行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部分定义。