Pivot Points and ATR: How to Detect Major Swings and Ignore the Noise
Every chart is covered in swing highs and lows. The hard part isn't finding them — it's knowing which ones matter. Get that wrong and every Fibonacci grid, every support line, every "level" you draw is built on noise.
This is the step that comes before the golden zone: identifying the structural pivots worth measuring from. Here's how pivot detection works, and how an ATR filter turns a messy chart into a short list of swings that actually move markets.
What a pivot point is
A pivot (or fractal) is a local extreme confirmed by the bars around it. A swing high is a candle whose high is greater than the highs of N bars to its left and N bars to its right. A swing low is the mirror image. That N is the pivot lookback (Phivote exposes it as "pivot bars").
- Small lookback (e.g. 2–3): many pivots, highly sensitive, lots of noise. Good for scalping fast timeframes.
- Large lookback (e.g. 8–15): fewer, more significant pivots that define the bigger structure. Good for swing and position trading.
One critical detail: a pivot can only be confirmed N bars after it forms, because you need the right-hand bars to exist. An honest implementation never marks a pivot earlier than that — the subject of non-repainting indicators.
The noise problem
Lookback alone isn't enough. In a choppy range, a small-lookback pivot fires every few bars, and even a large lookback produces "swings" that are really just a few ticks of wiggle. If you measured a Fibonacci grid from one of those, your golden zone would be a few dollars wide and utterly meaningless.
What separates a major swing from a minor one isn't how many bars surround it — it's how far price actually travelled.
A real swing displaces price. A noise swing just fidgets. The job of a good filter is to measure displacement against the market's own volatility.
ATR: a volatility-aware ruler
Average True Range measures how much an asset typically moves per bar. ATR(14) is the 14-period average of each bar's true range. Because it's denominated in the asset's own price action, it adapts automatically: a $2 move might be huge for a stablecoin pair and trivial for a high-beta altcoin.
Phivote uses ATR as a significance gate. For a pivot to count as a major swing, the distance from the previous opposite pivot must exceed:
If the move clears the threshold, it's structure. If it doesn't, it's chop and gets filtered out before it ever reaches your screen. The multiplier k is your sensitivity dial:
- Lower k (≈0.5): more swings qualify — more setups, more noise.
- Higher k (≈1.5): only large, decisive moves qualify — fewer, cleaner setups.
Tuning pivot bars and ATR by timeframe
There's no universal setting; sensitivity should scale with your horizon. A reasonable starting grid:
| Style | Timeframe | Pivot bars | ATR mult (k) |
|---|---|---|---|
| Scalp | 5m – 15m | 3 – 5 | 0.5 – 0.8 |
| Swing | 1H – 4H | 5 – 8 | 0.8 – 1.1 |
| Position | 4H – 1D | 8 – 15 | 1.0 – 1.5 |
Treat these as anchors, not gospel. Widen k when the market is whippy and you're getting too many marginal swings; tighten it when trends are clean and you want more entries.
Skip the manual tuning
Phivote applies ATR-validated pivot detection to every USDT perpetual at once — adjust pivot bars and the ATR multiplier and re-sweep the whole market in seconds.
Why this is the foundation
Structure first, everything else second. A validated major swing is what makes a Fibonacci retracement meaningful, what makes a golden zone tradable, and what gives your stop a logical home. Master pivot + ATR filtering and you've solved the problem that quietly sinks most discretionary strategies: trading levels that were never really there.
