搜尋此網誌

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個左右

2013年7月29日 星期一

64BIT Amibroker 群益 plugin

花了快2週的時間,終於把群益api 寫成amibroker 的 64bit plugin
速度比起之前用dde 快的太多了,而且又是64bit
目前的問題只有群益的api 下單 dll 只提供32bit
暫時沒法用64bit的下單,另外就是要抱怨一下群益
即時報價的資料,沒有提供報價日期,造成在回補資料時判斷上的困擾



上圖是我把現貨大盤的每15秒買賣張,均張,期/現貨的資料放在一起同時顯示



2013年7月21日 星期日

分享自己compile 給nas-01g 用的 mldonkey 3.1.3

分享自己compile 給nas-01g 用的  mldonkey 3.1.3
之前都捉別人發佈的,現在自己可以compile 了
分享給有需要的人
下載點:mldonkey3.1.3-nas01g-full.tgz
裏頭只有一個 mlnet 檔,直接覆蓋就可
請注意因mldonkey 在某一版後,似乎檔案有一些變動
因此最好之前是用3.x.x 版的才下載覆蓋

2013年7月2日 星期二

ipaq h3970 在windows 7 64bit 上安裝驅動及使用同步程式


最近因為搬家,一些舊東西都被找出來
這台ipaq h3970 wince pda 之前用來導航的,功能都還很正常
但試著要接上電腦,發現之前用的active sync 已不能在 win7 64bit 上使用
必須要到下列網址捉 mobile device center 才能驅動
Microsoft Windows Mobile Device Center 6.1 Driver for Windows Vista (64-bit) 
會下載drvupdate-amd64.exe 這個檔
先把ipaq 3970 放上底坐,再接上電腦usb 線後,3970 開機,執行drvupdate-amd64
成功安裝驅動後,會在裝置管理員出現HP USB Sync




















在3970 上的同步畫面




2013年7月1日 星期一

升級kindle fire 1 的 TWRP 及 FFF (firefirefire) 及安裝 CM 10.1

***請注意:此升級只能用在Kindle Fire 第一代機型,其它機型使用會有變磚的可能
請確定自己的機型是否正確,以免變磚

自已手上也有一台Kindle Fire 一代,之前也曾經root 過裝 TWRP 2.0.0
穩定的用了一段時間,也沒再刷新的ROM
但近期看到ANDROID 的版本已到Jelly Bean 版本,而XDA 也有Kindle Fire 用的 CM 10 Rom
我主要是想玩看看OTG 的功能,看能否接上鍵盤.mouse 或 gps
首先找到xda 的Kindle Fire utilites 這是一組工具程式,內含Kindle Fire的 windows driver
及 root 程式,燒錄 FFF(firefirefire),燒錄 TWRP 等功能

發佈的網址如下,目前是到 0.9.6 版
http://forum.xda-developers.com/showthread.php?t=1399889

先下載 Kindle Fire Utility v0.9.6.zip 版程式,解開後有下列檔案
install_driver.bat 是用來安裝驅動程式的,如果之前沒有裝過,先把Kindle Fire 用usb 線跟電腦連接
再執行 install_driver.bat 
如果在安裝驅動程式過程中,出現 "current language  not support ..." 的錯誤
請到 drivers 目錄,修改一下 dpinst.xml 這個檔,裏頭有一行
  language code="0x0409"
請參考微軟的說明 根據自己國家的編碼修改,比如 台灣Chinese (Taiwan) 是 0x0404
大陸是 0x0804,才可以正常安裝

run.bat 就是啟動 Kindle Fire Utility ,執行後出現選單畫面

如果Kindle Fire之前都沒root 過那會用到功能 2,3,5
如果只是升級 TWRP,FFF 那只用功能 3,5 就可
因我主要是升級,所以先選 3,
選3之前因Kindle Fire與電腦連接會出現usb 儲存裝置的畫面,要先選卸載 usb,才按3
功能3做完 Kindle Fire 就會自動重開機,
一樣Kindle Fire 選卸載 usb,再選 5 
做完後 TWRP 升級完成,版本是 2.5.0



為了預防刷新版的rom 失敗,可以先選擇Backup 備份,把目前裝的備份起來
rom 的來源
google apps來源

接著便可刷入新rom,把CM 10.1 rom 的zip 檔及 4.2.2 的 google apps,
先丟進Kindle Fire 裏,到 wipe 功能,清除 dalvik ,data,cache,system
再到 install 裏安裝 cm 10.1 rom 及 google apps
最後選擇 Reboot 裏的 System 重開機 
Kindle Fire 就運作 CM 10.1 了
我所裝的cm10.1 檔名 cm-10.1-20130419-1741-otter-sgt7-gcc48.zip
























2013年6月22日 星期六

nas-01g compile transmission 2.77(BT client)

成功的把nas-01g 上的debian 4 更新成功後,開始要編譯 rtorrent 但試了2天始終失敗
決定放棄,試著找別的bt 程式來替代,發現 transmission 這個程式,內建web 界面,不必像 rtorrent 還要用別的程式來控制,就改試著編譯 transmission
首先上網查資料,找到一些要先安裝的 package
apt-get install ca-certificates libcurl4-openssl-dev libssl-dev pkg-config build-essential libglib2.0-dev  intltool
然後執行  intltoolize

一開始先用 svn 下載最新版本來編譯
svn co svn://svn.transmissionbt.com/Transmission/trunk transmission
但在 ./autogen.sh 這裏就會生很多錯誤
查了一下是 autoconf,automake,libtool 的版本不夠新,只好手動先編譯這3個程式


wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
   tar xzfv autoconf-2.69.tar.gz
   cd autoconf-2.69
   ./configure
   make install

wget http://ftp.gnu.org/gnu/automake/automake-1.13.4.tar.gz
   tar xzfv automake-1.13.4.tar.gz
   cd automake-1.13.4
   ./configure
make install

wget http://ftp.twaren.net/Unix/GNU/gnu/libtool/libtool-2.4.tar.gz
   tar xzfv libtool-2.4.tar.gz
   cd libtool-2.4
   ./configure
   make install

成功的編譯這3個程式,並更新原系統上的

若沒更新這3個程式,會出現下列的錯誤

1.會出現 --enable-nls 錯誤 need intltool)
2. cannot find input file: `po/Makefile.in.in' 未執行  intltoolize 導致

想說transmission成功的跑完
./autogen.sh
./configure --disable-nls --disable-gtk --enable-daemon --enable-cli --disable-libnotify --disable-mac --enable-wx --enable-beos --enable-lightweight
結果在 make 時還是出現下列錯誤
/usr/include/pthread.h:441: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:446: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:449: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:452: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:462: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:465: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:475: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:481: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:484: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:487: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/pthread.h:492: error: expected ‘)’ before ‘*’ token
/usr/include/pthread.h:496: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/pthread.h:500: error: expected ‘)’ before ‘*’ token

網路查了好久,始終無法解決
於是想到svn上的最新版的可能較不穩定,應該先用有release 的版本來試
此時transmission 官網上放的是
下載後沒想到連 tar 的版本都不夠新沒法解開 .xz 的檔
但不想再更新 tar,只好再另找別的格式的檔

找到有 .bz2 不是 .xz 的

tar -jxvf transmission-2.77.tar.bz2
cd transmission-2.77
裏頭已有 configure,所以不用先跑 ./autogen.sh
直接./configure --disable-nls --disable-gtk --enable-daemon --enable-cli --disable-libnotify --disable-mac --disable-wx --disable-beos --enable-lightweight
make
總算編譯成功
make install 也沒問題
先執行 transmission-daemon
會在 ~/.config/transmission-daemon/ 出現 settings.json 設定檔
根據自己需要調整參數後,順利的用 web interface(port 9091) 進入,上傳 torrent file 並捉檔成功



老機器再度成功運作最新版的 transmission 2.77
如不想用web 界面,在windows 下也有gui 界面 Transmission Remote GUI

2013年6月16日 星期日

PCI NAS-01G debian 4 更新奮戰

NAS-01G 2006年買了 這台 NAS ,大多都是只用 mldonkey 來捉 ed2k 的檔
但近來很多 ed2k 的 server 都關了,捉檔的速度也很慢
但因之前只把 mldonkey 更新到 3.0.0,想用BT來捉檔發現版本太老,一些tracker 跟 DHT 都不支援
在mobile 01 找到了有人放的 mldonkey 3.1.0,更新後總算bt 功能可以用了
但查了一下發現目前mldonkey 最新版是 3.1.3 ,想說不要都等捉別人的來更新,要試著自己compile mldonkey 跟 rtorrent,因此開始了 debian 更新的 奮戰過程

1.一開始用網路查到的一些資料
啟動 sshd 後下 apt-get update,apt-get upgrade
結果都失敗,查了很久的的網路資料發現問題出在 sources.list
nas-01g 網路捉的debian 是 4.0 版代號是 etch
在2010年後相關檔案都被搬到 http://archive.debian.org/debian/ 沒有其它主機可以用了
經過測試,可用的sources.list 的內容為下列6行

deb http://archive.debian.org/debian/ etch main non-free contrib
deb http://archive.debian.org/debian-security/ etch/updates main non-free contrib
deb http://archive.debian.org/debian-volatile/ etch/volatile main non-free contrib
deb-src http://archive.debian.org/debian/ etch main non-free contrib
deb-src http://archive.debian.org/debian-security/ etch/updates main non-free contrib
deb-src http://archive.debian.org/debian-volatile/ etch/volatile main non-free contrib

是否把 sources.list 設正確後就可以正常跑 apt-get update
錯,一跑就出現 E: Dynamic MMap ran out of room 的錯誤訊息
又查了一陣子網路,原來是因為update 的 list 資料太多,空間不夠
要到 /etc/apt/apt.conf
加入下列參數,參數的作用是保留40M 空間來用
APT::Cache-Limit 40000000;
如果你在下 apt-get update 時沒有錯誤,就不用管它

2. apt-get update 順利跑完了,執行 apt-get upgrade 時又出現錯誤
glibc6.2.6.3 "overwrite ...." 
不管跑什麼都會出現類似的錯誤訊息
因一開始對 debian 裏的 package 不熟,查了很久的網路都不知如何解決
因此仔細的研究一下 glibc6 這個package,此 lib 為基本的 lib 很多程式都會用到
故一定要先把這個lib 更新成功才能繼續其它的更新
最後針對 overwrite 這個錯誤訊息去查,原來是 2 個 package 沒寫好,衝突到所以無法安裝
但可以下參數強迫安裝
於是先用 
apt-get -o Dpkg::Options::="--force-overwrite" install libc6 
單獨更新看看,終於成功更新了
繼續下  apt-get upgrade 還有2個package 會出現錯誤
用下列2行單獨更新
apt-get -o Dpkg::Options::="--force-overwrite" install libc-dev

apt-get -o Dpkg::Options::="--force-overwrite" install dpkg
最後總算順利跑完 apt-get upgrade