Range和for
OnBar(ArrayRef<Integer> indexs){ Range[0:DataSourceSize() - 1] { 代码1 }}OnBar(ArrayRef<Integer> indexs){ for(i=0 to indexs-1) {代码2}}假设有10个图层,回测时代码1和代码2执行次数时一样的,但是如果实时行情中,是不是就不一样了,假设indexs里有3个图层驱动,那代码2只执行3次,而代码1却要执行10*3=30次,浪费资源,这样理解对吗?
OnBar(ArrayRef<Integer> indexs){ Range[0:DataSourceSize() - 1] { 代码1 }}OnBar(ArrayRef<Integer> indexs){ for(i=0 to indexs-1) {代码2}}假设有10个图层,回测时代码1和代码2执行次数时一样的,但是如果实时行情中,是不是就不一样了,假设indexs里有3个图层驱动,那代码2只执行3次,而代码1却要执行10*3=30次,浪费资源,这样理解对吗?
没有区别吧只是如果需要触发所有数据源模式一Range方便点不用指定数据源模式二的优势是指定数据源
回复:当然模式二写法有问题
回复:我意思是在实时行情中,如果当时过来比如1,2,5三个图层价格驱动,用for可以只计算这三个图层就行,但如果用range会不会所有图层都进行一次计算,而实际没有价格变动的图层是不需要计算的。
回复:感谢,已学习到,改成Range[indexs]比较好