2014年8月3日

股市自動交易系統(半完成品) - JavaATS程式架構 - DataManager

這篇來描述另一個簡單的部份,Data Manager,取得歷史資料的元件,
在JavaATS架構圖如下:
這裡的Data Manager,主要就是從SQL Server裡面把資料撈出來,
目前的Data Manager只有實做撈Candle(K線資料),
每筆資料包含:

  • ID (代號)
  • Name (名稱)
  • Date (日期時間)
  • Open (開盤價)
  • Close (收盤價)
  • High (最高價)
  • Low (最低價)
  • Volume (成交價)

Data Manager程式碼結構:
Data Manager結構非常簡單,只有1個建構子+2個method,如下:

  • 建構子:載入JDBC驅動程式,設定SQL Server的資訊(IP、Port、DB Name、Account、Password)
  • getCandle:取出特定市場、代號的歷史資料(所有時間,從最早到最新)
  • setCandle:傳入SQL Code,直接寫入或更新資料到SQL Server

Candle與CANDLES變數:
這裡唯一需要解釋的是,Candle和CANDLES這2個變數,和它的命名原因。

  • Candle:就是K線資料,但它代表1個時間的K線資料
  • CANDLES:表示一整串Candle,它的原型是個Candle的陣列

大小寫命名原因:
這和之後會提到的StockAPI有關連,
為了讓StockAPI便於使用和區別,
我在StockAPI內,統一使用「大寫+底線」的method名稱,
例如:
取得歷史資料的API叫GET_HISTORY
取得Quote的API叫GET_QUOTE

一整串的Candle因為很常被StockAPI使用,因此它的命名變為大寫。

沒有留言: