I have previously posted this indicator here: Percent Range Flags. But it still needs some work.
Here is a better example. Looking at 5 bar segments, any 5 bars where the difference between the high and low is less than 1 percent: those are highlighted in yellow. Any other 5 bar length segments where the difference is over 2 percent: those are highlighted in gray.
I'm having to use the AddCloud() function to do the highlighting and as you can see it's real jagged. I'd much rather draw straight horizontal lines along the highest high and lowest low of the 5 bar segment. Any idea how this can be done?
Originally, when I wrote this indicator I concluded that I could only draw on current bars... NOT previous bars. But recently I realized this is not the case. It is possible to draw, or adjust previous bar plots. I see this done both in the built in TOS ZigZig plot and on the Consolidation Box: Breakout Indicator here on UseThinkScript.
Any help on this would be appreciated. If nothing else just some ideas to get me pointed in the right direction.
Here's my current code:
Here is a better example. Looking at 5 bar segments, any 5 bars where the difference between the high and low is less than 1 percent: those are highlighted in yellow. Any other 5 bar length segments where the difference is over 2 percent: those are highlighted in gray.
I'm having to use the AddCloud() function to do the highlighting and as you can see it's real jagged. I'd much rather draw straight horizontal lines along the highest high and lowest low of the 5 bar segment. Any idea how this can be done?
Originally, when I wrote this indicator I concluded that I could only draw on current bars... NOT previous bars. But recently I realized this is not the case. It is possible to draw, or adjust previous bar plots. I see this done both in the built in TOS ZigZig plot and on the Consolidation Box: Breakout Indicator here on UseThinkScript.
Any help on this would be appreciated. If nothing else just some ideas to get me pointed in the right direction.
Here's my current code:
Code:
# 2020 Paul Townsend v1.1
# Brekout Percent Bands
input length = 5;
input PctBelow = 1.0;
input PctAbove = 2.0;
def highLine = Highest(high, length);
def lowLine = Lowest(low, length);
plot Pct = Round((highLine - lowLine) / lowLine * 100, 1);
pct.hide();
AddLabel(yes, length + " Bar Pct= " + Pct, Color.WHITE);
#AddLabel(yes, "HL=" + highLine + " LL=" + lowLine + " Pct= " + Pct, Color.WHITE);
plot BoxHigh = if AbsValue(Pct) < PctBelow or AbsValue(Pct) > PctAbove
then highLine else Double.NaN;
plot BoxLow = if AbsValue(Pct) < PctBelow or AbsValue(Pct) > PctAbove
then lowLine else Double.NaN;
boxhigh.hide();
boxlow.hide();
AddCloud(if AbsValue(Pct) < PctBelow then BoxHigh else Double.NaN, BoxLow, Color.yellow, Color.white);
AddCloud(if AbsValue(Pct) > PctAbove then BoxHigh else Double.NaN, BoxLow, Color.white,Color.white);