金字塔封裝的下單接口的時(shí)間消耗問(wèn)題。
作者:金字塔 來(lái)源:cxh99.com 發(fā)布時(shí)間:2015年08月21日
- 咨詢(xún)內(nèi)容:
請(qǐng)問(wèn)金字塔的研發(fā)人員,有沒(méi)有測(cè)試過(guò)ORDER對(duì)象在調(diào)用封裝的CTP類(lèi)API時(shí),所消耗的時(shí)間?比如,下列這段代碼
ATIME=timer
'調(diào)用ORDER前的時(shí)間點(diǎn)
callorderid= Order.Buy(1,1,0,0,"ru05","sq","930137",0) '調(diào)用ORDER
BTIME=ORDER.BUY從本機(jī)發(fā)送下單指令完成時(shí)所記錄的時(shí)間點(diǎn)。
TIMEUSE=BTIME-ATIME.
我想知道的就是TIMEUSE為多少M(fèi)S?
- 金字塔客服:
消耗的時(shí)間是可以忽略不計(jì)的,也就是那么幾納秒而已
[此貼子已經(jīng)被作者于2014/1/24 22:08:14編輯過(guò)]
- 用戶(hù)回復(fù):
我自己粗略的寫(xiě)了下面的代碼來(lái)估算,考慮到CALL過(guò)程是異步執(zhí)行,所以時(shí)間的消耗肯定不是很精確,實(shí)際消耗的時(shí)間應(yīng)該要比計(jì)算的還要多。Sub frmMain_CommandButton1_Click()
frmmain_lbltxt.caption=""
befsend=timer
callorderid= Order.Buy(1,1,0,0,"ru05","sq","XXXXX",0) '市價(jià)開(kāi)多單
if callorderid<>0 then afterorder=timer
atmp=afterorder-befsend
fundelay=(atmp-int(atmp))*1000
frmmain_lbltxt.caption="調(diào)用ORDER.BUY語(yǔ)句消耗:" &fundelay &"MS"
End Sub
測(cè)試的時(shí)候是實(shí)盤(pán),XXXXX用的是實(shí)際登陸的賬戶(hù)。80%時(shí)間是0MS,20%的時(shí)間是7MS。0MS估計(jì)是因?yàn)?/span>callorderid= Order.Buy(1,1,0,0,"ru05","sq","XXXXX",0) 是異步執(zhí)行,所以無(wú)法真實(shí)計(jì)算。
此主題相關(guān)圖片如下:qq圖片20140124220741.jpg
但是20%所測(cè)出的時(shí)間消耗達(dá)到7MS,這是不是有點(diǎn)恐怖了?
[此貼子已經(jīng)被作者于2014/1/24 22:15:34編輯過(guò)]
- 網(wǎng)友回復(fù):
還是我寫(xiě)的代碼有誤?
- 網(wǎng)友回復(fù):
你這么測(cè)試是沒(méi)有任何意義的,你測(cè)試是調(diào)用函數(shù)返回的時(shí)間,我沒(méi)有仔細(xì)測(cè)試你的代碼不知道你寫(xiě)的對(duì)不對(duì),但是方法你就有問(wèn)題.金字塔的報(bào)單發(fā)送是異步的,你測(cè)試代碼的執(zhí)行行的返回時(shí)間,本身就有問(wèn)題的