函数 GetSessionEndTime 和 GetSessionCount 输出异常

测试GetSessionEndTime 和 GetSessionCount ,玻璃和pvc的结束时间少夜盘小节,原油正常如下图所示(其他的品种没截图)测试代码 OnInit() { SubscribeBar(Symbol, "1h", BeginDateTime); } OnReady() { Integer i; Integer j; range[j =0 :DataSourceSize()-1] //循环图层 { For i = 0 To data[j].GetSessionCount() - 1 //循环小节数 { Numeric ret = data[j].GetSessionEndTime(i); print("图层:" + text(j)); print(symbol +"-周期" +Frequency); Print("小节数GetSessionCount:" + Text(GetSessionCount())); Print("小节结束GetSessionEndTime:" + Text(ret)); //print小节结束时间 Print("------"); } Print("——————————————————"); }

嘿嘿你是不是写在oninit或者onready里了这两个域的视角是在图表第一根bar有没有可能第一根bar,pvc和玻璃没夜盘呢

回复:是的!!!以为Onready也是每根bar运行一次!!!又补一个知识点❥(^_-)

或者数据源的0count 刚好节假日前没夜盘

🤣

有没有可能以前玻璃没夜盘加个bar status =2再试试?

回复:嘿!!!有了在Onbar里搞,最新的对得上🙌OnReady() 域 加 BarStatus==2 就没有任何输出了,(•_•)?OnReady() 不是逐根bar运行一次哦?还是对各事件域的执行了解不足我为什么会写在OnReady() 域 ,回顾了半天,原来是抄的帮助文档 函数范例.....

回复:恭喜你onReady域数据加载完成执行一次不会逐bar运行

回复:官方说法onInit一般订阅数据源和初始化全局变量,只运行一次。类似于序列标志的唯一性标志放在这个域,比如交易次数onReady数据加载完毕,只运行一次onBar=onTick,这么可以理解onClose,我觉得回溯有用,实盘用处不大onOpen,如果采用回溯机制,用来计算指标不错;初始化单日控制的全局

回复:补习补习~~Thanks♪(・ω・)ノ day day up!!~