2015年10月23日 星期五

MultiCharts的 點數K棒 有Bug


程式交易小學堂─期貨投機事業的王道
起源於日前 樸格交易團隊 發表了一篇利用 RangeBar 來避開盤整的方法,文章連結:https://goo.gl/OtO0P0。該文章中,我從樸格所帶上的圖去推測,應該就是 MultiCharts 上的,"點"圖。在圖表上,商品這部份的設定如下,試試看吧。



雖然,之前我曾經發過文章說到,這類 tick base Bar 很有回測與實際交易上的問題存在,文章可見:http://goo.gl/R3wLDt。而 Range Bar 的概念,經過朋友給我解釋,我想了一下,的確是不大受 tick 資料遺漏所大幅影響 K棒呈現的,應該可用。只是,就在我想把這個想法應用到 個股期貨時,意外發現了 MultiCharts 在 點K棒(也就是 range bar)的 BUG了。

我們先很普通的把圖表設定好,開起來就可以看到一如預期的,每根 K棒的長度是一樣的。


不過,在我打開回測報表的時候,卻發現了奇怪的現象,你注意到了嗎?這些訊號的進出場價位,都是不存在於真實世界的!因為,在聯發科200多元這價位,是每 0.5 一跳的,怎麼會有這樣的進出場價位呢?


看到了以上的回測報表,我立刻懷疑是凱衛給我的歷史資料有問題,畢竟...,咱們就不多說了 XD  可是,我打開 QM 看了一下歷史資料,看起來卻很正常,沒有那些奇怪的價位啊~


這下我就很疑惑了。接著想到,該不會 點數K棒 也來 Ranko 或是 Heikin-Ashi 那一招吧?但你只要把商品切到 TXF 卻又沒有這個問題,所以,這應該不是一貫的作弊方法。但是,這回測報表很顯然已經成了垃圾。我繼續檢查圖表上的 K棒,這下可妙了,從 K棒的開、高、低、收就是錯的了, Data Window 直接可視。


猜想著會不會是因為股票有不同價位帶而有不同的 miniMove,而價位高了實際上報價的每一跳,超過 miniMove ,blah blah... 如果是這個問題的話,那應該會影響所有的圖表,於是開啟傳統的時間週期 K棒來看看,卻是正常的很!


這樣的測試比較,我在 8.5 x64 與 9.1 x32 都試了,一模一樣的情形。到了這裡,我們幾乎可以推斷,目前來說,要在 MultiCharts 上使用 Range bar,恐怕是有 bug 存在的,如果你有打算使用 Range bar 的話,最好多多小心。因為,我還看到了一個更妙的狀況,如下。或許這根 K棒的結束 tick 價格真的就是直接跳很大,但我沒有去仔細檢查了,


熱門文章