How far can price actually get from here?
A short guide to Holdfast ATR Band — free, no strings.
The problem this solves
You have a level in mind. Maybe it’s a target, maybe it’s where your stop has to sit for the trade to make sense. The question you can’t answer by looking at the chart is whether that distance is ordinary — the kind of move this instrument makes several times a session — or whether you’re quietly asking the market for something it hands out once a month.
Points don’t tell you. Twenty points is nothing on NQ and a large day on ZN. Ticks don’t tell you either. The only unit that travels between instruments is the instrument’s own recent range.
ATR Band draws that unit on your chart. It measures the Average True Range, then puts band pairs at multiples of it — 1x, 2x, 3x — measured out from the current price. Now the distance to your target is readable at a glance, in the only unit that means anything: how many normal moves away is it?
Install
- Tools → Import → NinjaScript Add-On… and select
HoldfastAtrBand.zip - Restart NinjaTrader
- Right-click a chart → Indicators… → add Holdfast ATR Band
Requires NinjaTrader 8. Any data feed, any instrument, any bar type — ATR Band reads price and nothing else. No market depth, no Rithmic MBO, no license, no expiry.
What you’re looking at
ATR Band draws on the price panel, anchored to the current price and projected to the right of the last bar:
───────────── +3x ATR
───────────── +2x ATR
───────────── +1x ATR
▁▂▃ candles ▅▆▇█▆▅▃▂
───────────── -1x ATR
───────────── -2x ATR
───────────── -3x ATR
Six lines, three pairs, each labelled with its multiple. They move with price, tick by tick.
The bands are symmetric on purpose. +2x
and -2x are always exactly the same distance from price,
because every band is measured from one anchor — the current close. That
sounds obvious, and it is, but it isn’t how every ATR band script
behaves: it’s common to anchor the upper bands to the bar’s high and the
lower bands to its low, which makes the two sides unequal and, on a wide
bar, can leave the lower 3x sitting above the
upper 1x. ATR Band was built to avoid that, so the reading
is never distorted by the shape of whichever bar happens to be
printing.
Reading it
The bands are not support and resistance. Nothing is defended at
+2x ATR; no order sits there because it is
+2x ATR. What they give you is scale.
1x is the ordinary move. Price crossing the 1x band is routine — it happens constantly, in both directions, and means nothing on its own.
2x is a real extension. A move that reaches 2x has gone meaningfully further than this instrument’s recent habit.
3x is unusual. Price gets there on news, on a squeeze, on a session that has genuinely repriced. If your plan needs a 3x move to work, the plan needs the market to do something rare.
The practical uses follow directly:
- Sanity-check a target. If your take-profit sits beyond 3x, you’re not wrong to want it — but you should know you’re asking for an outlier, and size or plan accordingly.
- Sanity-check a stop. A stop inside the 1x band is inside the noise. It isn’t a stop, it’s a coin flip against the instrument’s ordinary breathing.
- Judge how extended a move already is. Price pinned outside 2x after a run has already spent most of a typical day’s distance. That doesn’t mean it reverses — it means the easy part is behind you.
- Compare instruments honestly. “It’s 40 points away” means nothing across products. “It’s 2.2x ATR away” means the same thing on MNQ, CL, and ZN.
A caution worth taking seriously. ATR measures the recent past. After a volatility shift — a repricing, a data release, the first minutes of a session — the ATR is still describing the old regime, and the bands will be too narrow or too wide until the lookback catches up. The bands are a scale, not a forecast, and they lag exactly as much as their period does.
Settings
ATR
| Setting | What it does | Default |
|---|---|---|
| ATR period | Lookback for the Average True Range. Shorter tracks the current regime faster and jumps around more; longer is steadier and slower to react to a genuine volatility change | 14 |
Bands
| Setting | What it does | Default |
|---|---|---|
| Show band 1 / 2 / 3 | Turn each band pair on or off independently | all on |
| Band 1 multiplier | ATR multiple for the first pair, drawn above and below price | 1.0 |
| Band 2 multiplier | Second pair | 2.0 |
| Band 3 multiplier | Third pair | 3.0 |
| Show price anchor line | Draws a line at the exact price the bands are measured from | false |
Multipliers accept any value from 0.01 to
100, so the three pairs don’t have to be 1/2/3. A common
alternative is 0.5 / 1.0 / 1.5 on a fast chart, where the
full 3x is off-screen most of the session and the useful detail is all
inside 1x.
Display
| Setting | What it does | Default |
|---|---|---|
| Line extent | How far the bands project right of the last bar — Short is about 15 bars, Medium 40, Long 90, scaled to your current zoom | Medium |
| Show labels | Labels each band with its multiplier, e.g. +2x ATR |
true |
| Show ATR in points | Appends the band’s distance from price in points,
e.g. +2x ATR (25.50) |
false |
| Label text size | 6 to 32 |
12 |
| Print debug values | Prints the anchor, ATR, and computed band prices to the NinjaScript Output window | false |
The extent is measured in bars of your current chart, not pixels, so the bands keep the same visual proportion when you zoom rather than shrinking to a stub or running off the screen.
Styles
| Setting | Default |
|---|---|
| Band 1 line | DodgerBlue, solid, width 2 |
| Band 2 line | MediumSeaGreen, solid, width 2 |
| Band 3 line | IndianRed, solid, width 2 |
| Anchor line | Goldenrod, dotted, width 1 |
| Label color | White |
Each band line carries its own color, thickness, and dash style.
Three things worth knowing
Turn on “Show ATR in points” once, early. Seeing that 1x is 12.50 points on your instrument at your usual time of day is the number that actually recalibrates your intuition. Once it has, turn it back off and let the multiples do the talking.
Match the period to your chart, not to convention.
14 is the default because it’s the default everywhere, not
because it’s right for a 15-second chart. If the bands feel like they’re
describing a different market than the one you’re watching, that’s the
period talking — shorten it.
Re-check after a volatility shift. Same warning as any ATR tool: a period set in a quiet week is describing that quiet week. The bands will catch up on their own, but they’ll be wrong on the way there.
Troubleshooting
No bands appear. The chart needs at least ATR period bars of history before anything can be computed. If it’s still empty after that, turn on Print debug values and check the Output window — it prints the anchor price, the ATR, and each computed band price, which separates “the calculation is wrong” from “the line is drawing somewhere you can’t see.”
The bands are drawn but I can’t see them. Almost always a scale problem: with a large multiplier on a zoomed-in chart, the bands are off the top and bottom of the visible price range. Zoom out, or lower the multipliers.
A band is missing but the others are fine. Check that band’s line style. A stroke that has been through a saved-template round-trip can come back with no brush or zero width, which draws nothing at all. ATR Band falls back to a plain gray line when it detects this, so a gray band where you expected a colored one is the signal — reset that band’s color in the settings.
The bands freeze when I switch chart tabs. They shouldn’t; ATR Band keeps calculating while inactive specifically so this can’t happen. If you see it, note what you were doing and send it in.
The bands look different from another ATR band indicator. Expected, and see the bands are symmetric on purpose above. ATR Band measures every band from one anchor. Many scripts don’t.
What to pair it with
ATR Band tells you how far. It’s deliberately silent on direction and on conviction, which is where the rest of the Holdfast tools come in:
- Holdfast Tide — which way the higher timeframe is running.
- Holdfast Grip — how much force is behind the move.
- Holdfast Liquidity Levels — where the resting orders actually are, so a target lands at a price the book cares about rather than a round number.
The combination worth having: a target that sits at a proven liquidity level and inside 2x reach, with the tide running your way. That’s a different trade from the same target picked off a chart.
You can see the rest at holdfastlevels.com.
Either way, ATR Band is yours to keep.
Holdfast ATR Band is chart-analysis software. It does not provide trading advice, signals, or recommendations. Futures trading involves substantial risk of loss and is not suitable for every investor. NinjaTrader is a trademark of NinjaTrader Group, LLC.