Bands at mean ± 2 standard deviations adapt to volatility automatically. Touch-and-revert works in ranges; in trends the band "walks" and every touch is another loss.
bb_upper/bb_lower = SMA(20) ± 2×rolling_std(20). Unlike fixed percentage envelopes, the bands widen when volatility rises — a 2σ touch is always "locally unusual".
Mean-reversion usage: price ≤ lower band → long, price ≥ upper band → short, exit near the middle band. The exit matters as much as the entry: reversion profits die if you hold for trend-sized targets.
Pair band touches with a regime filter (ATR%, or distance from SMA50) before trusting them. Test the combo on real bars in the playground.
Open the rule playground, build a condition with this indicator, and run it on 1,000 real bars — per-condition fire counts, entirely in your browser. Or lint it in Python with rulelint (MIT).
Research and education. Not investment advice. No indicator makes money by itself — our own arenas' honest records (losses included) are on the scoreboard.