Dynamic ATR Renko Bars for NinjaTrader 8
The brick size follows the ATR, so bricks grow when the market gets busy and shrink when it calms down.
The brick size follows the ATR, so bricks grow when the market gets busy and shrink when it calms down.
A short showcase of ATR Renko bricks on a chart
NinjaCoding
1.24k subscribers
Why ATR Renko
A brick size that looks right in a quiet session is too small when the market gets busy, and one picked for a busy session hides the detail when things calm down. NC ATR Renko Bars measure the Average True Range of a timeframe you choose and size every brick from it, so the bricks grow when the market gets busier and shrink when it calms down.
Worked out again each time a brick closes, from the last finished timeframe bar. It stays fixed while the next brick builds.
The ATR of the timeframe you choose, times a whole-number Multiplier.
NC ATR Renko for classic, even bricks. NC ATR Renko-P for real prices only.
Built like NinjaTrader's own minute bars and ATR indicator. No second chart needed.
Use them as is, learn from them, or change them yourself or with AI like Claude.
Two versions, one download
Both versions use the same brick size. They differ in what each bar's open, high, low and close mean.
Even bricks, like NinjaTrader Renko
Bars of different heights, with wicks
The same 30 trades on an ES-type instrument with a 1.00-point brick, built by both versions. From the worked example in the user manual.
Which one to use
A strategy reads each bar's open, high, low and close. On NC ATR Renko the open and close are levels, and after a price jump whole bricks are filler, so a backtest can fill orders at prices that never traded at that moment. On NC ATR Renko-P every value is a real trade.
| NC ATR Renko | NC ATR Renko-P | |
|---|---|---|
| Looks | Even bricks, like NinjaTrader Renko | Bars of different heights, with wicks |
| Open | A level: the previous brick's close, or its open after a turn | A real trade: the previous bar's close |
| High / Low | The brick's top and bottom; wicks removed when it finishes | The real highest and lowest trades |
| Close | The level that was reached | The real trade that reached the level |
| Turn | Starts at the previous brick's open, one brick tall | Starts at the previous close, two bricks tall |
| Price jumps | Filler bricks with 0 volume | One taller bar |
| Building bar | Moves with price, then is redrawn as a clean brick | Moves with price and stays as it is |
| Best for | Reading the chart and spotting trends | Strategies, backtests, and indicators that use the open, high, low and close |
Settings
The length of the time bars the ATR is measured on, any whole number of minutes, such as 1, 5, 15, 60 or 240. It sets the scale: one brick is about the typical range of one bar on that timeframe, times the Multiplier. A longer timeframe gives bigger bricks, fewer of them and less noise.
How many finished timeframe bars the ATR averages. A long period gives a steady size that changes slowly; a short one follows changes in volatility faster.
The brick size is the ATR times the Multiplier, in whole steps. 2 doubles it, 3 triples it.
The first part of the loaded data is used for the warm-up. Use the Candlestick chart style to see the wicks of Renko-P bars and of the building bar.
No bricks appear until 3 × ATR Period timeframe bars have finished, so the ATR has settled before the first brick. Load at least these trading days, plus the days you want to see. On higher timeframes it's often better to lower the ATR Period than to load weeks of ticks.
| ATR Period | ATR Timeframe | Warm-up bars | Full futures session (23 h, e.g. ES) | Regular hours only (6.5 h, e.g. US stocks) |
|---|---|---|---|---|
| 14 | 5 min | 42 | 1 day | 1 day |
| 60 | 5 min (default) | 180 | 1 day | 3 days |
| 20 | 15 min | 60 | 1 day | 3 days |
| 14 | 60 min | 42 | 2 days | 6 days |
| 60 | 60 min | 180 | 8 days | 26 days |
| 14 | 240 min | 42 | 7 days | 21 days |
Who it's for
You change the brick size as the market speeds up and slows down. Let the ATR do it for you.
You trade instruments and sessions with very different volatility and want one setting that scales to each.
You want adaptive Renko you can backtest on real prices: Renko-P in the Strategy Analyzer, Market Replay or your own NinjaScript.
Before you buy
A brick size that moves has costs of its own. Here's what to expect.
Make it yours
Use them as is, learn from them, or change them yourself or with AI like Claude. No coding experience needed to start.
// in State.Configure: add NC ATR Renko-P as an extra series AddDataSeries(new BarsPeriod { BarsPeriodType = (BarsPeriodType)58, Value = 60, // ATR Period Value2 = 5, // ATR Timeframe (min) BaseBarsPeriodValue = 1 // Multiplier });
FAQ
NC ATR Renko-P. Its open, high, low and close are all real trades, and it has no filler bars. You can select NC ATR Renko in the Strategy Analyzer too, but its opens and closes are levels and its filler bricks contain no trades, so fills can happen at prices that never traded at that moment.
Either the loaded days don't cover the warm-up yet, or your data connection doesn't provide historical tick data for those days. The warm-up needs 3 × ATR Period finished timeframe bars before the first brick. Without tick history, only live trades build bricks, and the first brick appears once the warm-up has passed in real time.
Enough for the warm-up plus the days you want to see. The table under Settings shows how many trading days each combination needs, for a full futures session and for regular US stock hours.
Use the same timeframe, period and trading hours template on both. Right after the start of the loaded data the two can differ slightly, because each one starts from its own first bar. With plenty of history they match.
That's by design. The size follows the ATR and is worked out again each time a brick closes. On Renko-P, turns are two bricks tall and price jumps make taller bars.
When price reaches a level, the bar is redrawn as a clean brick and its wick disappears. NinjaTrader's own Renko does the same. A strategy running On each tick sees that last update, so the brick's open, high and low can change at that moment.
If NinjaTrader continues a chart from bricks it built earlier, the ATR history isn't available any more. The bars keep the last brick size until enough new data has arrived to warm the ATR up again.
No, it isn't used. The bricks run across sessions.
No, it takes whole numbers only. For a size between two steps, try a different ATR Timeframe instead: a longer timeframe gives bigger bricks.
Yes. NC ATR Renko is bars type 56 and NC ATR Renko-P is 58. Value is the ATR Period, Value2 the ATR Timeframe in minutes and BaseBarsPeriodValue the Multiplier. Add them with AddDataSeries in State.Configure.
The older ATR Renko files are probably still installed. In the NinjaScript Editor, open the BarsTypes folder, remove ATRRenko and ATRRenkoPrecise, and import again. Always import both NC ATR Renko Bars together from the same zip.
99.00 USD
Choose the License Type That Fits Best
Check Out What Else is Available