全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
开盘前或集合竞价阶段currenttime判断错误
xnzc01 分享到
2022-01-10 10:59

代码如下:

Params
    //此处添加参数

Vars
    //此处添加变量

Defs
    //此处添加公式函数
    
Events
    //此处实现事件函数
    
    //初始化事件函数,策略运行期间,首先运行且只有一次
    OnInit()
    {
        
    }


    //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
    OnBar(ArrayRef<Integer> indexs)
    {
        If(BarStatus==2 And (Time==0.2100 Or Time==0.0900 Or Time==0.0930 Or Time==0.1300 Or Time==0.1330) And CurrentTime>=Time And CurrentTime<=Time+0.000002) 
        {FileAppend("C:\\bbb",text(BarsSinceEntry)+":"+Text(CurrentTime)+"重启"+Text(Time)); ReRun();}
        If(BarStatus==2 And (Time==0.2100 Or Time==0.0900 Or Time==0.0930 Or Time==0.1300 Or Time==0.1330) And CurrentTime>=Time And CurrentTime<=Time+0.000002)
        {FileAppend("C:\\bbb",text(BarsSinceEntry)+":"+Text(CurrentTime)+"rerun后"+Text(Time));}
    }
//================================

运行:加载在任意品种的半小时周期上

运行记录结果:

问题:

发现在开盘前或集合竞价阶段,并不满足if条件,CurrentTime>=Time And CurrentTime<=Time+0.000002,但是还是发生了记录,请问这是什么原因呢?

wangkaiming

输出最后停在哪个时间戳

2022-01-10 12:37
xnzc01
@wangkaiming

停在开盘后两秒钟,这个没有问题

2022-01-10 13:48
wangkaiming

你把time*100000变到整数试试,我研究下这个代码

2022-01-10 16:18
xnzc01
@wangkaiming

应该没有区别吧,小数后几位都是可以显示的

2022-01-10 17:03
xnzc01
@wangkaiming

您好,研究出来什么问题了吗

2022-01-11 13:38
wangkaiming

没有问题,你检查一下输出的内容是不是最新

2022-01-18 09:06
您未登录,请先 登录注册 后发表评论
顶部