搜尋此網誌

2013年8月4日 星期日

分享Amibroker 64bit 群益報價 plugin 測試版

因有不少人來訊息索取,雖然程式還沒完全寫好
先分享一個測試版,給大家試用看看
64bit cap_uox3.rar 1.04 版
請不要把這版用來實際下單,bug 可能還有不少
===========================
補充說明:
   如果有在Amibroker 看不到plugin 出現,可能是沒有安裝VS 2012 的 VC REDIST 
請到此MS VCREDIST下載 VSU3\vcredist_x64.exe 並安裝
========================
1.04 版,修正configure 會當掉的bug
========================
1.03 版
1. realtime quote window 已可正確顯示
=============================================
1.02 版
1.修正了會導致amibroker crash 的bug
2 realtime quote window 顯示問題尚未解決
3.tick bar 超過資料庫上限部份已處理
4.Aux1 為群益的資料筆數,Aux2 為收資料時的本機電腦時間,Aux2可以用來觀察資料接收的Delay狀況

=============================================
安裝說明
1.解開壓縮檔把 cap_uox3.dll copy 到 C:\Program Files\AmiBroker\Plugins 裏
  注意不要COPY 到 C:\Program Files (x86) 這個目錄是 32BIT 版的Amibroker

2.解開群益 20130502 的 API 檔,到  "報價 API_2.2.6\元件\x64" 目錄裏,把
config.ini , SKQuoteLib.dll 2個檔案,COPY 到C:\Program Files\AmiBroker\

3.啟動Amibroker 新增一個 database
   Data source 選擇 uox3 plugin
 number of bars 我是設50萬,因一天的tick 就會有3萬筆以上,50萬筆約10多天
 Base time interval 選擇 Tick,
再按一下 configure 設定群益的登入帳號.密碼
按下確定後會在 C:\Program Files\AmiBroker 多出一個 cap_uox3.ini,帳密就存在裏頭

configure 設定畫面
帳密設定好按下確定後,回到amibroker
畫面右下角應該會出現綠色的已連線的字
再add 一個 amibroker 的 symbol,此symbol 應該與群益的symbol 對應
如 TX00 大台,MTX00 小台,TE00 電指,TF00 金指
如不知代號,連線成功後,到C:\Program Files\AmiBroker\Data\ 找Stocks.dat 這個檔
裏頭應該有代號-商品名稱 對照表

已知問題:
1.此測試檔只能使用到年底
2.盤後回補因有假日的問題,還沒想好解決方法
3.當 TICK BAR 的數量超過資料庫的設定上限時,比如50萬筆,還沒寫好搬移舊資料的部份程式
4.plugin 最好是在8:45 前啟動,因盤中回補的部份還沒測試的很好
5.Realtime Quote windows 還無法很正常連動顯示
6.tick報價,群益的上限是50個商品,我自己是只測了4個左右

13 則留言:

peter huang 提到...

請問我想要32bit版本的,要到哪裡下載?謝謝您

peter huang 提到...
作者已經移除這則留言。
微碼 提到...

寫這個64bit 版是因64bit 沒有dde可用,
所以只寫64bit 版,
32bit編譯時還要切來切去,所以不考慮做

匿名 提到...

測了一下1.04版回報:
1. 開盤前先開啟的話,一下就會變斷線,而且訊息說會重連,實際上不會。即使手動重連,顯示說已連線,報價還是不會動,要整個amibroker關掉重來才會動,所以無法開著不理他
2. 匯入ascii時會顯示「amibroker create log file 錯誤」
3. 速度跟system loading很讚

Unknown 提到...

哈囉
我現在在整合 Amibroker 和 群益 API 下單這部份,不知道您之前是否有實作過這一塊,想跟您討論一些細節。

謝謝~
Paul

微碼 提到...

下單的部份,之前是有想寫成afl plugin
的方式,但並未實際開始動手寫

匿名 提到...

1.此測試檔只能使用到年底
之後就不能用了嗎?

enlightment 提到...

請教您:configure會當掉是怎麼處理的?為什麼我的還是會當掉

Lawrence 提到...


版主請教一下
最近在自行撰寫DATA Plugin 遇到一些問題
::SendMessage(hWnd, WM_USER_STREAMING_UPDATE, 0,0);
之後amibroker到底怎麼判斷哪個symbol有更新資料呢?
目前卡在他只會call GetQuotesEx()一次 且是當下畫面上的這個symbol
感謝

微碼 提到...

不是plugin 有通知amibroker 新資料來時
amibroker就會更新讀取報價

我測試的結果是
1.把symbol 加到 realtimequote 裏,然後畫面要有顯示realtimequote
2.symobl 是目前在用的畫面
3.用analysis 回測時,也會向plugin 要資料

在此3種狀況下才會向plugin 要資料

所以通常plugin 自己也要先把資料暫存起來
等amibroker 來要資料時,再比對少的報價,補給amibroker

Lawrence 提到...

感謝版主的回覆

目前我的DB有1000檔股票
變成我必須每次開啟AB時須先跑過analysis
讓GetQuotesEx()被呼叫一次 以便儲存需要realtime報價的symbol
然後在離開ab儲存DB前 還要再跑一次analysis 讓GetQuotesEx取回資料

邏輯是這樣嗎?

微碼 提到...

如果只是要realtime 報價
只要把symbol 加到 realtimequote 裏,然後畫面要有顯示realtimequote window
就會呼叫plugin 了

但如果你是有afl 要對這1000檔股票做掃描
那直接用analysis 設定每隔n秒SCAN 一次,不用加到realtimequote 裏
這樣也可以

Lawrence 提到...

感謝回覆
目前plugin已經正常運作了
也確定了save database前必須要跑過一次analysis
全部symbol call 一次GetQuotesEx
否則最新資料是不會被儲存的

請問版主方便加FB嗎?