2
关注
1
关注者

回测时的事件驱动问题

创建于: 2019-06-19 21:50:30, 更新于:
comments   4
hits   1432

关于回测运行时,程序是如运转的,不是很清楚,因此不太理解程序的行为,请大佬解答!

以如下代码为例

function onTick() {
    Log(exchange.GetTicker());
    Log(exchange.GetTicker());
}
function main() {
    exchange.SetContractType("this_week");
    while (true) {
        onTick();
        Sleep(1000);
    }
}

假如实盘运行时 运行流程很容易理解,main()函数是个死循环,每Sleep(1000)就获取两次ticker数据,并打印出来,这两个ticker数据应该是非常接近的

回测运行时 此时Sleep(1000)显然并没有真的睡眠,而且好像exchange.GetTicker()每调用一次,模拟的ticker时间就前进到下一步 而且,如果不写onTick()函数,程序好像就真的死循环了,不会结束了

请问,在回测运行时,是哪些事件在驱动程序一步一步遍历ticker呢?

更多内容
全部留言
avatar of 发明者量化-小小梦
发明者量化-小小梦
轮询机制的,不是 事件驱动的机制。
2019-06-20 09:09:01
avatar of lightring
lightring
明白了,感谢!
2019-06-22 18:58:12
avatar of 发明者量化-小小梦
发明者量化-小小梦
访问 GetTicker ,就会随着时间序列 向后运行。
2019-06-22 14:48:57
avatar of lightring
lightring
那么,在回测运行时,什么时候会把ticker往后走一步呢
2019-06-22 11:52:05