COCO研究院

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

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

  [複製鏈接]
發表於 14-3-21 21:49 | 顯示全部樓層
本帖最後由 joshsmi 於 14-3-21 22:08 編輯
webxp 發表於 14-3-21 09:33
MultiChart .NET SE 免費卻提供全功能,是最大的誘因 :)

What do you wanna tell, pal?

First of all MC has many disadvantages over AB as it is very limited in offering important features.
Few examples:
- no portfolio trading (AB does allow it)
- no dynamic currency conversion (AB does allow it)
- walk forward bug (AB does not have such serious bugs)
- slow  (AB one of the fastest)
- and so on

Secondly you mentioned MC SE. SE stands for starter edition which is free. But free means you can only use one or two symbols, perhaps there are other limits in free version. So there you go ... one limitation follows another limitation when using MC.

AB is open architecture. Besides AFL it offers free C/C++ API besides that third party NET SDK. Free endless choices, no limitations.

No problem if you wanna use MC. Go ahead. But I don't see your point you wanna tell me.

發表於 14-3-22 10:02 來自手機 | 顯示全部樓層
大大,您的開關按鈕是如何做到?可否分享一下?還有,下單序碼中,reset好像沒有用到,可否解說解說?謝謝!!
 樓主| 發表於 14-3-22 14:38 | 顯示全部樓層
osdak 發表於 14-3-22 10:02
大大,您的開關按鈕是如何做到?可否分享一下?還有,下單序碼中,reset好像沒有用到,可否解說解說?謝謝 ...

Hi,
reset 是在圖表上按滑鼠右鍵,點選 parameters

按下 RESET 是要把 OrderID 清除

---
按鈕的範例在這裡

http://www.wisestocktrader.com/indicators/3709-button-control-panel


參考看看了~
發表於 14-3-22 16:18 | 顯示全部樓層
真的~台指期在程式交易上的油水沒這麼好撈..目前開始轉戰香港恆生..AB沒用過..請問要如何入門..謝謝~
 樓主| 發表於 14-3-22 16:28 | 顯示全部樓層
糖土尼 發表於 14-3-22 16:18
真的~台指期在程式交易上的油水沒這麼好撈..目前開始轉戰香港恆生..AB沒用過..請問要如何入門..謝謝~ ...

Hi,

首先買一套 AB,搞定資料源(或是先匯入歷史資料)

然後到這個網站找範例AFL,邊看邊學


參考看看了~


評分

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

查看全部評分

發表於 14-3-22 21:08 | 顯示全部樓層
如果報價API是選eSignal plug-in,
AB AFL如何透過 IB Controller 下單至 IB TWS ?
這不是要選 IB data plug-in才行嗎?
兩者只能擇一?
發表於 14-3-22 21:23 | 顯示全部樓層
大大, 謝回答.
有些關於_SECTION_BEGIN的問題, 你實時下單, ib controller那一段是用section begin, 但據語法顯示, section being是用於drag-drop section.
_SECTION_BEGIN
- section begin marker
Exploration / Indicators
(AFL 2.70)

SYNTAX_SECTION_BEGIN( ''section name'' )
RETURNSNOTHING
FUNCTIONMarks beginning of the drag-drop section.IMPORTANT: "section name" must be a constant, literal string, enclosed in double quotation marks. You must NOT use variable here.


我理解的drag-drop就是indicator, 放於圖表中, 其實我到現在, 都不太明白甚麼時候用section begin? 其實我把它拿掉, 也完全可以吧? 那目的只是清楚一點?

謝謝!!!!
 樓主| 發表於 14-3-22 21:46 | 顯示全部樓層
osdak 發表於 14-3-22 21:23
大大, 謝回答.
有些關於_SECTION_BEGIN的問題, 你實時下單, ib controller那一段是用section begin, 但據語 ...

Hi,

_SECTION_BEGIN("");
...
...
...
_SECTION_END();

這兩個加或不加都可以

它是方便在圖表裡加入或刪除整個"區塊"

參考看看了




 樓主| 發表於 14-3-22 21:50 | 顯示全部樓層
RLRAVYRNLCQYBCQ 發表於 14-3-22 21:08
如果報價API是選eSignal plug-in,
AB AFL如何透過 IB Controller 下單至 IB TWS ?
這不是要選 IB data plug ...

Hi,

eSignal plug-in 和 IB data plug-in 只是報價源(real time data feed)

---
而 IB Controller 是一個下單機程式 (AmiBroker 與 IB TWS 中間的橋樑)

透過 AFL 的語法將單經由 IB Controller 下單(pending) 至 IB TWS

所以與 real time data feed 的 plug-in 沒有關係

而是 IB Controller 只能下到 IB TWS

參考看看了~
發表於 14-3-22 22:11 | 顯示全部樓層
謝大大, 我現在在測試auto trade可能性, 想請教一下, 有什麼產品, 是7x24在交易, 流通流又高? 我在用ib paper trade account, 現在用usd.jpy測試, 但好像不是好選擇, 平時要上班, 星期六,日比較有空.......
 樓主| 發表於 14-3-22 22:14 | 顯示全部樓層
osdak 發表於 14-3-22 22:11
謝大大, 我現在在測試auto trade可能性, 想請教一下, 有什麼產品, 是7x24在交易, 流通流又高? 我在用ib pap ...

Hi,
小弟只有做 CME Group 底下的商品


而商品都是 24HR auto trading 的

流通性的問題應該不是太大問題

參考看看了


發表於 14-3-23 14:36 | 顯示全部樓層
請問如果有留倉部位的話針對電子盤成交量較少的時段須要分開處理嗎?
 樓主| 發表於 14-3-23 17:52 | 顯示全部樓層
zaqimon 發表於 14-3-23 14:36
請問如果有留倉部位的話針對電子盤成交量較少的時段須要分開處理嗎?

Hi,

請問分開處理的意思是什麼方式
發表於 14-3-23 20:24 | 顯示全部樓層
大大, 今天測試, 又有了一個新問題想請教, 我如果有一個買入signal:

Buy = Cross(StochK( 5 , 3), 30);
設定是BuyPrice = Open, 而時段是用5分鐘
Capture.PNG
我觀察到, 當K線於當前5分鐘的bar穿過30時, 他會等到一下根bar時(下一個5分鐘)用open價錢買入. 但我想問, 如果在實時交易(我是用IB的), 我把時段設定為5分鐘, 那在5分鐘當中(比如於3分20秒時), K線升穿30, 那amibroker會馬上下單, 還是會如在backtest那樣, 會一直等到下一個5分鐘開始時才下單?

第二個問題是基於第一個問題, 那於backtest時, 應該如何模擬真實呢? 是用open, close, 還是用settradedelays較好?

謝謝!!
 樓主| 發表於 14-3-23 21:28 | 顯示全部樓層
本帖最後由 kilroy 於 14-3-23 21:39 編輯
osdak 發表於 14-3-23 20:24
大大, 今天測試, 又有了一個新問題想請教, 我如果有一個買入signal:

Buy = Cross(StochK( 5 , 3), 30);

Hi,

在實時交易裡,這類的進出場條件 cross(stochk(5,3),30) or cross(c,ema(c,15)...

他在當根K還在跳動時,是不固定的

也就是說,stochk(5,3)可能會是上一秒高於30, 下一秒低於 30

但回測上是看不出來的,因為回測是 run "已經"知道當根K 的 Close 是多少的情況下

---
所以在實際交易以及回測上

會用當根K達到你的進場條件並走完(close)後進場

回測就會以當根K 的 close 或次根K 的 open 為進場價位

如果有用 settradedelays 就是次根K 的 open

用當根K的 close

就用 barcomplete = BarIndex() < LastValue(BarIndex());

但實際交易上, settradedelays 是沒有功能的

所以還是要用 barcomplete = BarIndex() < LastValue(BarIndex()); 來執行

---
另外,可以在進場條件以及語法中指定進場價位,如 buyprice, sellprice, coverprice, shortprice

這樣的進場方式

ex.
Buy=H>ref(HHV(H,3),-1);
Sell=L<ref(LLV(L,3),-1);

BuyPrice=ref(HHV(H,3),-1);
SellPrice=ref(LLV(L,3),-1);

如此~


參考看看了

評分

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

查看全部評分

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

本版積分規則

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

GMT+8, 24-12-23 05:39

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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