Back to Articles

What Is a Heikin Ashi Chart? Formula and Caveats

What is a Heikin Ashi chart: averaged candles, the formula published four ways, why the price on the candle never traded, and what ChartLabs has instead.

A Heikin Ashi chart looks like a candlestick chart, but each candle is built from averages instead of from the prices that traded. The close is the average of the current period's open, high, low and close, and the open is the midpoint of the previous candle, so the number printed on a Heikin Ashi candle is usually a level nobody ever dealt at.

TradingView's own documentation says it in plain words: "Heikin Ashi candles show the average prices, not the actual prices." The published formulas for it do not all agree.

What is a Heikin Ashi chart?

A chart of averaged candles, drawn with the same bodies and wicks as a candlestick chart, designed to smooth the jumps out of a trend.

The name is Japanese. StockCharts' ChartSchool gives the etymology with its own source: "In Japanese, Heikin means "average" and Ashi means "pace" (EUDict.com). Taken together, Heikin-Ashi represents the average pace of prices." Schwab, in a piece dated January 6, 2026, translates it as an "average bar" chart and dates the technique to a Japanese rice trader in the 1700s.

Each candle uses this period's four prices and the previous candle's own values.

What is the Heikin Ashi formula?

The close is the part everyone agrees on: the current period's open, high, low and close, divided by four. The open and the high are written differently by different publishers.

SourceHeikin Ashi closeHeikin Ashi openHeikin Ashi high
ChartSchoolHA-Close = (Open(0) + High(0) + Low(0) + Close(0)) / 4HA-Open = (HA-Open(-1) + HA-Close(-1)) / 2"the maximum of three data points: the current period's high, the current Heikin-Ashi candlestick open or the current Heikin-Ashi candlestick close"
TradingViewClose = (Current [Close + Open + High + Low]) / 4Open = (Previous [Open + Close]) / 2"The highest value of a recent high, open, or close"
IG"(open + close + high + low of current bar) divided by 4""(open of previous bar + close of previous bar) divided by 2""the maximum value from the high, open, or close of the current period"
Schwab"the actual close, open, high, and low prices divided by four""the actual open price of the previous bar and the actual close price of the previous bar divided by two""the highest value among the actual high price of the current bar and the open of the current heikin ashi bar"

Two differences change the numbers on your screen.

The open. TradingView and IG say previous open plus previous close. ChartSchool says prior Heikin-Ashi open plus prior Heikin-Ashi close. Those are different numbers on every candle after the first, because the Heikin Ashi open is itself an average. Schwab's wording matches TradingView and IG: the actual open and actual close of the previous bar.

The high. ChartSchool takes the maximum of three values. TradingView says "a recent" high, open or close without saying whose. IG says the high, open or close "of the current period", which reads as the real open and close rather than the calculated ones. Schwab names only two terms, the actual high of the current bar and the open of the current heikin ashi bar, leaving the heikin ashi close out of its list.

Check which version your platform uses before you compare a signal with anyone else's, and write it in your log.

Why don't the prices match the chart?

Because the candle plots an average, and an average of four prices is usually not one of them.

TradingView: "Heikin Ashi candles show the average prices, not the actual prices." The same page says they "open at the middle level of the previous candle" and "display two values on the right scale", one being the real price of the asset and the other the Heikin Ashi price. Its settings section has the switch: "If you want to see the actual prices only, click the "Real prices on price scale.""

Schwab puts it in a caveat list: "The current price of a heikin ashi bar may not match the actual trading price because heikin ashi bars are constructed using average prices."

An entry you write down at a Heikin Ashi open is a level that was never traded at, so a test that fills you there is testing a price the market never offered.

Not every explainer flags it. ChartSchool goes the other way: "all aspects of classical technical analysis can be applied to these charts."

Heikin Ashi vs regular candlesticks: what you gain and what you lose

You gain a cleaner read on trend and you lose precision at the exact level you want to deal at.

TradingView's own comparison says Heikin Ashi candles "Provide a clearer picture on trends" and "Provide average data and clarification during market turbulence", then, in the same list, "Less precise for pinpointing exact entry and exit levels". Its note on standard candles is the mirror image: more common, better studied, works with candlestick patterns, "Well-suited for gap trading".

Schwab adds a second cost: "Trading signals may appear later than they would on a normal candlestick chart in heikin ashi charts." Its upside is that the chart has no price gaps, which is also what makes it smoother to look at.

Is Heikin Ashi reliable?

That depends on what you are asking it to do, and no accuracy figure belongs on the question.

On where it holds up, Schwab's third caveat: heikin ashi charts "tend to be most effective in strong, trending markets, rather than volatile ones."

Two things make it unreliable as a record of what happened. The first is the delay, in TradingView's words: "Current candles are calculated with a delay, as their calculation is possible only after the previous candle is closed." The second is the warm-up.

Does where I start the chart change the candles?

Yes, for the first several candles.

ChartSchool: "note that there's a chicken and egg dilemma. You need the first Heikin-Ashi candlestick before calculating future Heikin-Ashi candlesticks. Therefore, the first calculation uses data from the current open, high, low and close." The first candle is seeded from the raw prices, and then, in their words, "Even though this first Heikin-Ashi candlestick is somewhat artificial, the effects will dissipate over time (usually seven to 10 periods)."

They also say what their own platform does about it: "StockCharts.com starts its Heikin-Ashi calculations before the first price date, which is visible on each chart."

Two people looking at the same market on the same timeframe can see different Heikin Ashi candles for the first seven to ten periods, purely because their charts began on different dates. If your test window starts where the data starts, the first trades in it are taken on candles the vendor itself calls somewhat artificial.

Can I use Heikin Ashi charts in ChartLabs?

No. ChartLabs charts are time-based candlesticks, plus range bars on NAS100, which build bars from price movement rather than from the clock. There is no Heikin Ashi chart type.

If the reason you want Heikin Ashi is a non-time-based chart with a fill price you can trust, range bars answer that from the other end. They close on price movement instead of clock time, and entries and exits are filled at the exact tick that crossed your level. The fill is a tick that really traded, which is the opposite trade-off from an averaged candle. Index range bars follow the instrument's real trading day and daylight saving rather than drifting an hour twice a year.

Renko charts are the other common non-time-based chart, and ChartLabs does not have those either. The Renko page covers why a chart vendor advises against backtesting on synthetic brick prices at all, which is the same argument in a sharper form.

Can I backtest on Heikin Ashi candles?

You can run the test. Be careful about the price you write in the log.

Our own page on backtesting accuracy, slippage and data quality makes the general case about prices nobody could have traded: they are "not real prices that anyone could have traded at, but your backtest will happily trigger entries and exits on them."

A Heikin Ashi price is not an artefact of that kind: it is the chart type working as designed, printing a calculated number instead of a traded one. So if you test on these candles, record the real price you could have been filled at, from a time-based chart of the same market, and note where that price came from.

How to test a Heikin Ashi rule without fooling yourself

Write the rule down first, step forward one candle at a time, and log two prices per trade.

  1. One rule, one market, one timeframe, written before you open a chart. "The first candle with no lower wick" is a rule. "It looked like the trend was turning" is not.
  2. Step bar by bar, so the next candle is not visible while you decide. Otherwise the one-candle delay never shows up: if you can already see the candle after the signal, you cannot feel the lag that Schwab warns about.
  3. Note where your chart starts, and throw away or flag the first ten candles of the window. That is ChartSchool's seven to 10 periods of warm-up.
  4. Log the candle's number and the real price side by side. If they are far apart, you have just measured what the chart type costs you.
  5. Keep the costs in. Spread and slippage do not care that your signal came from an average.

ChartLabs is built for step 2: you replay historical charts bar by bar and take the trades by hand, at 3x and 7x or one bar at a time, on daily bars as well as shorter ones. Historic trades snap to candle boundaries and respect the chart's timeframe, and your timezone setting changes the times shown rather than how bars are grouped. The data underneath is sourced from Dukascopy, tick-level where it is available, cleaned to remove anomalies before building 1-minute candles.

The ChartLabs replay controls: a play button, a speed selector reading 1x, a timeframe button reading M5, a step forward button that advances the chart one bar, and a Go To button

For the method itself, start with how to backtest a trading strategy. If you are testing on forex specifically, forex backtesting covers session and spread behaviour that the smoothing will hide from you.

What to record

Per trade: the date, the direction, the candle state that triggered it (colour flip, no lower wick, body size, whatever your rule names), the candle's own price, the real price you could have been filled at, your stop, your exit and the result in R. Then the count.

Two extra columns pay for themselves on this chart type: where the chart window started, and which formula your platform uses for the open and the high. Both are reasons two logs of the same rule can disagree, and neither of them is your strategy.

Next step

If you want to know what a Heikin Ashi rule does on your market, step through it and log both prices. Start a free trial and replay your market bar by bar on cleaned historical data.

Tags

heikin-ashichart-typescandlesticksbacktestingdata-quality