Type/to search
2
Follow
1
Followers
回测时的事件驱动问题
Help
Created 2019-06-19 21:50:30  
 4
 1976

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

以如下代码为例

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呢?

Related Recommendations
Comment
All comments (4)

    轮询机制的,不是 事件驱动的机制。

    7 years ago

    那么,在回测运行时,什么时候会把ticker往后走一步呢

    7 years ago

    访问 GetTicker ,就会随着时间序列 向后运行。

    7 years ago

    明白了,感谢!

    7 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)