我做套利操作,两边同时发单之后,因为一段时间之后回单才会到本地,所以希望发单之后停一定时间然后查持仓数据,VBA应该如何实现,定时器可以么 还是需要用DO循环,
DO
IF TIME()-TIME1>1 THEN
查持仓
ELSE
MSGOUT "订单等待时间不足"
END IF
LOOP
还有就是如果用DO循环 势必会资源占用较大,而且两个时间相隔只能精确到秒,能不能有更好的方式来解决这个问题
使用定时器是比较好的方法,使用循环会导致程序停止响应
我是在函数中间哦 定时器是这个功能么 不是你们告诉我说是每隔一定时间去刷新代码一遍么
有没有SLEEP之类的函数的
SLEEP会造成系统停止响应,不建议使用,使用定时器是最好的方法。
金字塔在报单后,会有报单事件给你,你记下这个时间后,用1秒一次的定时器与当前时间对比,然后进行操作
使用DateDiff函数比较时间,如:
Ms=DateDiff("s",CDate(tOrderTime),Cdate(time))
就是比较下单时间与当前时间的间隔秒数,在你的条件上加上秒数判断就可以实现你的需求了。
解决了,谢谢,先建立一个SUB 然后回头调用call sleeponesecond
Sub sleeponesecond
SaveTime=TimeGetTime
While TimeGetTime<SaveTime+1000
Wend
End Sub