|
一般來說, 設計 backtest module 就是把 historical price data 先放在一個 database 如 Sql, 依序把價格讀出來讓您的 Strategy module 來作虛擬下單, 再把下單結果放在程式裡一個 datatable object, 最後把 datatable 裡的所有交易紀錄作一個統計即可.
如果您已經有 Amibroker, 而策略還不太容易用 Amibroker 來作和 backtest, 雖然不知是什麼邏輯, 但猜想應該是對 tick 跳動很敏感的策略, 如果一個交易日的日內交易會產生十幾次買賣動作, 我剛看了一下 IB API 的網站, 他們有 paper trader 可利用, 如果用Fxcm API 以 demo account 來模擬測試, 您就直接每天都讓您的策略直接下單下去, 反正是 demo account 不是真錢, 根據當天虛擬交易結果來修改明天要測試的參數.
另外一種替代方式就是直接把即時價格用程式畫出圖, 您策略的買賣點產生後再畫上買賣標記, 先用"看"的來判斷策略好與壞, 如果策略是對價格跳動敏感, 就不需要用 K 線圖來畫, 雖然微軟免費提供的 MSChart control 可以畫許多種技術線圖包含K線圖, 但程式只要把價格有跳動才畫在圖上, 這就是所謂的 tick charting (記得 tick charting 不少交易軟體都有內建這個功能..., Amibroker 沒有嗎?), 如果嫌點會畫的太多, 以恆生指數期貨為例, 比上個價格+/-2 點才畫, 這樣就可以減少許多點, 放大這個正負值, 就成了變種的 non-time based 的 Renko chart, 這對程式是寫法最簡單的, 連 timer event 都不用設了, 有價格變化才畫, 希望對您有幫助.
|
|