Google Analytics

顯示具有 API 標籤的文章。 顯示所有文章
顯示具有 API 標籤的文章。 顯示所有文章

2015年6月1日 星期一

答讀者有關SP API問題(1)

由於筆者近數月以及未來一段時間都忙於為某在線劵商舉辦一些在線講座, 自家的課程倒少了時間搞, 也積壓了一些查詢, 為此向引起不便的讀者表示歉意, 有關課程的安排請留意博客更新.

有位讀者查詢有關SP API報價更新時間問題.其實這個在相關文件已找到答案,在其定義的調用函數會返回一個包含更新時間的結構, 問題是這個時間直接印出來會是一個很大的數字,在SP API文件上亦沒清楚說明.其實該回傳數字是一個Unix Time (或叫Epoch Time, 直譯大紀元時間), 這個數字是以1970年1月1日為起點渡過了多少秒數.要轉成我們看慣的標準時間一點也不難,在網上也很易搜到相關可用的現成編碼.

有關SP API的更新頻率, 筆者之前也已測試過, 大約1秒3-5次,其實跟其DDE的更新頻率差不多, 是否需要用API方式拿價, 值得考慮.
http://tradealgo.blogspot.com/2014/02/sp-trader-metastock5.html

該讀者另一問題是想把相關的價位更新顯示到圖表上,基於C#的繪圖程式庫很多,如屬開源的比較多人用是一個叫ZedGraph 的組件,可到http://sourceforge.net/projects/zedgraph/下載. 可以設定股票圖樣式, 下載中附有簡單範例, 該可滿足到簡單的繪圖需求. 如果要複雜的, 那麼可能需要一些付費的繪圖程式庫.

由於筆者時間有限, 而且認為需求有限, 故不打算花精力整成課程.

不過筆者認為更佳的解決方法, 是把價位更新直接寫入現成的技術分析軟件, 像Metastock , Amibroker 或Multicharts等, 利用該等比較強大的圖表功能,會比自己"再發明車輪"來得實際 .

有興趣較深入了解的讀者可到 "如何開發從SP Trader 接入數據到 Metastock"(1)-(7) 了解.

2014年2月28日 星期五

如何開發從SP Trader 接入數據到 Metastock(7)

最後最後, 測試一下從SP 交易終端直接拿DDE 與從SP API直接拿報價比較, 粗略發現報價頻率相約, 即1分鐘~150更新, 失真率小 , 經metaserver 出來的多出報價該為其以較高頻率監察報價源, 也說明metaserver該可勝任更高頻率的報價更新.





最後最後, 比較一下SP API寫入metastock data再同時分別被Amibroker 及 Metastock 讀取, 發現並無數據鎖上問題, 可以一份數據同時給多個分析程式應用, 亦可以接上筆者開發的 SP 下單機(簡單/進階版), 即使沒有劵商API的開放.


2014年2月25日 星期二

如何開發從SP Trader 接入數據到 Metastock(6)

關於數據接入, 近來寫到這裡也差不多. 實踐在於真正動手比較思考, 可惜是筆者接觸過的經驗上, 不少散戶由於技術和知識的局限, 不是容易做到, 故對於一些概念無法驗證, 也就只好道聽塗說.

最簡單的實時接入外面報價到Metastock的方式, 筆者還是推薦以Metaserver + DDE方式最為簡易, 又不失準確性和彈性. 一來不用依靠API ,技術門檻較低, 二來錄取出來的效果以及數據檢視, 均不遜色, 什至比API方式更新更多. 而同時又無閃圖的問題.

筆者就此錄製了Metaserver + DDE 接入 sp trader 及 mt4 的報價到metastock的影像, 就視頻所見, 由於使用metastock 本身的串流式更新, 而非透過外掛refresh, 圖表展示得更平順, 透過downloader 查看報價記錄, 再比較以SP API及metalib 記錄的數據, 會發現metaserver 送出報價的頻率什至比api的更頻密.


2014年2月21日 星期五

如何開發從SP Trader 接入數據到 Metastock(5)

在如何開發從SP Trader 接入數據到 Metastock(2)中, 提及Metastock 數據接入開發的難處及近似解決方案, 今天就示範一下其中一個較廉價的方案.

筆者透過SP API獲得實時報價並透過Metalib API建立及寫出Metastock 制式的日內tick報價, 筆者以bid-ask的中間價為報價寫入 , 並在metastock 開出圖表觀察 , 當然用家亦可以加上各項指標或買賣專家工具. 雖然metastock號稱能同時更新100張圖表, 不過要考慮到tick數據要求高的處理能力, 筆者建議不要同時開太多, 不然會有明顯閃圖, 更新延誤以至Metastock當掉的情況 , 當然也要審視硬件 ,是這樣就行了 ? 當然沒那麼簡單. 寫入的數據是不會實時更新到圖上, 故(理論)上要不斷的按'refresh data'才能看到圖表隨市況變化 , 透過腳本(script)或第三方工具(如筆者示範中的小工具) , 就可以接近實時看到變化. 


2014年2月18日 星期二

如何開發從SP Trader 接入數據到 Metastock(4)

俗語說得好, "Garbage in , Garbage out" , 要接入數據作交易用途, 當然要確定數據的完整及準確性. 成交數據傳過來是一個或數個打包了的Tick為單元, 再由交易終端整理至不同周期顯示出來. 一般大部分投資者的數據並非由交易所直接傳來, 而是經由經紀(Broker)轉送 . 不少人都分不清, 以為從經紀得來的Tick數據報價就是準確 , 千方百計想從中抓取, 到頭來只是浪費功夫~

要知期貨/股票交易是在交易所進行的, 最準確的交易資料一定是在交易所,如果你是要做高頻交易(HFT)或很精確的套利, 那你要專線直上交易所才行, 經由經紀轉發的已是給"處理過"的信號, 已有不同程度的失真和延誤. 

最常見的處理過就是丟失的的信號, 這可以由於經紀自己再打包分時而引致, 如果觀察周期長的, 那麼差異一般可以略去, 如果周期很短的(e.g ms), 那高低開收及成交量的分別就較明顯. 但這些問題其實對散戶影響不會很大, 因為大概不會有散戶要在1秒內作幾千宗不同的交易吧. 所以筆者一向都對追求完美數據的行為不是很認同. 

筆者就以SP 報價作一示範 , 透過API抓取幾個不同外期的數據作比較分析, 可看出裡面都有沙石. 相關過程可見以下視頻