First, the 50th percentile is calculated over the sampling period using the nearest rank method. I've found that this calculation is useful as a proxy for moving averages and other filters of that class.
Next, the channel levels are calculated. In this study, there are three channel methods to choose from:
-Percentile , which calculates using the 100th and 0th percentile ranks
-Percentile , which calculates the 50th percentile true range multiplied by a specified amount, then adds it to and subtracts it from the 50th percentile
-Percentile , which calculates 50th percentile standard deviation multiplied by a specified amount, then adds it to and subtracts it from the 50th percentile
I also included a squeeze box option within this script, which is derived from my original Squeeze Box tool.
This option detects squeezes in the specified channel's range by a specific percentage, and plots the channel values where the squeeze begins.
The box also has a range multiplier, which can be used to expand or contract its range.
Custom bar colors are included. The color scheme is based on the perceived trend over the specified sampling period.