Methodology · Indicators · I.10
Pivot Support & Resistance (fractal method)
Measures: the price levels where the market has actually reversed before — the structural map that stops and targets anchor to. This is the only "subjective-looking" indicator in the engine, so its algorithm is specified exactly.
Algorithm:
1. Fractal detection (window w = 5):
bar i is a pivot HIGH if H_i > H_j for all j in [i−5, i+5], j ≠ i
bar i is a pivot LOW if L_i < L_j for all j in [i−5, i+5], j ≠ i
(the last 5 bars can never be pivots — they lack a right side;
this is inherent, not a bug: fresh structure is unconfirmed)
2. Zone merging:
sort pivot levels; merge any levels within 0.5 × ATR of each
other into one zone at their volume-weighted mean
zone strength = number of merged touches
3. Nearest-level selection (relative to close):
resistance = lowest zone strictly above close × 1.004
support = highest zone strictly below close × 0.996
(0.4% buffer prevents treating a level price is *sitting on*
as meaningful overhead/floor)
4. Fallback when no zone exists in range:
close ± 2.5 × ATR, flagged "synthetic level" in the response
How Thresher uses it: Structure family room-asymmetry vote (±0.40); stop anchoring (II.5); structure targets (II.6). Zone strength ≥ 2 touches is preferred for targets when multiple candidates exist.
Limitations: pivots are timeframe-relative (a daily level is invisible to the weekly engine), the 5-bar window is a tunable that trades sensitivity for noise, and levels decay in relevance with age — v2 adds recency weighting to zone strength.