测试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!!~