綠茶妹 發表於 09-11-10 15:15

好專業!
michael-knight真是用心!
{:4_113:}

michael-knight 發表於 09-11-10 17:16

本帖最後由 michael-knight 於 09-11-10 05:20 PM 編輯

用AB來即時執行策略,將Amibroker接上real-time tick quote data,啟動AA視窗,勾選"run every xxx",此選項能夠每隔xxx時間去跑一次AFL,但此timer觸發ALF執行只對Explore或scan動作類型有效用。
在MT4裡,每有tick data到達就會驅動執行策略,但在AB裡似乎沒發現有這樣的驅動機制,而是設定一個timer來觸發策略執行


1.AFL in explore or scan action
filter = xxx//explore動作類型用到此變數,指定過濾條件
buy/sell/short/cover //scan動作類型用到此變數,指定交易信號
if (status("action")==actionExplore || status("action")==actionScan) {
//do your action,若你是用IB(interactive broker)這家券商下單,AB提供直接操作IB TWS介面的方法(ActiveX/COM物件)
//若你用其它券商提供的下單元件(ActiveX/COM或一般包成*.dll的API),可以以AFL plug將這些功能包成AFL function再plugin進來,如此你就能調用這些AFL function,達到自動交易
}

2. 軟體骨幹層次(layer)切割分明的話系統是比較完美,有助於唯護與拓展,在VC這邊,使用者可以架上一層訂單管理層來處理一切訂單行為,最底層才是實際下單的API

ezbentley 發表於 09-11-10 17:53

我是知道"Run Every XXX"這招
不過這只是讓他一直跑在Exploration mode
要把AB接上券商的API好像不是那麼容易(或是我看不懂)

vito27216 發表於 09-11-10 18:34

好專業
對我們真的很有幫助
謝謝{:4_87:}

小娃 發表於 09-11-10 20:18

剛才michael-knight跟我說,
文章裡的"調用"函式改成"呼叫"函式,
才是台灣人的用語。我改好了。

teck01 發表於 09-11-14 13:51

圖文並茂,太強了...要好好研究一下{:4_113:}

matthewyang 發表於 09-11-28 19:16

that perfect

Gump 發表於 09-11-28 20:41

回復 35# michael-knight


在VC這邊,使用者可以架上一層訂單管理層來處理一切訂單行為,最底層才是實際下單的API
-------------------------------------------------------------------------------------------

可以請教一下什麼是 VC 啊

小娃 發表於 09-11-28 23:50

回復 41# Gump


    應該是visual C吧。

TrendRover 發表於 09-12-14 16:29

回復 36# ezbentley


    參考 IBcontroller 1.3 beta (for IB TWS>=890) , copy past here again :The IB Controller (BrokerIB.EXE) is a separate application that acts as a buffer between AmiBroker and Interactive Brokers TWS. It accepts commands from AmiBroker and send orders to / retrieves information from TWS. It also allows to cancel/transmit orders manually. The IB controller application is run automatically by AmiBroker if the formula contains the following call:ibc = GetTradingInterface("IB");After this call the BrokerIB.EXE (IB Controller) application is launched and the ibc variable contains the pointer to OLE automation object that has several methods (functions) that allow to place/modify/cancel orders via TWS and to query portfolio information. Those methods (functions) are called as any automation object methods, for example:

ibc = GetTradingInterface("IB");if( ibc.IsConnected() ) // check if connection to IB was successfull
{
   ibc.PlaceOrder("MSFT", "BUY", 100, "MKT", 0, 0, "DAY", False ); // place order but do not transmit yet
}

   意似 要寫code callibc interface 而 且 成功 就可 place order , 不 傳出 意是 IB TWS 處 要 manual 去 click
"T" (transmit) button , 如此是為 測試 應 改成 直接 transmit ---please read readme file in WWW or my attached other place in this forum .

ezbentley 發表於 09-12-14 19:02

回復 43# simon48

這個我知道啊
不過只有IB能用
跟其他的broker就不能用了

小娃 發表於 09-12-15 13:27

本文有更新版。
http://www.coco-in.net/viewthread.php?tid=1446&extra=
新增「如何用AB做自動交易、訂單行為管理說明。」

所以本帖關閉。(關閉就是不可再回覆的意思)
頁: 1 2 [3]
查看完整版本: 洞悉AmiBroker的backtester框架(作者 michael-knight)