掛單與撤單的問題
作者:文華財(cái)經(jīng) 來源:cxh99.com 發(fā)布時(shí)間:2017年08月18日
-
咨詢內(nèi)容:
在算法里面我發(fā)出買開倉(cāng)條件后,如果沒 成交進(jìn)行撤單,如何保證是在買開倉(cāng)成功掛單沒有成交后再去撤單,自己現(xiàn)在寫的總是委托發(fā)出后馬上就發(fā)出撤單語句。
文件名:IMG_1194.PNG
?
?來源:程序化99
-
文華技術(shù)人員:
請(qǐng)參考如下寫法:
GLOBAL_VAR Cod,N,BKID,BKFLG,BKT,BKC;
VOID MAIN()
{
? ?Cod = "m1709"; //合約編碼
? ?N = 2; //下單手?jǐn)?shù)
? ?BKC = 1; //買開條件
? ?IF(BKFLG == 0) //如果沒有買開委托
? ?{
? ? ? IF(BKC == 1) //如果滿足買開條件
? ? ? {
? ? ? ? ?BKID = T_Deal1(Cod,0,0,N,PASSIVE_ORDER); //排隊(duì)價(jià)買開
? ? ? ? ?BKT = CurrentTime(); //買開委托發(fā)出時(shí)間
? ? ? ? ?BKFLG = 1; //已發(fā)出買開委托
? ? ? }
? ?}
? ?ELSE IF(BKFLG > 0) //如果有買開委托
? ?{
? ? ? IF(T_OrderState(BKID) == 1) //如果買開委托成交
? ? ? {
? ? ? ? ?BKFLG = 0; //買開標(biāo)志歸0
? ? ? }
? ? ? ELSE IF(T_OrderState(BKID) == 2) //如果買開委托被撤單
? ? ? {
? ? ? ? ?BKFLG = 0; //買開標(biāo)志歸0
? ? ? }
? ? ? ELSE IF(T_OrderState(BKID) == 0 || T_OrderState(BKID) == 3) //如果買開委托全部掛單或部分成交
? ? ? {
? ? ? ? ?IF(CurrentTime() - BKT >= 2 && BKFLG == 1) //如果時(shí)間間隔2秒,且未撤單
? ? ? ? ?{
? ? ? ? ? ? T_DeleteOrder(BKID); //撤掉買開委托掛單
? ? ? ? ? ? BKFLG = 2; //買開標(biāo)志歸0
? ? ? ? ?}
? ? ? }
? ?}
}
?
?來源: m.weiqiv.net.cn
-
文華客服:
這個(gè)你寫的在掛單或者部分成交時(shí),是通過延后時(shí)間也就是兩秒后才去發(fā)出撤單命令,這樣從效率上看太晚了,有沒有表達(dá)我發(fā)出買開命令后,若返回不成交或者掛單,立即就執(zhí)行撤單命令。謝謝你
?
-
網(wǎng)友回復(fù):
?不是的
樓上編寫是指您形成掛單2s,也就是2s未成交,就發(fā)出撤單委托
您委托發(fā)出后,是需要時(shí)間來判斷成交未成交的
如果不用時(shí)間判斷,發(fā)委托就撤單,那么就是您1樓的結(jié)果了
您覺得掛單判斷2s時(shí)間過長(zhǎng),可以改成1s