发现一个不知道是不是bug的问题。
GetSessionCount 这个函数, 在一些化工品种上,有诡异的问题。具体月份的合约,返回值是正确的。连续合约和指数合约,返回是错的。
如下图,同样是TA合约,指数000上返回只有3个session,没有夜盘合约,2401合约上返回正常,4个session,有夜盘。
这个是bug吗?
888合约
2401合约
Numeric SessionCount = GetSessionCount ;
Integer i;
Print(GetSessionCount: + Text(SessionCount));
For i = 0 To SessionCount-1
{
Numeric ret1 = GetSessionEndTime(i);
Numeric ret2 = GetSessionstartTime(i);
Print(symbol+\' session +text(i)+ startat : +TimeToString(ret2)+ endat : +TimeToString(ret1));
}
我是放在onready里面了,确实如您所说,解决了。多谢。
你是不是在oninit里输出的session
oninit里返回的是数据最初时的属性
ta合约很久以前就是没有夜盘的
你可以尝试在最新的时间点获取合约属性再看看session