Heikin Ashi 回測:為什麼平滑後的收盤價永遠不是你的成交價
已完成的 Heikin Ashi K 棒不會重繪,但它的開盤價與收盤價是平均值,可能從未成交過。Heikin Ashi 回測會因為以平均收盤價成交、並用平滑後的高低點檢查停損而高估績效。AlphaPrime 以已完成的 Heikin Ashi K 棒產生訊號,以下一個真實價格加上滑價成交,並用真實 K 棒的高低點判斷停損。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
Heikin Ashi 會重繪嗎?為什麼它的回測看起來比實單好?
已完成的 Heikin Ashi K 棒不會重繪;還在形成中的那根會隨每一跳變動,這跟任何 K 棒都一樣。Heikin Ashi 回測看起來比實單好,原因在別處:它們以 Heikin Ashi 收盤價成交,而那是一個經過平均的價格,很多時候根本沒有成交過;另外,停損是拿平滑後的高低點來檢查。
Heikin Ashi K 棒的開盤價、最高價、最低價和收盤價,是由真實 K 棒以及前一根 Heikin Ashi K 棒計算出來的,所以相鄰的 K 棒會彼此交融,趨勢會呈現為同色的長串。完整的計算方式與看圖重點,請見Heikin Ashi K 棒的計算方式這一頁。本頁談的是另一件事:回測引擎拿到這些計算出來的價格後會怎麼處理,以及 AlphaPrime(Valynox)又是怎麼做的。
簡單說,Heikin Ashi 是少數還保有時間軸的合成圖表,所以它的時間問題很小。但它的價格問題很大,因為四個數值全都是計算值,而其中的開盤價和收盤價,正是回測最喜歡拿來成交的價位。
Heikin Ashi 的哪些價格是真實的,哪些是算出來的?
四個值在一般意義上都不是成交價,但最高價和最低價通常接近真實,開盤價和收盤價則可能落在真實 K 棒的範圍之內,甚至超出該期間的成交範圍。
Heikin Ashi 收盤價是真實的開盤、最高、最低與收盤四個價格的平均。在趨勢 K 棒上,它會落在區間中間,離這根 K 棒實際收在哪裡很遠。Heikin Ashi 開盤價則是前一根 Heikin Ashi 開盤價與收盤價的中點(第一根 K 棒用的是真實開盤價,因此序列起點不會憑空捏造價格),這表示它會落後:在強勁的上漲中,Heikin Ashi 開盤價會低於真實開盤價,有時甚至低於當根 K 棒的真實最低價。Heikin Ashi 最高價是真實最高價、Heikin Ashi 開盤價與 Heikin Ashi 收盤價三者中的最高者,因此至少不低於真實最高價;最低價的道理相同,只是方向相反。有一個副作用常讓人措手不及:真實 K 棒可能收黑,而它的 Heikin Ashi K 棒卻是綠色,因為 K 棒的顏色比較的是兩個平均值,而不是這根 K 棒的開盤與收盤。
| Heikin Ashi 數值 | 與實際成交價的距離 | 若回測以此成交,會出什麼問題 |
|---|---|---|
| 開盤價 | 在趨勢中常落在當根真實區間之外 | 進場價格在那根 K 棒裡根本不存在 |
| 收盤價 | 位於真實 K 棒的區間中間 | 在行情還沒走完、你還沒看到結果時就進出場 |
| 最高價 | 等於或高於真實最高價 | 目標價看起來碰得到,實際上碰不到 |
| 最低價 | 等於或低於真實最低價 | 停損看起來沒被觸及,實際上已經被打到 |

Heikin Ashi 回測在哪裡看見了未來?
在成交和停損上。時間問題在這裡比較次要,但並非零,而重繪的問題其實就該在這裡討論。
顏色的改變只有在真實 K 棒收盤時才知道
規則:只有在計算它的真實 K 棒收盤之後,策略才會看到這根 Heikin Ashi K 棒。原因:在真實收盤價出現之前,Heikin Ashi 收盤價仍在變動,K 棒中途出現的變色,可能在該根 K 棒結束前就消失了。它避免的問題是:回測拿 K 棒最終的顏色去做決策,彷彿這個顏色從該根 K 棒一開始就看得到。這就是實單時大家會注意到的重繪:K 棒在 10:14:30 是綠的,到 10:15:00 變紅,而回測只看見了紅色。
Heikin Ashi 收盤價不是成交價
規則:委託一律在訊號之後的下一個真實價格成交,並加上滑價,絕不以 Heikin Ashi 的任何數值成交。原因:Heikin Ashi 收盤價是四個價格的平均,該根 K 棒結束時並沒有人在那個價位成交。它避免的問題是:在趨勢 K 棒的中間價位進出場,而這會讓每一筆交易的兩端都系統性地變好。若一套變色規則在第一根綠棒的 Heikin Ashi 收盤價進場,那麼它每一筆都會比任何實單交易者好上幾跳,而且方向都正好順著行情。
用平滑後的低點檢查停損
規則:停損與停利以真實 K 棒的最高價與最低價判斷;若同一根 K 棒同時碰到兩者,先算停損。原因:Heikin Ashi 最低價可能低於真實最低價,因此用它檢查的停損,被打到的次數會比真實停損少。它避免的問題是:回測的停損次數比帳戶實際承受的少。
假設性範例
一根 15 分鐘的指數期貨 K 棒以 100 開盤,上漲到 112,回檔到 99,最後以 111 收盤。Heikin Ashi 收盤價是 100、112、99 與 111 的平均,也就是 105.5。若一筆變色買進單以 Heikin Ashi 收盤價成交,你會在 105.5 進場。AlphaPrime 會在該根 K 棒收盤時確認 K 棒,並以下一根真實 K 棒的開盤價成交,約為 111 加上滑價。兩者差了 5.5 點,約等於整根 K 棒區間的一半,而這個差距是回測白白送給自己的。
AlphaPrime 如何回測 Heikin Ashi 策略?
訊號來自已完成的 Heikin Ashi K 棒;損益則以其底下的真實 K 棒結算。方法逐條如下:
- Heikin Ashi K 棒在真實 K 棒收盤時才確認。原因:只有到那時,它的數值才是定案的。避免:依據一個最後沒有保留的顏色做決策。
- 市價單以下一根真實 K 棒的開盤價成交,並加上滑價。原因:這是訊號之後第一個存在的價格。避免:在平均收盤價的中間價位成交。
- 停損單與限價單以真實價格掛單,並在真實成交到達時成交。原因:Heikin Ashi 的區間並不是真實成交的區間。避免:以沒有人成交過的價格成交限價單。
- 停損與停利以真實 K 棒的最高價與最低價判斷,停損優先。原因:平滑後的最低價會遮掉真實的價格偏離。避免:停損在測試中消失、到了實單又出現。
- 滑價維持你平常時間 K 棒的數值。原因:Heikin Ashi K 棒是依時鐘的節奏推進,不會成批湧出,因此磚形圖所用的快速行情滑價加倍並不需要。真實價格成交已經去除了主要的失真。
在本系列的所有圖表類型中,Heikin Ashi 是唯一保留一般滑價的;其他類型都會乘上至少兩倍,因為它們的 K 棒本身就是在快速行情中才確認的。原因在合成 K 棒回測為什麼會作弊的總覽頁有說明。Heikin Ashi 的失真在價格,不在時間,而真實價格成交正好修正價格。
哪些 Heikin Ashi 規則能通過真實成交的考驗?
把 Heikin Ashi 當作趨勢過濾器、出場較慢的規則,通常能通過。在第一次變色時進場、下一次變色時出場的規則,多半不行,因為它們在每一段都等於白白付出半根 K 棒的區間。
- 趨勢過濾器:只順著最近幾根 Heikin Ashi 的顏色方向交易,進出場則由另一條規則決定。平均化發揮的是過濾的作用,且不會動到成交價。
- 連續同色加上真實價格停損:出現設定數量的同色 K 棒後進場,遇到第一根反色 K 棒就出場,停損設在進場那根 K 棒的真實最低價。誠實的成交會讓績效縮水,但在趨勢市場中通常仍能維持正的期望值。
- 十字線式的猶豫出場:實體小、上下都有影線的 Heikin Ashi K 棒。適合作為出場,但不適合作為進場,因為等它出現時,它所示意的行情已經走完一半。
- 第一次變色進場、下一次變色出場:這是經典的圖表示範。加上真實成交與停損之後,通常扣掉成本就只是擲硬幣。
不論是哪一種規則,最重要的測試都是總覽頁對所有圖表類型所說的那一套:先用誠實的成交去跑,再加上一根 K 棒的延遲去跑。真正的優勢會稍微減弱;平均化造成的假象則會崩解。接著,依照回測中的交易成本這一頁所述,把成本與平均每筆損益一起衡量。
哪些市場適合 Heikin Ashi 策略?
Heikin Ashi 適合那些會連續走出多根趨勢 K 棒的市場與週期:15 分鐘到日 K 的指數期貨、1 小時以上的主要外匯貨幣對,以及 4 小時與日 K 的大型加密貨幣。適合的原因是,平均化會獎勵持續性。它不適合區間震盪的時段,也不適合短線週期,因為 Heikin Ashi 開盤價的落後,會讓每一次進場都變成晚進場。
由於 Heikin Ashi 保有時間軸,它能與時段規則、時段過濾器以及其他以時間為基礎的工具順暢搭配,這是磚形圖做不到的。如果你想要 Heikin Ashi 的平滑效果,同時又希望 K 棒也忽略時間,Renko 磚形圖通常是下一步,但它會把時間上的洩漏一起帶進來。
如果你使用 AlphaPrime,這代表什麼:在策略生成中選擇 Heikin Ashi 作為圖表類型,你寫的規則就會讀取 Heikin Ashi K 棒,而每一筆成交、停損與停利,則都在真實 K 棒上結算。策略邏輯中保留的 K 棒,都是委託送出時已經完成的;報表中的價格,則都是真的成交過的價格。
常見問題
Heikin Ashi 會重繪嗎?
已完成的 K 棒不會。目前這根 K 棒會一直變動,直到真實 K 棒收盤為止,這對每一種 K 棒都一樣。差別在於 Heikin Ashi 的顏色可能在 K 棒後段才翻轉,所以在 K 棒中途評估的規則,看到的圖表會和在收盤時評估的規則不同。AlphaPrime 是在收盤時評估,因此策略當時看到的,和事後圖表上顯示的,是同一件事。
為什麼我的 Heikin Ashi 策略在圖表回測中獲利,到了 AlphaPrime 卻不賺錢?
幾乎都是因為圖表回測以 Heikin Ashi 收盤價或開盤價成交。這些價格是平均值,位於真實 K 棒區間的中間或之外。把成交改為下一個真實價格,就拿掉了一個原本不可能取得的優勢;如果策略原本就仰賴這個優勢,獲利也會跟著消失。
Heikin Ashi 策略的停損該設在哪裡?
設在真實價格上,並以真實的高低點來判斷。常見做法是設在進場那根 K 棒真實最低價下方的固定距離,或以 ATR 為基準的距離。不要以 Heikin Ashi 的最低價來設定,因為那個價位可能低於任何已經成交過的價格。
我能把 Heikin Ashi 用在外匯和加密貨幣策略上嗎?
可以。計算方式與規則完全相同。加密貨幣在日 K 與 4 小時 K 上特別適合 Heikin Ashi 趨勢規則;同樣的市場若用 1 分鐘 K 棒,則特別不適合,因為相對於行情,開盤價的落後幅度很大。

