1. Enable the bar color
2. Enable the background color
3. Change zero line value
"The MACD-Histogram is an indicator of an indicator. In fact, is also an indicator of an indicator. This means that the MACD-Histogram is the fourth derivative of price."
First derivative: 12-day and 26-day
Second derivative: (12-day less the 26-day )
Third derivative: signal line (9-day of )
Fourth derivative: MACD-Histogram ( less signal line)
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.
study(title="MACD Color Trawler (by ChartArt)", shorttitle="CA_-_MACD_CT") // Version 1.0 // Idea by ChartArt on May 12, 2015. // // The indicator is 'trawling' (checking) if the MACD histogram // and the zero line crossing with the MACD line // are both positive or negative. // // List of my work: // https://www.tradingview.com/u/ChartArt/ source = close fastLength = input(12, minval=1), slowLength=input(26,minval=1) signalLength=input(9,minval=1) fastMA = ema(source, fastLength) slowMA = ema(source, slowLength) macd = fastMA - slowMA signal = sma(macd, signalLength) hist = macd - signal switch1=input(true, title="Enable Bar Color?") switch2=input(true, title="Enable Background Color?") plot(macd, color=blue,linewidth=2) plot(signal, color=gray,linewidth=1) // Histogram Color GetHistogramColor = iff(hist > 0, 1, iff(hist < 0, -1, nz(GetHistogramColor, 0))) ColorHistogram = GetHistogramColor == -1 ? red: GetHistogramColor == 1 ? green : blue plot(hist, color=ColorHistogram, style=histogram,linewidth=4) // Bar Color Trigger = input(0, title="Zeroline Trigger Value?") GetBarColor = iff((macd > Trigger) and (hist > 0), 1, iff((macd < Trigger) and (hist < 0), -1, nz(GetBarColor, 0))) SelectBarColor = GetBarColor == -1 ? red: GetBarColor == 1 ? green: blue barcolor(switch1?SelectBarColor:na) // Background Color GetBackgroundColor = iff((macd > Trigger) and (hist > 0), 1, iff((macd < Trigger) and (hist < 0), -1, nz(GetBackgroundColor, 0))) SelectBackgroundColor = GetBackgroundColor == -1 ? red: GetBackgroundColor == 1 ? green: blue bgcolor(switch2?SelectBackgroundColor:na, transp=90)