請教,mc+ib有辮法程式取消未成交委託嗎?
因為目前還持續在學習請問有辦法在一定k棒數後取消未成交限價委託嗎?
好像只有轉成市價單追價的選項而已
先謝謝了
用time_s控制~
或者寫一個 value 用 value 去檢查 本帖最後由 blj0511 於 16-1-14 13:01 編輯
我想到的方式是用程式控制
inputs:max_bars(0); //幾根K棒後取消
var:counter(0);
if 條件成立 and counter<max_bars then begin
buy next bar at xxx stop;
counter=counter+1;
end;
if marketposition<>0 then begin
counter=0;
end;
大概是這樣,詳細再微調
謝謝兩位回答
可是取消委託的命令關鍵字是用哪個?
我的意思是說訊號已經出來,我已經用觸價限價單下委託了,也已經成功下單了
只是沒碰到,那我想取消,這個意思
https://www.interactivebrokers.com/en/software/api/apiguide/activex/cancelorder.htm
MC我沒用過不知道
IB API的話只要有order id呼叫cancelOrder()就行了 haru7744 發表於 16-1-14 17:01 static/image/common/back.gif
謝謝兩位回答
可是取消委託的命令關鍵字是用哪個?
若沒用程式控制,程式不知道你取消的話,會出問題,回測也會不準,所以要用程式控制,當狀況失去已達到的條件時,程式會自動去取消掛單
您可以先用然後用模擬單去測試看看是否會自動取消下單
要先看條件是否成立......
1.一般來說, 如果你直接下 buy next bar at 7000 limit;
這樣的話MC會在每次下一根K棒掛價 7000 limit直到成交為止.
若前面有if條件敘述, 例如 if MA1>MA2 then buy next bar at 7000 limit;
這種情況是當你的條件MA1>MA2成立訊號出來時, MC才會一直在下一根掛7000 limit單
所以問題不在如何取消未成交委託的指令, 而要視你前面的條件是否已不成立, 邏輯先後順序要搞清楚哦.
若a>b一直成立, 訊號一直有效,MC當然會一直在下一根掛單等成交阿......因為MC是完全按照你的邏輯做的動作.
2.你要換個思考方式---> (若MA1>MA2且 從條件成立的5跟K棒內) then buy next bar at 7000 limit;
這樣在第6根時條件不成立就會取消未成交委託了.
程式碼請參考blj0511大的範例~
原來如此,謝謝各位指導
再回去研究研究,感謝感謝
頁:
[1]