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)

本着真正的TradingView精神,该脚本的作者将其开源发布,以便交易者可以理解和验证它。为作者喝彩!您可以免费使用它,但在出版物中重复使用此代码受网站规则的约束。 您可以收藏它以在图表上使用。



// 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