如何在限定時間內不成交即撤單?、這個功能如何實現,求具體的代碼??
作者:金字塔 來源:cxh99.com 發布時間:2015年03月10日
- 咨詢內容:
fglongorderid=Getlongpendingorder("FG06","ZQ")fglongorderidtime=order.OrderInfoTime2(fglongorderid)上面兩行,我已經取得了未成交單子的單號和委托的時間,假如說我要委托后十秒鐘不能成交就撤單,我該怎么寫?
- 金字塔客服:
Sub OrderCheDan() '獲取未成交單,指定秒數后撤單
PendingCount=Order.OrderNum2
For i=0 to PendingCount-1
Call Order.OrderInfo2(i,OrderID,ConSign,Filled,Remaining,Action,OrderType,LmtPrice,Account,Kaiping,Code,Market)
'application.MsgOut Cdate(time) & ",sAction:" & sAction & ",sKaiping:" & sKaiping & ",LmtPrice:" & LmtPrice & ",OrderID:" & OrderID
OrdTime=right(Order.OrderInfoTime2(i),8)
'application.MsgOut "OrdTime:"&OrdTime
if Datediff("s",OrdTime,Cdate(time))>10 then '大于10秒撤單
Call Order.CancelOrder( OrderID)
end if
Next
End Sub
- 用戶回復:
請教版主一下,如果是我要取得某一個品種的空頭多倉或者空倉的未成交單子,請問這樣子的寫法對嗎??Function Getshortpendingorder(Scode,Smarket) '獲取未成交單Dim Orderid '訂單IdDim Filled '提交手數Dim Remaining '剩余手數Dim Action '買賣Dim Ordertype '訂單類型Dim Lmtprice '委托價Dim Account1 '賬戶Dim Kaiping '開平Getshortpendingorder=0Pendingcount=Order.Ordernum2For i=0 To Pendingcount-1 Call Order.Orderinfo2(i,Orderid,Consign,Filled,Remaining,Action,Ordertype,Lmtprice,Account1,Kaiping,Code,Market) If Code=Scode and action=1 and kaiping=0 Then GETshortPENDINGORDER=ORDERID End If if Code=Scode and action=0 and kaiping=2 then GETshortPENDINGORDER1=ORDERID end ifNextEnd Function
- 網友回復:
寫錯了,應該是取得空頭的開倉單子或者平倉單子?
- 網友回復:
請問你給的代碼當中的 OrdTime=right(Order.OrderInfoTime2(i),8)是什么意思呢?