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

It comes in three builds. Use whichever platform you trade; they read the same way.

NinjaTrader 8

  1. Tools → Import → NinjaScript Add-On… and select HoldfastAtrBand.zip
  2. Restart NinjaTrader
  3. Right-click a chart → Indicators… → add Holdfast ATR Band

MetaTrader 5

  1. File → Open Data Folder, then open MQL5\Indicators
  2. Copy HoldfastAtrBand.mq5 in
  3. View → Navigator, right-click Indicators, Refresh, then double-click it

TradingView

  1. Open the Pine Editor, paste HoldfastAtrBand.pine, and click Add to chart

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 labeled with how far it sits from price. 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
Timeframe Where the ATR is read from. Chart is the chart’s own bars. Any other timeframe, higher or lower than the chart, reads the ATR from bars of that size: 1 minute on a 15-second chart, 15 seconds on a 5-minute chart. Only the ATR comes from there; the bands are still drawn around this chart’s live price. NinjaTrader: Timeframe (Chart / Seconds / Minutes) plus Timeframe value. MetaTrader 5: current is the chart’s own, and its shortest is M1 Chart
Wait for timeframe closes (NinjaTrader: Wait for its bar to close) With another timeframe selected: on, each bar uses that timeframe’s ATR as of its last closed bar, so nothing repaints; off, the ATR of its forming bar, moving live true

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

The bands always sit behind the price bars, so no candle is ever shaded by one. There is no switch for it. On MetaTrader it is a chart setting and applies to every indicator on that chart; on TradingView a script cannot set it, so right-click the symbol and choose Visual Order → Bring to Front.

Setting What it does Default
Band display (TradingView, MetaTrader) Current draws one set of levels at the live price, projected right of the last bar and moving with every tick, as on NinjaTrader. Historical plots the bands on every bar so you can see where they stood; the last bar still updates live Current
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
Line label What each band says: Points reads 12.50 p, Ticks reads 50 t, None leaves the bands bare Points
Show ATR multiple in label Puts the multiple in front of the distance, e.g. +2x ATR 25.50 p false
Label text size 6 to 32 12

The label answers the question you actually have in front of a band — how far is that from here — in the unit you size in. The multiple is off by default because you chose the multipliers; the label would only be reading them back to you. Turn it on if you run several charts with different multiples and want each band to say which one it is.

The price anchor line carries no label. It sits on the price the bands are measured from, which the price axis is already telling you.

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

Read the labels for a session before you trust your instinct. Seeing that 1x is 12.50 points on your instrument at your usual time of day is the number that actually recalibrates your intuition — and it is the number the label shows by default. Switch it to Ticks if that is the unit your stops are in.

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 — of the Timeframe chosen — 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.