1992issue C111-2
Constructing a weighted-average TRIN10 with Bollinger envelopes
The finished breadth series starts as an open-trin10 ratio of averaged advancing and declining issues over averaged advancing and declining volume. That open ratio is centered with a midpoint-average, bounded by a bollinger-envelope two population standard deviations above and below that midpoint, restated as a band-normalized-reading on a 0-to-100 scale, and then passed through a five-day-weighted-average.
- The open-trin10 is a 10-session breadth ratio that first averages advancing and declining issues, then divides that issue ratio by the matching 10-session volume-average ratio.
- Envelope width is the population-standard-deviation of the open-trin10 window itself, not the dispersion of the midpoint-average.
- Each open-trin10 value is restated as a band-normalized-reading between the upper and lower bollinger-envelope bounds before any recency weighting is applied.
- The finished series is a five-day-weighted-average of the latest five normalized readings, using descending integer weights that sum to 15.
What this construction produces
This article walks through a historical market-breadth construction. The workflow builds an open-trin10, places that open ratio inside a bollinger-envelope, converts the location to a band-normalized-reading, and only then applies a five-day-weighted-average.
The open-trin10 is a 10-session breadth ratio built from averaged advancing and declining issues in the issue path and averaged advancing and declining volume in the volume path. Later steps do not replace that ratio. They locate it and then smooth the located reading.
Stage one: form the open ratio
The open-trin10 is formed by dividing the 10-session average of advancing issues by the 10-session average of declining issues, then dividing that result by the matching 10-session volume-average ratio.
The volume path uses the same lookback: a 10-session average of advancing volume over a 10-session average of declining volume. Both paths are averaged before they enter the ratio, and that open-trin10 series is the input to every later stage.
Stage two: draw the envelopes
A midpoint-average is then taken as a second 10-session simple moving average of the open-trin10 series. That midpoint-average is the centerline of the envelopes.
Envelope width is the population-standard-deviation of the open-trin10 values. It is not the standard deviation of the midpoint-average. Dispersion is taken across the open-ratio window itself and is used only to set envelope width.
The bollinger-envelope is the pair of bounds placed two population standard deviations above and below the 10-session midpoint of the open ratio. The upper envelope equals the midpoint-average plus two population standard deviations. The lower envelope equals that midpoint-average minus two population standard deviations.
Open TRIN10 with 10-day Bollinger envelopes

Open TRIN10 uses 10-day simple averages of advancing issues, declining issues, advancing volume and declining volume. The envelopes are the 10-day mean of Open TRIN10 plus or minus two population standard deviations of Open TRIN10, not of the mean.
Stage three: normalize, then smooth
The open-trin10 is then mapped onto a 0-to-100 scale as a band-normalized-reading. The reading equals 100 times the gap from the upper envelope to the current open-trin10, divided by the full gap between the upper and lower envelopes.
The finished series is a five-day-weighted-average of those band-normalized-readings. The smoother uses descending weights 5, 4, 3, 2, and 1, divided by 15. That recency-weighted average is applied only after the open-trin10 has been placed on the envelope scale.
All readings on this track · 20 readings
- 1988Indicator smoothing: lookback, weight, and scale
- 1990Recency weighting in simple, linear, and exponential moving averages
- 1990Seed and recurrence construction for moving averages
- 1990Constructing a five-day step-weighted moving average
- 1992Constructing simple, weighted, and exponential moving averages
- 1992Constructing moving averages with weighting schemes and extra filters
- 1992Constructing a weighted-average TRIN10 with Bollinger envelopes
- 1992Constructing a banded weighted open-TRIN oscillator
- 1993Evaluating a weighted dual rate-of-change momentum filter
- 1993Constructing equal, linear and exponential moving averages
- 1993Constructing a general weighted moving average from one exponent
- 1993Calibrating the weighted-moving-average exponent
- 1993Constructing an exponent-weighted average of put-call ratios
- 1994Cycle-tuned momentum with spectral peaks
- 1999How a five-bar sine-weighted average is assembled
- 2003Same-scale trend filter from a rolling least-squares endpoint
- 2003How a rolling linear-regression endpoint is assembled as a moving-trend
- 2004Constructing a volume-weighted moving average as a forecast baseline
- 2005Constructing a move, volume and recency weighted average
- 2016MACD as a zero-line filter with dual moving averages