非當(dāng)前商品的掛單情況怎么查尋
作者:開(kāi)拓者 TB 來(lái)源:cxh99.com 發(fā)布時(shí)間:2016年05月24日
- 咨詢內(nèi)容:
最近剛開(kāi)始研究bt代碼,有個(gè)疑惑,A_xxxx的代碼大部分都針對(duì)于當(dāng)前商品,那默認(rèn)的商品0就是當(dāng)前商品,但商品1怎么辦?
當(dāng)發(fā)出買入商品1的指令后我希望能獲得商品1的未成交委托單的數(shù)量,當(dāng)全部成交后才希望觸發(fā)商品0的相關(guān)指令
商品0能用A_GetOpenOrderCount()來(lái)獲取了未成交委托單數(shù)量,但商品1的怎么獲取?大家請(qǐng)幫幫我
- TB技術(shù)人員:
data1.a_getopenordercount
- TB客服:
小米 發(fā)表于 2016-3-16 11:28
data1.a_getopenordercount
感謝斑竹大大的解惑,后來(lái)試著編了一段代碼模擬運(yùn)行了下但又產(chǎn)生了新的疑惑
我的思路是這樣的:滿足條件一后對(duì)商品1進(jìn)行開(kāi)倉(cāng)買入,然后判斷商品1是否成交,一旦成交就買入商品0,不成交就根據(jù)最新的買一價(jià)來(lái)決定是否撤單。
我編的代碼如下:- ……
- If(con1)
- {
- data1.A_SendOrder(Enum_Buy,Enum_Entry,1,myprice1;
- If (data1.A_GetOpenOrderCount()==0)
- {data0.A_SendOrder(Enum_Buy,Enum_Entry,1,myprice0;
- }
- }
- Else
- {
- ……
- }
復(fù)制代碼1、實(shí)際運(yùn)行的結(jié)果卻是商品1和商品0同時(shí)進(jìn)行掛單了,哪怕商品1未成交,商品0還是一起掛單了,無(wú)法起到判斷作用,我應(yīng)該怎么修改?
2、還有一個(gè)疑問(wèn),如果在商品1掛單后,系統(tǒng)在做后續(xù)判斷的過(guò)程中con1又滿足觸發(fā)條件了,這時(shí)候系統(tǒng)是繼續(xù)執(zhí)行上一次指令還是轉(zhuǎn)向新的一個(gè)觸發(fā)指令亦或是兩邊一起執(zhí)行?
- 網(wǎng)友回復(fù):
TB_KKYY 發(fā)表于 2016-3-17 08:53
感謝斑竹大大的解惑,后來(lái)試著編了一段代碼模擬運(yùn)行了下但又產(chǎn)生了新的疑惑
我的思路是這樣的 ...
- if(con1 && barstatus==2 && getglovalvar(0)==0)
- {
- data1.a_sendorder();
- setglobalvar(0,1);
- }
- if(data1.a_buyposition>0 && a_getopenordercount==0 && barstatus==2 && getglobalvar(1)==0)
- {
- a_sendorder();
- setglobalvar(1,1);
- }
復(fù)制代碼使用a_sendorder是需在限制在最后K線上執(zhí)行的,以及要使用全局變量來(lái)配合控制發(fā)單的次數(shù),否則會(huì)有重復(fù)發(fā)單 的問(wèn)題。
上例中已經(jīng)給出的全局變量在下單 時(shí)的控制,但仍需要自己加上全局變量的初始化以及清零 ,以為下一次的交易做準(zhǔn)備 。
不太建議一來(lái)就開(kāi)始使用A_XXXX函數(shù)啊。。A_XXX的策略不能在圖表上顯示信號(hào),不那么直觀。
而且需要自己做更多的控制,是比較復(fù)雜的,需要對(duì)TB的編程 以及機(jī)制有更多的了解后方好著手。