重试了一下,结果还是:在代码中订阅“合约”,交易时段是 3,若先打开K线图,然后在K线图中调用公式,交易时段是 4
完整代码:
Vars
//此处添加变量
Global Array<String> SubSymbols;
Integer i;
Global Integer id(0);
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作
OnInit()
{
SubscribeBar("bu2306.SHFE","1d",20220101,0);
SubscribeBar("bu2306.SHFE","5m",20221101,0);
//SubscribeBar("CY301.CZCE","1d",20220101,0);
//SubscribeBar("CY301.CZCE","5m",20221101,0);
}
OnReady()
{
For i = 0 To data[id].GetSessionCount() - 1
{
Numeric ret = data[id].GetSessionEndTime(i);
Print("GetSessionEndTime:" + Text(ret));
print("GetSessionCount="+text(GetSessionCount()));
print("合约代码:"+symbol());
}
}
代码订阅结果:
先打开K线图,然后调用公式,结果如下:

已收到复现,正在尝试和开发人员沟通
多谢!
已经明确原因了
因为现在支持读取历史合约属性
你用代码订阅的时候 时间是1月1日,这个时候往前回溯历史合约属性,当天由于节假日没有夜盘的
你把时间换一换就正常了
把工作区导出,附带源码,明文 发送到404851506@qq.com邮箱