COCO研究院

 找回密碼
 註冊
搜索
樓主: kilroy

[教學] [分享] 用AB踏入外期程式交易

  [複製鏈接]
發表於 14-8-19 16:23 | 顯示全部樓層
本帖最後由 skyler 於 14-8-19 16:55 編輯

OK~ 我試試將那行改成
BuyOrderID = ibc.PlaceOrder( ContractMonth, "BUY", Shares, "LMT", LastValue(BuyPrice), 0, "DAY", True );

再觀察看是不是正常執行

不過能請教一下二者間的差異嗎?
-----
另外我剛也將Short 改過了
ShortOrderID = ibc.PlaceOrder( ContractMonth, "SELL", Shares, "LMT", LastValue(ShortPrice), 0, "DAY", True );

結果有筆剛好有訊號發出
但我不太懂
為何Lmt Price 是 1051
但 Trade Price 是 1111

3.png

------
另外附上 IB Controller 的圖示
紅框中的三個數字不太知道他的意義?

5.png
感謝!


 樓主| 發表於 14-8-19 19:06 | 顯示全部樓層
本帖最後由 kilroy 於 14-8-19 19:42 編輯
skyler 發表於 14-8-19 16:23
OK~ 我試試將那行改成
BuyOrderID = ibc.PlaceOrder( ContractMonth, "BUY", Shares, "LMT", LastValue(Buy ...

差異就是把 number 丟到 array 裡吧

---
因為你的 limit price 低於 trade price

*
比如說我 buy limite price at 1051,但 trade price 高於我限定的價位,那要到這個價位才會成交

但如果我是 sell limit price at 1051,而 trade price 大於我要空的價位

那當然就馬上成交了,不會等到價位跌到 1051 才空

---
market price = 現在價位
market value = 現在價位 x 每點價值
average cost = 你成交的價位 x 每點價值






發表於 14-8-19 23:31 | 顯示全部樓層
kilroy 發表於 14-8-19 19:06
差異就是把 number 丟到 array 裡吧

---

所以以我那個圖而言
所以 1111 是市場上的
成交價 ? 委買價? 委賣價 ?

可是我看今天ZS 在 16:25的前後
並沒有價格在1111
即便是今天到目前為止也沒有價格超過到1111




 樓主| 發表於 14-8-20 00:14 | 顯示全部樓層
本帖最後由 kilroy 於 14-8-20 01:11 編輯
skyler 發表於 14-8-19 23:31
所以以我那個圖而言
所以 1111 是市場上的
成交價 ? 委買價? 委賣價 ?

trade price 在 IB 裡是翻譯成 "交易價位" 也就是市價
IB 裡的 ZS Sep.14 有 1111 這個價位呀

IB 的 ZS Sep. 14 K線圖
2014-08-20_003250.png

參考報價連結

http://quotes.esignal.com/esignalprod/quote.action?s=ZS%201!&type=Future&fromSearch=true

http://www.commoditycharts.com/commodityprices/Soybeans/ZS/&?mode=i

---
其實我不建議程式自動交易使用限價單

除了不能成交的風險之外

1. 報價的差異 ex. eSignal 連續月份 #F
2. 各別月份 Month codes: {F G H J K M N Q U V X Z} - Jan ... Dec 的差異
3. rollover rules 的差異

等等


這樣限價會比較容易出現問題,除非你人都顧在電腦前
或是你策略算出進場點位,人工下限價單隨時改單


參考看看了







評分

參與人數 1金錢 +2 收起 理由
skyler + 2 好文章,我推薦

查看全部評分

發表於 14-8-20 10:09 | 顯示全部樓層
kilroy 發表於 14-8-20 00:14
trade price 在 IB 裡是翻譯成 "交易價位" 也就是市價
IB 裡的 ZS Sep.14 有 1111 這個價位呀


k 大您好
感謝您的回覆
剛看了您的圖
我傻眼了

以下是我在AB 接eSignal 昨天ZS #F 的小時線

1.png

在圖中價位最高在1060左右

這是連續月報價與當月報價不同的闗係嗎?

 樓主| 發表於 14-8-20 10:48 | 顯示全部樓層
skyler 發表於 14-8-20 10:09
k 大您好
感謝您的回覆
剛看了您的圖

因為eSignal 的 ZS #F 已經是 ZS Nov.'14 的報價了
這就是不建議使用限價單的原因之一


評分

參與人數 1金錢 +2 收起 理由
skyler + 2 感謝分享

查看全部評分

發表於 14-8-20 11:06 | 顯示全部樓層
kilroy 發表於 14-8-20 10:48
因為eSignal 的 ZS #F 已經是 ZS Nov.'14 的報價了
這就是不建議使用限價單的原因之一

請教K大
1.能知道各商品連續月的報價何時換月嗎?

2.像我之前PO的出圖在前面就會有一大段的滑價您一樣用連續月報價為策略依據下近月單不會有影響嗎?
還是您有什麼方法避免呢?

3.您在上面顯示IB的報價圖示
不知是不是要訂閱IB的報價才能開呢?

感謝您的回覆





 樓主| 發表於 14-8-20 11:17 | 顯示全部樓層
skyler 發表於 14-8-20 11:06
請教K大
1.能知道各商品連續月的報價何時換月嗎?

我的方式比較消極

就是去對 eSignal 和 IB的報價

eSignal 的換月規則我晚點貼上來(現在人在外面)

---
建議 IB 的報價也訂閱一下

以前是 US futures bundle 包 CME Group

現在要分開來訂三個交易所

訂閱價格也跟之前差不多是 US$10/mo


評分

參與人數 1金錢 +2 收起 理由
skyler + 2 感謝分享

查看全部評分

 樓主| 發表於 14-8-20 14:02 | 顯示全部樓層
本帖最後由 kilroy 於 14-8-20 14:41 編輯
skyler 發表於 14-8-20 11:06
請教K大
1.能知道各商品連續月的報價何時換月嗎?

使用 eSignal 的 #F 請參考以下網址

http://kb.esignal.com/display/2/kb/article.aspx?aid=1412&n=1&docid=19275

---
再補述一下 #F 的月份會是成交量較活躍的月份

你可以以此報價月份為換月基準

但就是要人工去換月,我也沒辦法做到完全全自動換月

不過那也不是太麻煩的事情就是了,畢竟還是定時或不定時檢查一下比較安心



發表於 14-8-20 15:53 | 顯示全部樓層
感謝K大
如果#F 是以成交量較為活躍的月份當依據
那就跟著他的換月時間取代原先群益的換月行事曆就好了

只是就要用人工
可能會遇到有單的情況要處理

另外您提供的網址我無法點開耶
能否請您再確認一下

感謝~
 樓主| 發表於 14-8-20 16:01 | 顯示全部樓層
本帖最後由 kilroy 於 14-8-20 16:13 編輯
skyler 發表於 14-8-20 15:53
感謝K大
如果#F 是以成交量較為活躍的月份當依據
那就跟著他的換月時間取代原先群益的換月行事曆就好了

換月方式說真的沒有一定或絕對的方式
最主要還是看你的策略,如果是一般 break out/swing 的方式

我的粗淺經驗是方向一樣就可以了,不一定每次的價差都是不利自己的

---

那個連結在 eSignal 的 knowledge base 裡


標題為 eSignal - Continuous Contract Symbols (Using #F)

不過我剛連也出現了

Your session has timed out. To return to this portal, please use the original bookmark or hyperlink. If you came to this portal using some other method, please contact your system administrator.

---
可至 http://kb.esignal.com/


搜尋 rollover over


發表於 14-8-20 16:29 | 顯示全部樓層
kilroy 發表於 14-8-20 16:01
換月方式說真的沒有一定或絕對的方式
最主要還是看你的策略,如果是一般 break out/swing 的方式

一般上來說
只要同向的話大概不會有什麼問題
唯一討厭的就是遇到那種
eSignal 換月時產生大的滑價
連帶影響策略時的情況


發表於 14-8-27 16:27 | 顯示全部樓層
大大, 想請教一下, 如果系統測試差不多, 想把它真實上線, 那往後又想繼續用paper trade測試, 那可以怎樣做? 簡單來說,  real money和paper trade可否同時運行? 如不可以, 那大大你於天天較易中, 又想測試一下一些新看法, 那會怎做?

謝謝.
 樓主| 發表於 14-8-27 16:48 | 顯示全部樓層
osdak 發表於 14-8-27 16:27
大大, 想請教一下, 如果系統測試差不多, 想把它真實上線, 那往後又想繼續用paper trade測試, 那可以怎樣做? ...

雖然 TWS 可以同時開啟多個(帳號)
但因為 IB Controller 可能要用別的方式

譬如可以選擇 API 對哪個帳號開啟的 TWS

目前就小弟使用經驗,好像沒辦法這樣指定

AB作者有開放原始程式碼,可能可以請人客製一下

---
用 paper account 來測新的策略最主要是確定訊號不會不見、進場價位與滑價狀況

我如果有新的想法,就是以 bar replay 來測試了


或許客服有其他方法,我等等來問看看吧
 樓主| 發表於 14-8-27 19:17 | 顯示全部樓層
本帖最後由 kilroy 於 14-8-27 19:27 編輯
osdak 發表於 14-8-27 16:27
大大, 想請教一下, 如果系統測試差不多, 想把它真實上線, 那往後又想繼續用paper trade測試, 那可以怎樣做? ...

AB 客服回應是說可以使用 SetAccount()


但我還沒試過,所以不確定如何

格式是  SetAccount("account number");
或是在 placeorder(); 裡指定 account number

如此如果可以指定 IB Controller 會將單子丟到指定帳號的 TWS 的話

就可以用同一台電腦下多個 IB TWS 帳號了

---
我來研究一下





評分

參與人數 1金錢 +2 收起 理由
skyler + 2 好文章,我推薦

查看全部評分

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

本版積分規則

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

GMT+8, 24-11-22 17:13

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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