The bounded stretch read
Each slot expresses source-minus-baseline in ATR units, scales the ratio by ATR Sensitivity, and passes it through a clamped sigmoid that lands inside 0..100. The bounding is what makes a 5m slot on one instrument comparable to a 60m slot on another without a price-space rescale. The honest tradeoff: at the extremes, magnitude is compressed on purpose — two readings of 95 and 99 are not a calibrated distance apart. Verify by nudging ATR Sensitivity up and watching the read pile closer to the pane edges without leaving the band.
The per-slot Fast-and-Slow pair
Every slot carries a Fast line (the bounded stretch read) and a Slow line built by running the chosen slow MA family on the Fast magnitude series, then clamping to 0..100. The separation means Fast can be reactive and Slow can be calmer, or the reverse, and the two can come from different MA families. That is the classification axis for MA Osc 0N Is Bullish and MA Osc 0N Is Bearish. Verify by changing a slot's Slow Type at a fixed length and watching the Slow respond differently while Fast holds steady.
Safe-MTF and per-slot On Bar Close?
Higher-timeframe reads go through request.security with the safe-MTF pattern, and every slot exposes its own On Bar Close? toggle. ON returns the previous higher-timeframe bar's Fast and Slow from inside the security expression — stable on confirmed history, slower on the live bar. OFF returns the live higher-timeframe values and can repaint on that bar until it closes. A mixed configuration is a real option because STR exposes the switch per slot; the composite inherits the least stable posture where the weights sit. Alerts are confirmed-bar gated regardless of the toggle. The slot-timeframe rule is enforced in code and fails loudly with a named runtime error rather than a silent misread. Verify by flipping a single slot's toggle and watching only the live chart bar's last value move.
The weighted composite and Blended Smoothing
The composite is a weighted average of enabled slots that produced a Fast value on the current bar, divided by the active contributing weight rather than by a fixed 100. Adding or removing a slot changes the relative meaning of every remaining weight. A weight of 0 keeps the slot on the pane and out of the composite. Enable Smoothing applies one more MA pass to the composite Fast and Slow and re-clamps the result. It reduces noise and adds lag on purpose. Verify by setting every weight to zero except one, confirming the composite tracks that slot, and then raising a second weight and watching the composite drift.
BBWP on the composite — not on chart price
Bollinger Band width here is computed on the composite Fast line itself. The result is percentile-ranked across the configured lookback and plotted with the title Blended BBWP to make that explicit. This is the right construction when the question is expansion and contraction of the blended stretch read; it would be the wrong construction if the question were chart-price volatility. Verify by hovering the BBWP plot in the data window and confirming the series label.
Pivot-confirmed divergence
Divergence is constructed from chart-price pivots with matched left-and-right strength. A newly confirmed price pivot is compared against the previous confirmed price pivot, and the composite Fast at the same pivot offset is compared against the composite at the previous offset. A marker cannot print until the pivot has confirmed on both sides. Plot On Pivot? takes an already-confirmed marker and positions it on the original pivot bar via a negative plot offset — that is placement, not prediction. Confirmation-gated divergence is later than eyeball divergence, on purpose. Verify by toggling Plot On Pivot? on a historical marker and watching it move between the confirmation bar and the pivot bar without changing what the marker says.