|
樓主 |
發表於 14-6-26 15:28
|
顯示全部樓層
本帖最後由 kilroy 於 14-6-26 15:33 編輯
skyler 發表於 14-6-26 13:40
k大 您好請教一下
您在一樓提供的範例
無論是開15個圖表或是scan這二種方式
Hi,
有送單(transmit, pending)都會有 orderID
ex. cancel, error 如保證金不夠、商品到期或已經進入 IB 的 physical delievery rules
保證金不夠一樣會送單,也是送單才會告訴你保證金不夠的訊息是窗
想控制每個時點只會持有一種商品的話...
可能的問題就是會與回測不符合
---
查部位的語法沒錯,都會有值 0,-1,1.. etc.
---
scan 避免重覆送單可以參考這個網站
使有 StaticVarGetText 有暫存的 OrderID 卡位之後就不會重覆送單了
5.7 版之後新增功能,可以避免 AB 關閉後再開啟時,暫存不見了又重複送單
語法範例: StaticVarSetText("BuyOrderID"+Name(),BuyOrderID,true);
---
AFL 裡使用 ibc = GetTradingInterface("IB");
呼叫出 IB Controller
這個工具就是 AB 與 IB TWS API 溝通的介面
送單語法裡中
BuyOrderID = ibc.PlaceOrder(ContractMonth, "BUY", Shares, "MKT", 0, 0, "DAY", True);
transimt = true 時,就不用手動送單了,會自動送單出去
IB Controller 可以監控 portfolio (部位組合),當中包含該商品到期日、未平倉損益等資訊
messages 可以觀察與 IB TWS 連線的狀況,以及IB TWS 與 IB 伺服器的連線狀況都會記錄下來
很方便
也提供緊急處理,將手上所有部位平倉
參考看看了
|
|