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

  1. Tools → Import → NinjaScript Add-On… and select HoldfastAtrBand.zip
  2. Restart NinjaTrader
  3. 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:

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:

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.