以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  vba编程里,除了SLEEP函数用来延迟  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=81498)

--  作者:qq代人发帖
--  发布时间:2015/7/22 9:42:02
--  vba编程里,除了SLEEP函数用来延迟
vba编程里,除了SLEEP函数用来延迟,还有没有其他的函数或者方法,来添加延迟?

--  作者:yukizzc
--  发布时间:2015/7/22 9:54:48
--  

sub delay(T)
t1=timer
do
Application.PeekAndPump
loop while timer-t1<t
end sub


sub tt()
application.MsgOut time
delay 5
application.MsgOut time
end sub


--  作者:worker21
--  发布时间:2015/7/22 10:39:30
--  
谢谢您的回答!

另外两个问题,也劳烦您解答一下:

Call Order.CashRefresh(Account)
Call Order.HoldingRefurbish(Account)
Call Order.SynchroByAccount(Account)
Call Order.OrderSynchro

这个四句话刷新后,返回结果的延迟时间大约是多少毫秒?

除了这四句话,还有没有其他VBA刷新账户信息的语句?

--  作者:worker21
--  发布时间:2015/7/22 10:40:52
--  
您提供的DELAY,好像只能设定秒为单位的延迟,有没有毫秒级别的延迟?
--  作者:yukizzc
--  发布时间:2015/7/22 11:23:53
--  

可以毫秒的,比如delay0.4就是0.4秒的延迟。网上搜了个timer毫秒输出法,你自己运行看下。

返回结果延迟时间,您要这个刷新所需时间干嘛 ??

function tii(ti)
h = Int(ti / 3600)
m = Int((ti - 3600 * h) / 60)
s = Int(ti - h * 3600 - m * 60)
ss = Left(ti - Int(ti), 4)
application.MsgOut h & ":" & m & ":" & s & ss
end function


sub tt()
tii(timer)
delay 0.4
tii(timer)
end sub


--  作者:worker21
--  发布时间:2015/7/22 11:34:11
--  
谢谢您的回答!

返回结果延迟时间,是为了给一个合适的延迟,获得正确的成交回报,然后发下一步指令。
您估计返回结果的延迟时间会有多大?

再次感谢!



--  作者:FexTel
--  发布时间:2015/7/22 14:06:26
--  
1,这个刷新时间基本就可以忽略了,没法做统计的
--  作者:yukizzc
--  发布时间:2015/7/22 14:14:35
--  

这个刷新结果后也是你柜台给你返回的信息,没有很固定说是多少延迟。

一般都是很瞬时的,你是为了回避后面的代码执行想要?那你定个0.5秒延迟然后看下了