Range的用法详解
2021-11-15 13:31

Range作为TBquant新增的多图层命令,其效果接近于for循环。

下面举例

Range[0:datasourcesize-1]
{

plotnumeric("ma",average(close,20));

}

for i = 0 to datasourcesize-1

{

data[i].plotnumeric("ma",average(close,20));

}

两者是等效的

 

所以,range函数其实本质上就是将for命令在对多图层循环时进行简化的一个功能。

当我们需要对多个图层执行同一段代码的时候,只需要把这段代码用{}包起来,在头上加上range[图层开始序号:图层结束序号]即可。而如果要用for循环来处理,不得不对区域内所有的对象全部手动添加上data[i],那会相当麻烦

但是注意,这里仅支持对图层连续的处理,如果需要中间断开一个图层,只能分成两个range来处理

 

进阶用法

如果使用for i = 的形式来对多个图层进行批量设置,那么在代码中可以使用i这个循环变量来针对某些特殊的图层进行操作

但是如果使用了range,似乎就没有了i这个循环变量,从而无法判断当前的图层序号。

其实我们也可以通过

Range[i=0:10]的方式来创造一个循环变量i

 

学会了吗

 

评论区
顶部