对于time和currenttime的疑惑,难以排除问题

自己编写了一个买卖期权的应用,在回测时是没有问题的,但在实盘(模拟盘)时出现各种奇怪的错误,一直查不出原因。怀疑是if的判断条件有问题,用fileappend记录time和currenttime后,发现两者差异巨大,但又找不到问题在哪,跪求各位老师指导

首先在oninit()函数在订阅指数和期权合约(自编函数)。

        SubscribeBar("000300.SSE","1d",s_time,e_time);//订阅沪深300指数(000300.SSE)日K线行情
        SubscribeBar("000300.SSE","5m",s_time,e_time);//订阅沪深300指数分钟K线行情

        Option_Code_list =     GetOptionList("000300.SSE",point,CurrentDate());
        StringSplit(Option_Code_list, "|" ,Option_code_array);
        t = GetArraySize(Option_code_array);

        While(i < t)//循环订阅行情
        {
            If(Left(Option_code_array[i],2) == "IO")
            {
                SubscribeBar(Option_code_array[i], "5m" ,s_time, e_time);
            }
            i = i + 1;
        }

然后在onBar()中进行判断,主要代码如下:

 最后看一下fileappend中的异常数据,不知道为什么会产生这种异常数据

这些代码在回测是没有问题的,图表能出正常的信号,不会出现异常信号,但实盘时在非交易时间开平仓,还交易多个期权合约(按时设计,只交易一虚一档合约),请各位老师指导。

currenttime和time差异巨大,不知道问题出在哪
请教个Time函数的问题
开盘前或集合竞价阶段currenttime判断错误
实盘的话把持仓的商品排除监控外会有什么结果
PLOT的setLayout figure0和setSizeWeight使用疑惑
PLOT的setLayout figure0和setSizeWeight使用疑惑
帮助文档中对于基础数据定义的代码问题
历史数据的bar指向的time是哪个函数?
Time的值是什么?代表什么意思?
如何更改系统函数currenttime内部参数type=0 or 1

我先讲下time和currenttime的区别

time表示K线时间,在任何时候代码呗执行,取出的都是当前BAR所在的时间

currenttime则是电脑时间,就是你windows右下角看到的时间,什么时候取就是多少

你这个输出的问题在哪里?

你输出的time是K线时间

curt则是发生记录的时间

 

谢谢王老师,您刚才说的time和currenttime的不同之处我知道,但在实盘中时,这两者会差异如此之大吗?如截图中所示,time在0.10-0.11之前飘忽不定,而currenttime显示的时间却只有9:03(已设置同步时针)

其实我想解决的bug是不能正确发单,但在debug的过程中发现程序在非交易时间不停地触发成交条件,所以怀疑是time的问题,但又不知道该如何解决