Heikin Ashi Strategy Tested: The Same System Made Money in 8 of 12 Runs on Heikin Ashi Prices and in 0 of 12 on Real Prices

Key takeaways
- I built Heikin Ashi candles from real EURUSD and gold prices, M5 and M15, and tested three popular Heikin Ashi entries: the colour change, the second candle of the new colour, and the “flat bottom” candle with no wick against it. 27,293 signals, 7,613 trades with a fixed stop and target.
- 0 of 12 runs passed all three checks. 1 made money after cost: the plain colour change on gold M15, +$0.29 an ounce per trade, still inside the range of random entries.
- The same colour-change system made money in 8 of 12 runs when I scored it on Heikin Ashi prices, and in 0 of 12 on real prices. On gold M15 it showed +$3.50 a trade and a profit factor of 2.92 on the Heikin Ashi chart, and -$0.06 a trade on the prices you can actually trade.
- The reason is the entry price. At a green colour change, the real close was above the Heikin Ashi close on 60% to 78% of signals, by a median 0.17 to 0.22 ATR. Every trade on the Heikin Ashi chart starts at a price nobody was offered.
- The “strong candle with no lower wick” was the worst entry on gold: -$2.42 a trade on M5 and -$2.81 on M15. By the time the candle had no wick, price was 2.59 to 2.90 ATR into the move.
Heikin Ashi candles look like a solution. The chart turns from a noisy mix of red and green into clean runs of one colour, and every trading video says the same thing: buy when the candles turn green, stay in while they have no lower wick, get out when they turn red.
I counted what that does on real data. And I found the reason so many Heikin Ashi backtests look good: they are scored on prices that do not exist.
What is a Heikin Ashi candle, exactly?

A Heikin Ashi candle is an average, not a price. Each one is built from the real candle and the Heikin Ashi candle before it:
- HA close = (open + high + low + close) / 4 of the real bar.
- HA open = the midpoint of the previous HA open and HA close.
- HA high and HA low = the real high and low, stretched to include the HA open and close.
So the HA close is the average of the bar, and the HA open drags yesterday’s average along. That is why the colours run in long streaks. It is also why the HA close is almost never the price the market closed at. On my data the median gap between the two was 0.19 to 0.30 ATR, about 0.65 pips on EURUSD M5 and $1.70 on gold M15.
How did I test it?

- Data: EURUSD, June 3 to August 26, 2026, 16,926 M5 bars and 5,642 M15 bars; gold, June 16 to August 26, 13,736 M5 bars and 4,577 M15 bars.
- Three entries, all on the close of a finished Heikin Ashi candle: the colour change (first green after red, first red after green), confirmation (the second candle of the new colour), and the flat candle (the first candle of a new run, within five bars, with no wick against it, the “flat bottom” or “flat top” setup).
- Fill: at the real close of that bar, not the HA close. This matters, and I show below what happens if you skip it.
- Exit: stop 1.5 ATR, target 3 ATR, 48 bars at most, one trade at a time.
- Cost: 1 pip per EURUSD trade and $0.30 an ounce on gold. What a 1-pip spread does to a 5-minute chart is in my spread and swap measurement.
- Three checks: profit after cost, profit in both halves of the data (split on July 15), and a result above the best 5% of 200 runs of random entries with the same exit. The random check is explained in rule vs random entry.
What did the three Heikin Ashi entries make?
| Entry | Chart | Trades | Before cost | After cost | 1st half | 2nd half | Random, worst 5% to best 5% |
|---|---|---|---|---|---|---|---|
| Colour change | EURUSD M5 | 1,260 | -0.08 | -1.08 | -0.81 | -1.32 | -1.26 to -0.77 |
| Second candle | EURUSD M5 | 1,216 | -0.02 | -1.02 | -0.79 | -1.23 | -1.28 to -0.75 |
| Flat candle | EURUSD M5 | 1,195 | -0.02 | -1.02 | -0.76 | -1.26 | -1.29 to -0.72 |
| Colour change | EURUSD M15 | 321 | -0.32 | -1.32 | -0.65 | -1.95 | -2.13 to -0.24 |
| Second candle | EURUSD M15 | 370 | -0.96 | -1.96 | -1.99 | -1.93 | -2.08 to -0.55 |
| Flat candle | EURUSD M15 | 319 | -0.39 | -1.39 | -1.28 | -1.49 | -2.09 to -0.40 |
| Colour change | Gold M5 | 756 | -0.81 | -1.10 | -1.72 | -0.76 | -1.21 to 0.00 |
| Second candle | Gold M5 | 747 | -0.98 | -1.28 | -1.46 | -1.17 | -1.21 to +0.13 |
| Flat candle | Gold M5 | 760 | -2.12 | -2.42 | -4.48 | -1.04 | -1.20 to +0.11 |
| Colour change | Gold M15 | 230 | +0.59 | +0.29 | +0.77 | +0.06 | -2.46 to +2.25 |
| Second candle | Gold M15 | 221 | +0.22 | -0.08 | -1.42 | +0.66 | -2.54 to +2.43 |
| Flat candle | Gold M15 | 218 | -2.51 | -2.81 | -4.29 | -2.10 | -2.44 to +2.29 |
Per trade after cost: pips on EURUSD, dollars an ounce on gold. The last column is where 200 runs of random entries landed with the same number of trades and the same exit.
On EURUSD all six runs lost, and every one of them sat inside the random range. Before cost the three M5 entries were within 0.08 pips of zero. The Heikin Ashi colour told you nothing about the next two hours that a coin did not, and the spread took a pip a trade.
On gold, one run made money: the plain colour change on M15, +$0.29 an ounce over 230 trades, positive in both halves. Random entries with the same exit reached +$2.25 in their best 5% of runs, so it did not pass the third check. The score: 1 of 12 net positive, 1 of 12 positive in both halves, 0 of 12 passed.
The flat candle, the setup most videos call the strongest Heikin Ashi signal, was the worst entry on both gold charts and worse than the worst 5% of random entries on both. I come back to why below.
Why does a Heikin Ashi backtest look so much better?
This is the finding I did not expect. A common way to trade Heikin Ashi is to stay in the market: long while the candles are green, reverse to short on the first red candle. I ran that system twice on exactly the same signals. Once with profit counted from Heikin Ashi closes, which is what you get when a strategy reads its prices from a Heikin Ashi chart or a backtest uses the HA values as the price series. Once with profit counted from the real closes of the same bars.
| Always in, reverse on colour change | Trades | On HA prices | Profit factor on HA prices | On real prices | Profit factor on real prices |
|---|---|---|---|---|---|
| EURUSD M5 | 4,736 | -0.38 | 0.73 | -1.28 | 0.39 |
| EURUSD M15 | 1,439 | +0.67 | 1.40 | -1.18 | 0.60 |
| Gold M5 | 3,415 | +1.62 | 2.33 | -0.38 | 0.84 |
| Gold M15 | 1,080 | +3.50 | 2.92 | -0.06 | 0.98 |
Per trade after the same cost. Same entries, same exits, same bars. The only difference is which close is used as the price.
On gold M5 the Heikin Ashi version showed a profit of $5,530 an ounce over 3,415 trades, with a profit factor of 2.33. Counted on real prices it lost $1,293. On gold M15, a profit factor of 2.92 became 0.98. I ran the other two entries the same way: on Heikin Ashi prices 8 of the 12 runs made money, on real prices 0 of 12 did.
The mechanism is simple. A green colour change happens when price has been rising. The real close of that bar is high. The HA close is the average of the bar, so it is lower. Across the four charts the real close was worse than the HA close on 60% to 78% of colour changes, by a median 0.17 to 0.22 ATR. The Heikin Ashi chart buys at a discount and sells at a premium on almost every trade, and the market does not give you that discount.
If you have seen a Heikin Ashi strategy with a smooth equity curve, check which price it fills at before anything else. The same problem shows up with any backtest that uses prices it could not have traded, which I measured another way in tick data vs spread in a backtest.
How late is the Heikin Ashi colour change?
Heikin Ashi smooths by averaging, and averaging costs time. For every signal I measured two distances in ATR: how far price had already moved from the extreme of the last 24 bars, and the furthest it went in the signal’s direction over the next 24 bars.
| Median | EURUSD M5 | EURUSD M15 | Gold M5 | Gold M15 |
|---|---|---|---|---|
| Colour change: already moved | 2.63 | 2.35 | 2.21 | 2.11 |
| Colour change: still to come at best | 2.37 | 2.04 | 1.97 | 1.89 |
| Second candle: already moved | 3.02 | 2.64 | 2.42 | 2.39 |
| Flat candle: already moved | 2.90 | 2.75 | 2.59 | 2.65 |
| Flat candle: still to come at best | 2.39 | 2.06 | 1.93 | 1.94 |
In all 12 runs the median distance already travelled was bigger than the distance still to come. Waiting for a second candle or for a candle with no wick made the signal later by 0.2 to 0.5 ATR and left about the same room ahead. That is why the flat candle did worst on gold: it shows up after the move is visibly strong, which is also when it is most likely to pause. The same lateness showed up in every trend tool in my SuperTrend settings test.
Does Heikin Ashi at least cut the noise?
It does change what you see. On regular candles 52% to 67% of colour runs were a single bar. On Heikin Ashi it was 21% to 28%, and the average run was 3.5 to 4.0 bars long instead of 1.5 to 1.9. On a third of all bars, 33.0% to 34.2%, the Heikin Ashi candle was a different colour from the real candle underneath it.
Calmer is not the same as earlier or more accurate. The colour still changed 81 times a day on EURUSD M5 and 22 times a day on gold M15, and the trades above show that the calmer picture did not carry more information about the next move. The head-to-head with plain candles, rule by rule, is in Heikin Ashi vs regular candlesticks. What candlestick patterns did on the real candles is in candlestick patterns tested.
So should you trade Heikin Ashi?
- As a way to read the chart, it is fine. It shows the direction of the last few bars in one colour, and it does not repaint on closed bars.
- As an entry signal, not on these charts. 0 of 12 runs passed; the only profitable one was inside the random range.
- Never judge a Heikin Ashi system by a Heikin Ashi-priced backtest. 8 of 12 runs made money that way and 0 of 12 on real prices.
- Skip the flat-bottom setup on gold. It was the worst entry on both gold charts.
- If you use it, keep a real-candle chart next to it for your entry price and stop. On one bar in three the two disagree on colour.
Smoothing the candles further and how to set Heikin Ashi up in MetaTrader is in Heikin Ashi settings for MT4.
Frequently asked questions
Is Heikin Ashi profitable?
Not as an entry signal on this data. Three Heikin Ashi entries on EURUSD and gold made money in 1 of 12 runs after cost, and none beat random entries with the same stop and target.
Why do Heikin Ashi backtests look so good?
Because many of them fill trades at Heikin Ashi prices. The same always-in system showed a profit in 8 of 12 runs on HA prices and in 0 of 12 on real prices. On gold M15 the profit factor went from 2.92 to 0.98.
What is the best Heikin Ashi entry?
None of the three stood out on EURUSD, where all lost 1.02 to 1.96 pips a trade. On gold the plain colour change did best, +$0.29 an ounce per trade on M15, and the flat candle with no wick did worst.
Does Heikin Ashi repaint?
No, not on closed bars. Each candle is built from finished prices and the previous HA candle, so it stays as it was drawn. The candle that is still forming changes until it closes.
Is Heikin Ashi good for scalping?
On EURUSD M5 all three entries lost about a pip a trade, which is the spread, and every result was inside the random range. The colour still changed 81 times a day.
Want an indicator that shows the trend without averaging away your entry price?
It is my own enhanced DeMARK Trend Line indicator for MetaTrader 4 and 5. Non repaint, clean, and free.

