COCO研究院

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

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

  [複製鏈接]
發表於 14-7-29 14:00 | 顯示全部樓層
jacklcl 發表於 14-7-29 11:54
試了幾天, 基本上連續下單已解決
但我發現有一個問題
我用突破策略試下的

突然想到可以這樣改, 暫時下單幾次都沒再出現下2次的問題

     ABuy = StaticVarGet ("Buy");
     BuyTrigger = ABuy;
     StaticVarSet ("Buy", LastValue( Buy ));
     ASell = StaticVarGet ("Sell");
     SellTrigger = ASell;
     StaticVarSet ("Sell", LastValue( Sell ));
     AShort = StaticVarGet ("Short");
     ShortTrigger = AShort;
     StaticVarSet ("Short", LastValue( Short ));
     ACover = StaticVarGet ("Cover");
     CoverTrigger = ACover;
     StaticVarSet ("Cover", LastValue( Cover ));

將Buy/Sell/Short/Cover用staticvarset限制signals不會在當根bar refresh時重複發出
發表於 14-7-29 23:39 | 顯示全部樓層
原來只是我setting錯誤
與code無關
intraday preference那裡要set start time of interval
下了近20張單也沒再出現repeat order了

評分

參與人數 1金錢 +5 收起 理由
kilroy + 5 按一個讚

查看全部評分

發表於 14-7-30 11:26 | 顯示全部樓層
jacklcl 發表於 14-7-29 23:39
原來只是我setting錯誤
與code無關
intraday preference那裡要set start time of interval

hi,
我SET的是 end time of interval, 不知跟我不時遇見的repeat order有沒有關係? 這個是有什麼作用的呢?
發表於 14-7-30 11:53 | 顯示全部樓層
osdak 發表於 14-7-30 11:26
hi,
我SET的是 end time of interval, 不知跟我不時遇見的repeat order有沒有關係? 這個是有什麼作用的呢 ...

你試試set start time, 我昨晚到今天都無出現repeat orders了
我是問AB support的, 見回覆

Thank you very much for your e-mail. You may use static variables to record the timestamp of last bar that triggered the order (if you set timestamps to START TIME OF INTERVAL in Tools –> Preferences –> Intraday, then that would guarantee that timestamps don’t change while the bar is built and allow to recognize it).

Then – while placing the order – you could check the last stored value in the static variable to verify if order on given bar is still allowed. See:
[url=wlmailhtml:{B2606C0A-2348-4F45-9C69-40A47674E476}mid://00000602/!x-usc:http://www.amibroker.com/f?staticvarset]http://www.amibroker.com/f?staticvarset[/url]

Check also:
http://www.amibroker.org/userkb/2007/07/14/preventing-repeat-orders-and-whipsaws/

我估這個setting會影響newbar的值, 不過還未完全想明白, 如有大大明白, 請指導一下
發表於 14-7-31 12:10 | 顯示全部樓層
kilroy 發表於 14-7-14 12:20
因為 eSignal  11/12 提供客戶 (可以用預設或自訂 rollover 的日期等) symbol

但那個 symbol 只能在 eSig ...

大大, 關於連續報價問題, 我想請教, 我剛剛發現, 這幾天我GC下的都是GCU4-NYMEX-FUT, 因為8月份的, IB不許下, 但我發現, 買賣價跟GC#f=1這個連續報價差距非常大, 我估計是GC#F=1還是用8月合同, 但我買賣已經要用9月了. 問題想請教:
1. 大大有這個問題嗎? 有沒有方法可以減少影嚮
2. 我在用合同用作報價, 但我於AMIBROKER的SYMBOL打入GCU4-NYMEX-FUT, 卻沒有反應, 請問應該如何做呢?
 樓主| 發表於 14-7-31 12:40 | 顯示全部樓層
osdak 發表於 14-7-31 12:10
大大, 關於連續報價問題, 我想請教, 我剛剛發現, 這幾天我GC下的都是GCU4-NYMEX-FUT, 因為8月份的, IB不 ...

下 IB 的月份會先提前換

因為 eSignal 和 IB 的換月規則不一樣

IB 多了一個 physical delievery

但因為下單是下在 IB 所以以 IB 合約為主

策略則以 eSignal #F 報價執行

除非 eSignal 11 自訂 roll over 規則的 symbol 可以給 AB 接即時資料


參考看看了
發表於 14-7-31 13:01 來自手機 | 顯示全部樓層
謝大大,那如果我真想通過amibroker看某合同價格,那symbol應如何打呢?我用#F可以拿到價錢,但輸入這個GCU4-NYMEX-FUT卻沒什麼反應...
 樓主| 發表於 14-7-31 13:36 | 顯示全部樓層
osdak 發表於 14-7-31 13:01
謝大大,那如果我真想通過amibroker看某合同價格,那symbol應如何打呢?我用#F可以拿到價錢,但輸入這個GCU ...

eSignal 各別月份合約的 symbol 在 AB 裡不用加 -Globex-FUT

因為 -Exchange-Type 這是 IB TWS 下單格式

---
EX:

      沒有 #F=1 的 symbol 直接輸入  6E U4

      有 #F=1 的 symbol 輸入  GC U4=1



評分

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

查看全部評分

發表於 14-7-31 14:42 | 顯示全部樓層
kilroy 發表於 14-7-31 13:36
eSignal 各別月份合約的 symbol 在 AB 裡不用加 -Globex-FUT

因為 -Exchange-Type 這是 IB TWS 下單格式 ...

謝謝! 可以了. 我發現差距挺大! IB太早不容許下單, 比如現在GC9月份的成交量, 遠遠不及8月. 要想辦法解決.
發表於 14-7-31 15:08 | 顯示全部樓層
kilroy 發表於 14-7-31 12:40
下 IB 的月份會先提前換

因為 eSignal 和 IB 的換月規則不一樣

請教一下 k大
您是以 eSignal #F 連續月的報價當策略
所以即便像現在 GC #F 與 GC U4
在報價上有明顯的差異時
您只要 #F 有訊號 就以下市價單直接下到 GC U4
而不會去理會二者之間價格上的不同

以上我的理解不知對否?
-----
另外商品換月的時間您是參考
http://www.capitalfutures.com.tw/product/finalday_us.asp?xy=6&xt=2
這裡面的日期嗎?
上面的各合約到期與IB是否相符呢?

感謝您的回覆




 樓主| 發表於 14-7-31 15:32 | 顯示全部樓層
skyler 發表於 14-7-31 15:08
請教一下 k大
您是以 eSignal #F 連續月的報價當策略
所以即便像現在 GC #F 與 GC U4

對,價差的部分我是直接以 #F 的報價跑策略下到新月份

---
換月日期會參考群益那個網頁

最主要還是看 IB 商品內容的 expiration

但通常接近上述日期前兩三天,IB 就會寄 EMAIL - margin violation warning 通知

violation type 就是 physical delivery

這時我會直接換次月 (平近月部位、建次月新倉)

---
關於換月價差最好的處理方式就是 roll over rule 相同 (報價與下單)


像是 TradeStation 可以自訂換月規則去下某個合約月份

且自己又是 brokerage


這樣做國外期貨應該 TradeStation 是最理想的平台選擇 XD


但,我沒辦法給你一個 "一定"、"肯定" 怎麼做會是最好的答案




評分

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

查看全部評分

發表於 14-8-6 09:00 | 顯示全部樓層
k大
請問一下
你遠端連線到下單主機是用什麼軟體?
我現在用MS的terminal service 只要從遠端登入後
下單主機就會是鎖定的狀態

鎖定所造成的問題就是
以autoIT來控制TWS不闗閉的功能
會受影響不會自動執行
autoIT必須是在主機沒有被鎖定的情況下才會自動執行

所以想問一下您用的是那個軟體

謝謝
 樓主| 發表於 14-8-6 09:41 | 顯示全部樓層
skyler 發表於 14-8-6 09:00
k大
請問一下
你遠端連線到下單主機是用什麼軟體?

Hi,
我是用 team viewer

在tema viewer 設定裡 動作 -> 鎖定電腦 -> 把鎖定取消




發表於 14-8-7 09:29 | 顯示全部樓層
http://www.autoitscript.com/wiki ... cked_workstation.3F
AutoIt只要避免使用某些function應該就能在電腦鎖定的狀態下執行

評分

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

查看全部評分

發表於 14-8-8 11:44 | 顯示全部樓層
請教一個問題
DateTime() 要如何轉成 YYYYMMDDHHmmss  的格式?
還是只能用 DateNum() + TimeNum() 來組合?

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

本版積分規則

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

GMT+8, 24-7-1 04:43

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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