关于回测运行时,程序是如运转的,不是很清楚,因此不太理解程序的行为,请大佬解答!
以如下代码为例
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呢?
发明者量化-小小梦 轮询机制的,不是 事件驱动的机制。
lightring 明白了,感谢!
发明者量化-小小梦 访问 GetTicker ,就会随着时间序列 向后运行。
lightring 那么,在回测运行时,什么时候会把ticker往后走一步呢