Params
Vars
Defs
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作
OnInit()
{
SubscribeBar(HO2304-C-2700.CFFEX,1m,20230401);
}
OnBar(ArrayRef<Integer> indexs)
{
if (time==0.0931)
{
print(DateToString(date)+ +TimeToString(Time)+上日收盘价:+text(closed(1)));
}
}给出的上日收盘价出错了
已解决,自己定义个序列变量记录1分钟周期1459时间点的close作为收盘价
closed是一个函数,一般是图上数据加载过少导致了错误
题目有点危言耸听了吧
closed是个函数,不是行情数据。这个函数是通过从图表现有的数据去推算对应的日线数据。
如果图表现有数据里不包含推算的目标数据,那就不正确。
推荐跨周期的方法是多图层,叠加日线数据,直接引用日线数据就好了。closed是老一套的跨周期数据读取方式,其实并不好用,还是最新的直接叠加数据方便又准确
采用了多周期叠加日线数据,用closed(1),得出的上日收盘价还是错的。可否用序列数值,当时间为0.1459时,保存1分钟周期上的收盘价,作为收盘价来调用?