Smart Scanners › Market structure
Spring and upthrust
Price penetrated the boundary of a trading range and closed back inside within a few bars. The bullish case is a spring, the bearish an upthrust.
What it looks like on a chart
A horizontal line at the range boundary that was penetrated, drawn forward from the recovery bar.
Where the definitions disagree
The trading range is built from the bars strictly before the break — a window containing the break bar cannot be broken by it, since the rolling minimum would already be that bar's own low. The width filter reads volatility at the bar before the break too, so both the range and its admissibility are settled before the break prints. The lookback is the free parameter and the source does not fix it; ours is named on every event.
| Timeframe | Bars of history it reads | Settings | Events, last 30 days |
|---|---|---|---|
| M15 | 120 | lookback 20 bars before the break, recovery limit 3, range wider than 8 ATR rejected | 5381 |
| M30 | 120 | lookback 20 bars before the break, recovery limit 3, range wider than 8 ATR rejected | 2645 |
| H1 | 120 | lookback 20 bars before the break, recovery limit 3, range wider than 8 ATR rejected | 1286 |
| H4 | 120 | lookback 20 bars before the break, recovery limit 3, range wider than 8 ATR rejected | 331 |
| D1 | 120 | lookback 20 bars before the break, recovery limit 3, range wider than 8 ATR rejected | 48 |
Related scanners
- Equal highs/lows two swings at the same price, one way a range boundary gets drawn
- Prior day extreme the same penetrate-and-close-back-inside, at yesterday's extreme rather than a range boundary
- Turtle Soup the daily version: a twenty-session extreme printed and given back