关于Range的问题
2022-01-21 10:02

公式代码:

Params
    //此处添加参数

Vars
    //此处添加变量
Events
    //此处实现事件函数
    
    //初始化事件函数,策略运行期间,首先运行且只有一次
    OnInit()
    {
        SubscribeBar(Symbol, "5m", data0.BeginDateTime);
        SubscribeBar(Symbol, "15m", data0.BeginDateTime);
    }


    //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
    OnBar(ArrayRef<Integer> indexs)
    {
        Commentary("indexs array size=" + Text(GetArraySize(indexs)));
        Numeric i;
        Range[i = 0 : DataSourceSize - 1]
        {
            Commentary("size=" + Text(GetArraySize(indexs)) + ",i:" + Text(i));
        }    
    }

 

公式加载在1分钟K线上,公式自己再订阅两个图层,共3个图层。

把鼠标放在图层0中Commentary的信息是正确的。

把鼠标放在图层1、2中Commentary中size的值大部分是1,有时显示2和3。这是为什么?

 

问题2:Range[i = 0 : DataSourceSize - 1]中i是否相当于For i = 0 To DataSourceSize - 1]的i?

问题3:怎样去理解这个Range[i = 0 : DataSourceSize - 1]?不是应该对更新的bar去循环吗:

For i = 0 To GetArraySize(indexs) - 1

{

Data[indexs[i]].

}
 

评论区
顶部