公式代码:
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]].
}