pro.ct 發表於 14-4-20 01:44

剛接觸AmiBroker,請教幾個問題

大家好,個人之前用過ts,但想試試看AmiBroker不過很多地方都懵懵懂懂,只好上來請問各位前輩



問題一.
我依照網路上的教學安裝了AmiBroker後
我發現如果單純匯入了歷史資料的話,每次開啟都能正常出現資料
但若再裝了abtw,每次開啟AmiBroker歷史行情反到都空白了
那日後要自動交易的話似乎只能靠TWFEXData資料夾內的來補
但變成每次開啟ab都得補一次,請問這樣是正常的嗎?
有沒有辦法讓ab存歷史資料,而abtw就只是單純報價就好?
(因為TWFEXData是期交所rpt轉出來的,跟實際收到的怕有落差)


問題二.
請問ab有公開sdk之類的可以讓第三方程式得知每個策略的方向與部位狀況嗎?



還麻煩各位前輩多指點
如果有蠢問題,請多多包涵{:4_90:}

kilroy 發表於 14-4-20 07:17

Hi,

ABTW會清掉歷史資料,也可以用ABTW所附的下載盤後歷史資料程式,Hex格式自動匯入AB裡。

或是使用AB的ASCII格式語法,搭配autoIT將資料匯入。

由於ABTW會將已經匯入(包含當日即時接收的)資料,在下次重新開啟AB時清除

所以上述步驟每日都需run一次的啦~

---
訊號還是部位可以用別的方式顯示

如果會寫程式,他們也有提供SDK

只是想要的範例可能要找找了


參考看看

pro.ct 發表於 14-4-20 13:21

kilroy 發表於 14-4-20 07:17 static/image/common/back.gif
Hi,

ABTW會清掉歷史資料,也可以用ABTW所附的下載盤後歷史資料程式,Hex格式自動匯入AB裡。


感謝您的說明
不過有些地方小弟還是不能理解

如果搭abtw使用,變成每次開啟程式後,先用autoit回補ascii格式之歷史資料,這部分沒問題
可是當收盤時間一到,不就要把"歷史資料+當日報價資料"匯出,供下次匯入之用?

(總不能一直套用期交所資料,會導致訊號無故消失/出現)



另外請問,abtw會清掉歷史資料,是abtw的特色嗎?
還是每種報價 plugin皆是如此?


謝謝

kilroy 發表於 14-4-20 16:13

Hi,

再匯入ASCII時,既包含了昨天的歷史資料

而當日資料在當日下午三點半下載期交所資料後,就是等明天開盤前匯入囉

---

其他data plugin不會將歷史資料清楚(如eSignal)

參考看看

pro.ct 發表於 14-4-20 18:33

kilroy 發表於 14-4-20 16:13 static/image/common/back.gif
Hi,

再匯入ASCII時,既包含了昨天的歷史資料


可是用期交所轉檔出來當歷史資料不是會因為與實際接受有所落差,導致產生幽靈的策略信號嗎?

下面是舉例 :
策略a在收即時報價,部位由+1變-1 (多翻空)
但隔天匯入的歷史資料(rpt轉出),因為與昨日有幾跟k線與即時報價差個一兩點導致策略還是多單


{:4_186:}

kilroy 發表於 14-4-20 18:51

Hi


如果是點差而導致訊號盤中和盤後有不同的情況

我只能說是策略的設計要盡量避免固定點數的方式

參考看看了

pro.ct 發表於 14-4-26 01:45

kilroy 發表於 14-4-20 18:51 static/image/common/back.gif
Hi




感謝kilroy兄,這樣我心裡有個底了

( 這兩三天比較忙,到現在才能上來回應您,不好意思 )

zaqimon 發表於 14-4-26 08:37

最簡單就是透過寫檔案的方式來交換資料

或是透過mailslot來避免讀寫檔案的overhead
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365147(v=vs.85).aspx

外部程式先開好mailslot
在AmiBroker裡面可以這樣子寫
oFS = CreateStaticObject("Scripting.FileSystemObject");
oMail = oFS.CreateTextFile("\\\\.\\mailslot\\MailSlotTest", True);
oMail.Write("amibroker test");
oMail.Close();
這樣就能從AmiBroker傳資料給外部程式
頁: [1]
查看完整版本: 剛接觸AmiBroker,請教幾個問題