Heikin-Ashi蠟燭圖:公式、合成價格與實際成交價
了解Heikin-Ashi蠟燭圖如何平滑K線,為什麼其OHLC值並非實際成交價格,以及如何將視覺訊號與訂單執行區分開來
本指南內容將K線影像與實際成交價格分離
簡短摘要
Heikin-Ashi蠟燭圖透過遞歸平均公式重複使用普通K線資料。 它們較為平滑的長條圖能讓價格走勢更容易解讀,但由此得出的開盤價、最高價、最低價和收盤價只是圖表數值,並非第二套交易策略。 計算一條K線,觀察合成影線的落點,然後將訊號邏輯和可執行價格分開。
將K線影像與實際成交價格分離
標準K線報告該品種在K線中的開盤價、最高價、最低價和收盤價。 Heikin-Ashi (HA) 對這些值進行轉換:其收盤價取當前普通K線開盤價、最高價、最低價和收盤價的平均值,而其開盤價則取決於前一個HA開盤價和收盤價。 這種遞歸方式減少了K線間的視覺波動,但也意味著HA蠟燭圖無法完全重現交易路徑。 TradingView 將HA值描述為平均值而非實際價格,並指出它們在選擇精確的入場點和出場點時精度較低。 請使用此顯示來描述所選的平滑規則,而不是將合成等級重新標記為市場最新價格、支撐位或可用成交價。 {source:tradingViewHeikinAshiGuide}
根據正確的輸入計算每個字段
對於目前開盤價為 O、最高價為 H、最低價為 L、收盤價為 C 的普通K線,其計算公式為 HA_Close = (O + H + L + C) / 4。 遞歸計算公式為 HA_Open = (previous HA_Open + previous HA_Close) / 2。 然後是 HA_High = max(H, HA_Open, HA_Close) 和 HA_Low = min(L, HA_Open, HA_Close)。 目前收盤價使用目前K線的開盤價、最高價、最低價和收盤價。 目前開盤價延續了先前的HA狀態。 根據通常的顏色規則,看漲HA實體表示HA_Close > HA_Open,並不一定意味著普通K線本身的收盤價高於其開盤價。 公式會產生四個衍生值;圖表可能會根據前一個收盤價單獨提供顏色約定,因此請記錄您正在解讀的顏色。
使用缺口範例識別合成影線
假設之前的HA開盤價為100,收盤價為102。目前K線開盤價為110,前一個實際收盤價為108,隨後觸及112,跌至109,最終收在111。 目前HA開盤價為(100 + 102) / 2 = 101,收盤價為(110 + 112 + 109 + 111) / 4 = 110.5。 HA 最高價為 112,HA 最低價為 min(109, 101, 110.5) = 101。 實際成交價最低為 109,但 HA 影線延伸至 101,因為其遞歸開盤價是合成最低價的一部分。 TradingView 的公式會將目前最高價或最低價與 HA 的開盤價和收盤價結合起來計算極值。 因此,HA 柱上的歷史觸及 101 並不能證明訂單可能在該價位成交。 {source:tradingViewHeikinAshiGuide}
將範例向前移動一條K線,即可看到遞歸仍然存在。以HA開盤價101和HA收盤價110.5作為前一個狀態,假設下一條實際K線從O=114, H=116, L=113.5, C=115開始。其HA開盤價為(101 + 110.5) / 2 = 105.75,HA收盤價為(114 + 116 + 113.5 + 115) / 4 = 114.625,HA最低價等於此合成開盤價。實際K線的交易價格僅在上述最低價和最高價之間波動。因此,繼承的合成開盤價會在K線的實際最低價下方留下另一根影線;這是一個計算的圖表值,而非實際觀察到的交易。 {source:tradingViewHeikinAshiGuide}

將平滑處理視為一種顯示權衡
遞歸開盤價賦予了顯示記憶功能:每個新的 HA 開盤價都位於前一個 HA 開盤價和前一個 HA 收盤價的中間位置。 因此,在其他條件相同的情況下,前一個 HA 收盤價的變化會使下一個 HA 開盤價移動一半的距離。 將目前 HA 收盤價的 O、H、L 和 C 取平均值,也可能導致實體顏色和大小與普通蠟燭圖有所不同。 同色長線可能更容易辨認,但平滑處理並不能消除缺口、費用、逆向選擇或劇烈反轉的可能性。 它也會改變K線的位置,有時甚至會改變K線的波動範圍。 視覺模式是對轉換後序列的描述;如果沒有經過單獨驗證的規則,它並不能作為價格走勢將持續或反轉的證據。
將顏色和影線模式視為描述
顏色規則和影線形狀可以作為轉換結果的簡潔標籤。 例如,一些圖表讀者將幾乎沒有下影線的看漲蠟燭稱為「強勁上漲K線」。 這個片語描述的是繪製的HA值;它並沒有顯示買方控制了每一筆交易,也不表示停損位應該設在HA低點,或是下一根K線會符合這種形態。 平台可能會根據HA收盤價與HA開盤價來為K線著色,或透過單獨的選項,將收盤價與前一條K線的收盤價進行比較。 這些選擇可能會使相同的OHLC數據看起來不同。 在計算指標中的運行次數、類似十字星的實體或影線變化之前,請先說明顏色規則和K線公式。
凍結K線、交易時段和初始化規則
HA由K線構成,因此底層時間週期和交易時段決定了哪些普通OHLC值會參與每次計算。 由常規交易時段建構的五分鐘K線可能與包含延時交易的K線有所不同;日線邊界遵循交易場所的日曆和時區。 分盤、期貨展期、缺少K線以及調整後與未調整的歷史資料也會改變原始輸入值。 由於 HA_Open 是遞歸的,初始種子和加載的歷史資料量會影響早期值;種子的影響會隨著重複平均而衰減,但不應在可複現性檢查中被忽略。 記錄交易品種、交易場所、時間週期、交易時段、價格調整、歷史起始點以及平台的 HA 約定。 當前K線值可能在該普通K線收盤前發生變化。 {source:tradingViewPineChartInformation}
將圖表訊號與回測成交價分開
在 Heikin-Ashi 圖表上,Pine 策略可以設定參數 fill_orders_on_standard_ohlc。其預設值為 false;設定為 true 時,經紀商模擬器將使用標準 OHLC 資料進行模擬成交。此設定僅更改模擬成交價格。使用 Heikin-Ashi 圖表值的訊號仍然使用合成值,且此設定不會將 Renko、Kagi 或其他非標準圖表轉換為標準價格圖表。TradingView 警告稱,否則在非標準圖表上進行的回測可能會使用合成 OHLC 數據進行成交,可能無法代表真實的市場情況。 {source:tradingViewNonstandardChartBacktesting} {source:tradingViewPineStrategyDeclaration}
以實際價格編寫可執行規則
分兩個階段編寫規則。 首先,說明HA序列的作用:例如,HA收盤價高於其HA開盤價可能作為入場條件的篩選條件。 然後,使用實際市場價格定義訂單:提交時間、訂單類型、觸發來源、可接受價格、退出價格、訂單規模、缺口處理和成本。 如果訂單是HA低點的止損單,則應將其轉換為與可交易原始價格相關的規則,而不是假設合成水準存在於市場中。 將該策略與相同日期範圍內的普通OHLC執行和適當的基準進行比較;保留時間順序的保留資料或前瞻性評估,以驗證開發過程中所做的選擇。 更平滑的圖表並不代表更好的執行或未來的表現。
常見問題
Q1Heikin-Ashi價格是實際價格嗎?
否。 HA OHLC 值源自於普通K線和先前的 HA 狀態。 標準市場價格仍然是決定訂單是否可以執行的基礎。
Q2我可以在 Heikin-Ashi 低點設定停損嗎?
您可以編寫一個引用該值的策略,但 HA 低點可能並未實際成交。 請使用實際價格、模型缺口和成交情況來定義止損及其觸發條件。
Q3使用標準 OHLC 作為成交價是否能消除 Heikin-Ashi 回測的所有偏差?
否。它可以將支援的 HA 策略中的模擬成交價更改為標準 OHLC,但訊號可能仍使用合成的 HA 值。 它無法確定未來的業績或實際成本。
資料來源與延伸閱讀
回報問題
我們會準備一封包含本文連結的電子郵件。寄出後,Mark 才會收到你的回報
快速檢查
讀完指南後,用 3 道題檢查一下
問題 01
目前 Heikin-Ashi 收盤價是如何計算的?
選擇答案即可查看解釋
期權術語表
清楚解釋從買權、賣權和選擇權鏈到 IV、希臘字母、未平倉量與最大痛點等核心選擇權術語
瀏覽期權術語表