我的程序是逐K运行,1分钟K线,程序中有调用一个模块,这个模块有一个循环50次的语句,理论上应该是每根K线走完运行一次,但是实际运行的时候,好像是收到数据就运行,没有停过就像msgout语句一样,希望是1分钟输出一次但是实际是不停的输出。
请问是不是除了开平仓是k线后运行,其他函数都是实时运行的?
msgout有做输出限制吗?不限制是会一直输出的,if islastbar then msgout 做个这样的限制
最后一根k线也会不停的刷新吧,没有走完前也是不停的刷新数据,不停的运算程序
是不是除了来平仓语句,其他语句不加限制的话,在实盘情况下,每根k线走完以前,都是不断刷新,导致所有语句都在不停的运行?
[此贴子已经被作者于2016-7-27 11:15:39编辑过]
不做限制就是每根k线都要输出,做了限制就是最后根k线输出了,效率上来说高了很多
实盘情况下,最后一根K线也是在不断变化,在变化的时候,程序是不是在反复运算?
1分钟K线下运行,延迟刷新是1500毫秒,这个如果成10000毫秒,1分钟K线是不是就运行6次,如果程序中有msgout语句?1分钟k线下就输出6次?因为原来msgout在实盘下,最后1根k线上运行,会反复输出,这个和延迟刷新有关系吗?
[此贴子已经被作者于2016-7-27 12:35:17编辑过]
没关系,延迟刷新是动态显示牌上的数据显示速度比实际行情速度慢多少
你再输出一下time,看看是不是每根k线输出