skyler
發表於 14-6-25 00:15
kilroy 發表於 14-6-24 23:44 static/image/common/back.gif
你的 IB TWS 看起來是舊版的,先更新一下
---
更新好之後,進入 configure -> API -> Settings -> Enable ...
OK~
成功了!
另外 TWS 似乎有一個設定是自動會退出
可是退出後應該不會再自動登入了
我找了許久
不知那裡要闗掉
kilroy
發表於 14-6-25 00:18
skyler 發表於 14-6-25 00:15 static/image/common/back.gif
OK~
成功了!
http://www.coco-in.net/thread-32137-1-1.html
參考此帖
kilroy
發表於 14-6-25 01:00
skyler 發表於 14-6-25 00:15 static/image/common/back.gif
OK~
成功了!
可是我好奇...
每個月多收$12 算是 eSignal 與 IB 有合作關係的 "優惠價格" 嗎
應該是如此,我看名稱改了
以前是 CME Data Fee Waiver Bundles
現在是 CME Group Broker Program
還是要每個月至少將 eSignal 11 與 IB TWS 連線一次
---
或許在 2014 之前的訂閱戶,還可以享有 CME Group fee-waived Globex data 的訂閱
2014 之後只能訂閱 CME/CBOT/NYMEX/COMEX 的方式吧...
skyler
發表於 14-6-25 09:50
kilroy 發表於 14-6-25 01:00 static/image/common/back.gif
可是我好奇...
每個月多收$12 算是 eSignal 與 IB 有合作關係的 "優惠價格" 嗎
我猜測是改規則
由完全不收費改成小收一點
而且將四個交易所拆開來賣每個每月3USD
但以前訂購 CME Group fee-waived Globex data
只要沒有取消訂購應該都能一直用下去
skyler
發表於 14-6-25 11:24
本帖最後由 skyler 於 14-6-25 12:54 編輯
k大
請教一下
我資料回補好像只能補到 2012/12/12
是否是因為我的datasetting 設定 1分鐘50W 筆的關係
感謝~~
kilroy
發表於 14-6-25 15:04
skyler 發表於 14-6-25 11:24 static/image/common/back.gif
k大
請教一下
我資料回補好像只能補到 2012/12/12
設定 5min 才能回補全部資料
這個我跟 AB 反應過
但就是如此
skyler
發表於 14-6-25 15:49
kilroy 發表於 14-6-25 15:04 static/image/common/back.gif
設定 5min 才能回補全部資料
這個我跟 AB 反應過
原來如此~
了解了!
-----
另外您在 116樓中有提到如何查詢
IB中當月的商品
只是我不太懂這樣查是否是對的
所以PO出了圖如下
以 6E #F 為例
到這裡 我要怎確定那一個才是我要的呢?
感謝~
kilroy
發表於 14-6-25 16:05
skyler 發表於 14-6-25 15:49 static/image/common/back.gif
原來如此~
了解了!
-----
貨幣類的,都看(globex) 6E, 6C, 6B, 6J, 6S... etc.
不過在IB TWS 要輸入 eur, cad, aud, jpy, chf... etc.
---
其實你用 IB TWS 找最快,包含在 IB 的 symbol, expired date 等
ex.IB TWS 欄位輸入 eur 找 futures -> 月份
可以參考這個網站,也可以很快找出要做的月份
http://www.capitalfutures.com.tw/product/finalday_us.asp?xy=6&xt=2
skyler
發表於 14-6-25 16:16
kilroy 發表於 14-6-25 16:05 static/image/common/back.gif
貨幣類的,都看(globex) 6E, 6C, 6B, 6J, 6S... etc.
不過在IB TWS 要輸入 eur, cad, aud, jpy, chf......
我原先也是先用 IB TWS來查
但顯示出來的資料
讓我無法理解
所以才又回歸您給的網址去查
不知是我查錯了嗎?!
kilroy
發表於 14-6-25 16:20
skyler 發表於 14-6-25 16:16 static/image/common/back.gif
我原先也是先用 IB TWS來查
但顯示出來的資料
讓我無法理解
拍謝,沒說清楚
你要在 USD.JPY 那排欄位,任一空白欄位上直接輸入 eur 按 enter 就可以看到了
skyler
發表於 14-6-25 16:53
kilroy 發表於 14-6-25 16:20 static/image/common/back.gif
拍謝,沒說清楚
你要在 USD.JPY 那排欄位,任一空白欄位上直接輸入 eur 按 enter 就可以看到了
...
原來如此
我PO出我如下的操作
請您幫我確認一下是否正確
感謝您的幫忙!
kilroy
發表於 14-6-25 16:58
skyler 發表於 14-6-25 16:53 static/image/common/back.gif
原來如此
我PO出我如下的操作
請您幫我確認一下是否正確
是的,這樣做無誤
skyler
發表於 14-6-26 13:40
本帖最後由 skyler 於 14-6-26 15:08 編輯
k大 您好請教一下
您在一樓提供的範例
無論是開15個圖表或是scan這二種方式
只要有訊號就會進場
因此在同一個時點下會持有不同商品的倉位的可能
假設極端情況下
已經持有14種商品了
第15種商品下單時保證金不足
因此 orderID 也就不會有值了
就不理他了對吧?
如果我想要控制
在每個時點都只會持有單一種商品
是否檢查檢查15種商品的
ibc.GetPositionSize( ContractMonth )
是否有值
如果有值表示目前有單在手
不知我的理解對不對?
-----
假設停止scan 是 14:56
但在上一根小時線 13:00 有買訊
也已經送單成交了
我再次重新啓動scan時間是 14:58
是否會再次送出多單呢?
-----
我以scan 的方式啓動
需要再點 Transmit 這個按鈕嗎?
謝謝指導
kilroy
發表於 14-6-26 15:28
本帖最後由 kilroy 於 14-6-26 15:33 編輯
skyler 發表於 14-6-26 13:40 static/image/common/back.gif
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 伺服器的連線狀況都會記錄下來
很方便
也提供緊急處理,將手上所有部位平倉
參考看看了
skyler
發表於 14-6-26 17:02
kilroy 發表於 14-6-26 15:28 static/image/common/back.gif
Hi,
有送單(transmit, pending)都會有 orderID
K大您好
在回測時加上這二行
SetPositionSize( 1 , spsShares );
SetOption( "MaxOpenPositions" , 1 );
應該就能確保在當下持有的單
只有會 單一商品 1口
scan 應該是依照商品在
AB 中 symbol 視窗內的順序再scan
所以與回測應該是相同
-----
您原先在一樓的範例中
StaticVarSetText("BuyOrderID"+Name(),BuyOrderID);
StaticVarSetText("SellOrderID"+Name(),SellOrderID);
是否應改成
StaticVarSetText("BuyOrderID"+Name(),BuyOrderID,true);
StaticVarSetText("SellOrderID"+Name(),SellOrderID,true);
才比較正確呢?!
-----
原來如此
等於是直接下單到市場
感謝大大的分享