COCO研究院

 找回密碼
 註冊
搜索
查看: 3516|回復: 7

請教,mc+ib有辮法程式取消未成交委託嗎?

[複製鏈接]
發表於 16-1-14 03:34 | 顯示全部樓層 |閱讀模式
因為目前還持續在學習
請問有辦法在一定k棒數後取消未成交限價委託嗎?

好像只有轉成市價單追價的選項而已

先謝謝了

發表於 16-1-14 09:55 | 顯示全部樓層
用time_s控制~
或者寫一個 value 用 value[N] 去檢查
發表於 16-1-14 11:37 | 顯示全部樓層
本帖最後由 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;

大概是這樣,詳細再微調

 樓主| 發表於 16-1-14 17:01 | 顯示全部樓層
謝謝兩位回答

可是取消委託的命令關鍵字是用哪個?
我的意思是說訊號已經出來,我已經用觸價限價單下委託了,也已經成功下單了
只是沒碰到,那我想取消,這個意思

發表於 16-1-15 10:04 | 顯示全部樓層
https://www.interactivebrokers.c ... vex/cancelorder.htm

MC我沒用過不知道
IB API的話只要有order id呼叫cancelOrder()就行了
發表於 16-1-15 10:14 | 顯示全部樓層
haru7744 發表於 16-1-14 17:01
謝謝兩位回答

可是取消委託的命令關鍵字是用哪個?

若沒用程式控制,程式不知道你取消的話,會出問題,回測也會不準,所以要用程式控制,當狀況失去已達到的條件時,程式會自動去取消掛單

您可以先用然後用模擬單去測試看看是否會自動取消下單
發表於 16-1-15 15:30 | 顯示全部樓層
要先看條件是否成立......

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大的範例~


 樓主| 發表於 16-1-15 19:31 | 顯示全部樓層
原來如此,謝謝各位指導

再回去研究研究,感謝感謝

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-11-29 10:37

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |