VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
策略學院 / AlphaPrime 怎麼算

Heikin Ashi 回測:為什麼平滑後的收盤價永遠不是你的成交價

已完成的 Heikin Ashi K 棒不會重繪,但它的開盤價與收盤價是平均值,可能從未成交過。Heikin Ashi 回測會因為以平均收盤價成交、並用平滑後的高低點檢查停損而高估績效。AlphaPrime 以已完成的 Heikin Ashi K 棒產生訊號,以下一個真實價格加上滑價成交,並用真實 K 棒的高低點判斷停損。

作者 · 發佈 · 更新於 · 編輯原則

目錄
  1. Heikin Ashi 會重繪嗎?為什麼它的回測看起來比實單好?
  2. Heikin Ashi 的哪些價格是真實的,哪些是算出來的?
  3. Heikin Ashi 回測在哪裡看見了未來?
  4. 顏色的改變只有在真實 K 棒收盤時才知道
  5. Heikin Ashi 收盤價不是成交價
  6. 用平滑後的低點檢查停損
  7. AlphaPrime 如何回測 Heikin Ashi 策略?
  8. 哪些 Heikin Ashi 規則能通過真實成交的考驗?
  9. 哪些市場適合 Heikin Ashi 策略?
  10. 常見問題

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 的開盤落在真實最低價下方、收盤落在區間中段,兩個都不是你成交得到的價。
在趨勢棒上,Heikin Ashi 的開盤落在真實最低價下方、收盤落在區間中段,兩個都不是你成交得到的價。 AlphaPrime 生成設定 · 線圖類型面板

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 棒,則特別不適合,因為相對於行情,開盤價的落後幅度很大。