Google Analytics

2013年7月20日 星期六

SP Trader API (2)

SP Trader 程式交易這個題目在本地投資者一直是個很感興趣的話題. 在本博客的點擊率也是名列前矛的. 有這麼大的需求廠商竟沒有開發相關的API, 也是一個可惜. 所以在筆者接過的程式交易系統Project, 也以炒賣美國及台灣產品的有較大的靈活發揮, 也是一點諷刺.

雖然沒有完美的API, 但要開發出不那麼完美的解決方案還是可行.筆者之前, 也曾在班上教授過利用Windows API 去自動化下單, 也總會有人興致勃勃的問, 是否也可查知下單成功與否, 過往筆者都會一概說做不到. 其實不是做不到, 是解決方案不夠完美. 其實心水清的讀者也曾在筆者的Youtube 教學中看過其中獲得成交訂單的一小片段.



不完美的地方在於, 下單成功與否不是透過當事人(即程式本身)說出來, 而是透過第二人(它顯示出來的數字)推出來 , 就好像一間屋好像失火, 不是透過看看間屋裡面是否出了火頭, 而是看到間屋周圍出現火光, 而推出間屋著了火.

實在點說, 筆者用的方法是透過程式觀察SP Trader 的下單狀況(order status)的變化來推算可能的訂單號, 從而追蹤它的狀況變化, 比如說, 送出訂單後, 以及得到成交確認(Trade alert)後,比較成交確認之前及之後的訂單量及狀態 , 可以大致準確的推出所留意的訂單號, 從而得出成交狀態及時間等. 這當然比從API得到訂單號間接, 也是不得已.

從一個程式抓取/控制另一個程式從來不是易事, 也沒有在任何情況都可行的解決方案, 在設計對SP 的控制程式, 亦要面對SP 改版的變更而使控制程式不可用或需更改, 在此筆者在從R8.3 升級至現在R8.4的過程中也改過一次程式, 也幸好SP 沒有來個翻天覆地的變化, 所以原理還是能使用.

在獲得像SP之類的股票軟件成交資訊的技術中, 以DLL 注入的方法最多人提及以及嘗試過, 不過效用還是沒有定論, 筆者一來沒有那麼高的能力, 二來也不想打無把握的仗, 空費人力和時間, 其實透過程式操控SP 抄錄訂單的功能 , 得出的效果也跟DLL 注入差不遠 , 要花的功夫也小得多. 在此也真的謝謝SP留了個不完美的偷雞的方法.





1 則留言:

  1. 我有看到SP已有開放API?
    http://www.sharppoint.com.hk/algo.php?lang=2

    回覆刪除