函数 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("——————————————————");
        }


GetSessionCount 在部分合约上的返回值问题
Hide函数异常?
函数“FileAppend”中如何输出回车字符?
使用SetDicValue和GetDicValue时数据异常
登录异常
A_OpenOrderEntryOrExit函数返回值异常
简语言的Print函数在哪里查看输出
关于策略加密输出和
A函数和回测函数
数据中心异常

嘿嘿

你是不是写在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!!~