This area was interesting. Would have been a better example:
If the filter is deactivated the indicator shows the last measured price trend (green for up and down for red).
study(title="Market Trend Strength (MTS) (by ChartArt)", shorttitle="CA_-_MTS", overlay=true) // Version 1.0 // Idea by ChartArt on June 3, 2015. // // This indicator is measuring if there are two // consecutive higher or lower prices. Therefore // it measures the trend strength of the market. // // The additional filter shows the trend before // the trend changed the last time. This filter // makes consolidation areas without a trend visible. // // List of my work: // https://www.tradingview.com/u/ChartArt/ switch=input(true, title="Show consolidation areas? (The color changes there each bar)") ShowConsolidation = 2 GetBgColor = iff( (hl2 > hl2) and (hlc3 > hlc3) and (close > close) and (hl2 > hl2) and (hlc3 > hlc3) and (close > close), 1, iff( (hl2 < hl2) and (hlc3 < hlc3) and (close < close) and (hl2 < hl2) and (hlc3 < hlc3) and (close < close), -1, nz(GetBgColor[switch?ShowConsolidation:1], 0) )) SelectBgColor = GetBgColor == -1 ? red: GetBgColor == 1 ? green: na bgcolor(SelectBgColor, transp = 85)
Hope you doing well, I was looking at your script and can't figure out what are you doing here, would you mind to explain it?
I see that if 'switch' variable is 'true' then you pass the ShowConsolidation variable '2' else a '1' . Are you accessing the previous values in GetBgColor by passing the number inside the square brackets? is GetBgColor a serie?
Thanks in advance!
This is a serie and the key is the "nz". But I can't tell you any more the though process behind this script, because it's 2 years ago that I coded it, sorry.