samtsui

I_Heikin Ashi Candle

When apply a strategy to Heikin Ashi Candle chart (HA candle), the strategy will use the open/close/high/low values of the Heikin Ashi candle to calculate the Profit and Loss, hence also affecting the Percent Profitable, Profit Factor, etc., often resulting a unrealistic high Percent Profitable and Profit Factor, which is misleading. But if you want to use the HA candle's values to calculate your indicator / strategy, but pass the normal candle's open/close/high/low values to the strategy to calculate the Profit / Loss, you can do this:

1) set up the main chart to be a normal candle chart
2) use this indicator script to plot a secondary window with indicator looks exactly like a HA-chart
3) to use the HA-candle's open/close/high/low value to calculate whatever indicator you want (you may need to create a separate script if you want to plot this indicator in a separate indicator window)
Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?
//@version=2
// Note:
//   if you only want to see the Heikin Ashi Candle but not the normal Candle,
//   change the overlay option to overlay=true, then hide the normal Candle
study("I_Heikin Ashi Candle", shorttitle="I_HA Candle", overlay=false)


// --------------- Calculating HA Candle's values
//  -- you can use either one of the methods below, they give the same values

//   Method 1 - calculate the HA candle's value by formula
haclose = (open + high + low + close) / 4
haopen = na(haopen[1]) ? (open + close) / 2 : (haopen[1] + haclose[1]) / 2
hahigh = max(high, max(haopen, haclose))
halow = min(low, min(haopen, haclose))

//   Method 2 - calculate the HA candle's value by pine script function heikinashi()
// haclose = security(heikinashi(tickerid), period, close)
// haopen = security(heikinashi(tickerid), period, open)
// hahigh = security(heikinashi(tickerid), period, high)
// halow = security(heikinashi(tickerid), period, low)



// --------------- Using HA Candle's values to define indicators

// then use the haclose, haopen, hahigh, halow to calculate whatever indicators you want:
// e.g.

// 1. stochastic
// k = sma(stoch(haclose, hahigh, halow, 14), 3)
// d = sma(k, 3)

// 2. sma
// sma14 = sma(haclose, 14)

// 3. ema
// ema14 = ema(haclose, 14)

// --------------- Plotting
plotcandle(haopen, hahigh, halow, haclose, title='Heikin-Ashi', color=(haopen < haclose) ? green : red, wickcolor=gray)
// END