以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- 金字塔封装的下单接口的时间消耗问题。 (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=61275) |
-- 作者:虎鱼 -- 发布时间:2014/1/24 21:48:45 -- 金字塔封装的下单接口的时间消耗问题。 请问金字塔的研发人员,有没有测试过ORDER对象在调用封装的CTP类API时,所消耗的时间? 比如,下列这段代码
ATIME=timer
\'调用ORDER前的时间点
callorderid= Order.Buy(1,1,0,0,"ru05","sq","930137",0) \'调用ORDER
BTIME=ORDER.BUY从本机发送下单指令完成时所记录的时间点。
TIMEUSE=BTIME-ATIME.
我想知道的就是TIMEUSE为多少MS? |
-- 作者:admin -- 发布时间:2014/1/24 22:07:59 -- 消耗的时间是可以忽略不计的,也就是那么几纳秒而已 [此贴子已经被作者于2014/1/24 22:08:14编辑过]
|
-- 作者:虎鱼 -- 发布时间:2014/1/24 22:14:56 -- 我自己粗略的写了下面的代码来估算,考虑到CALL过程是异步执行,所以时间的消耗肯定不是很精确,实际消耗的时间应该要比计算的还要多。 Sub frmMain_CommandButton1_Click()
frmmain_lbltxt.caption=""
befsend=timer
callorderid= Order.Buy(1,1,0,0,"ru05","sq","XXXXX",0) \'市价开多单
if callorderid<>0 then afterorder=timer
atmp=afterorder-befsend
fundelay=(atmp-int(atmp))*1000
frmmain_lbltxt.caption="调用ORDER.BUY语句消耗:" &fundelay &"MS" End Sub 测试的时候是实盘,XXXXX用的是实际登陆的账户。 80%时间是0MS,20%的时间是7MS。0MS估计是因为callorderid= Order.Buy(1,1,0,0,"ru05","sq","XXXXX",0) 是异步执行,所以无法真实计算。 但是20%所测出的时间消耗达到7MS,这是不是有点恐怖了?
[此贴子已经被作者于2014/1/24 22:15:34编辑过]
|
-- 作者:虎鱼 -- 发布时间:2014/1/24 22:18:34 -- 还是我写的代码有误? |
-- 作者:王锋 -- 发布时间:2014/1/26 10:51:22 -- 你这么测试是没有任何意义的,你测试是调用函数返回的时间,我没有仔细测试你的代码不知道你写的对不对,但是方法你就有问题.金字塔的报单发送是异步的,你测试代码的执行行的返回时间,本身就有问题的 |