Renko No Repaint Indicator: ATR Bricks on a Time Chart

Written by Dominic Walsh · Published · Last updated

The renko no repaint indicator draws Renko brick levels onto an ordinary time chart. Brick height comes from ATR, so it adapts as volatility changes. Renko Brick Top and Renko Brick Bottom mark the current brick, and arrows print when a new brick opens either way.

This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.

Platforms MT4 (.ex4) + MT5 (.ex5)
Chart window Main price chart
Plots 4: Renko Brick Top, Renko Brick Bottom, Renko Buy, Renko Sell
Alerts popup, push notification, email, sound
Inputs 10

What the Renko no repaint Indicator draws on the chart

Renko Brick Top (blue) marks the upper edge of the current brick.

Renko Brick Bottom (orange) marks its lower edge.

An up brick completing puts Renko Buy (lime, code 233) under that bar.

A down brick puts Renko Sell (red, code 234) above the bar instead.

  • Renko Brick Top: line, dodger blue, width 2
  • Renko Brick Bottom: line, orange red, width 2
  • Renko Buy: arrow, lime, width 2, arrow code 233
  • Renko Sell: arrow, red, width 2, arrow code 234
EURUSD H1: the renko no repaint indicator with Renko Brick Top stepping up and a Renko Buy arrow.
EURUSD H1: the renko no repaint indicator with Renko Brick Top stepping up and a Renko Buy arrow.

How the Renko no repaint Indicator calculates its values

Sizing the brick

Brick height comes from ATR multiplied by BrickAtrFactor. That ATR gets built by hand: a true range per bar, seeded with a simple average, then smoothed the Wilder way over AtrPeriod bars.

FixedPipsBrick overrides all of it once you set a value above zero. The code works out pip size itself, treating three and five digit symbols as fractional pricing.

Building the bricks

Two anchors hold the top and bottom of the current brick. Once a close pushes at least one brick height past the upper anchor, the code counts how many whole bricks fit into that move.

Both anchors then jump to the new level. A move worth three bricks shifts the anchor three bricks at once rather than drawing three separate steps.

Where the no repaint part comes in

ConfirmOnClose decides whether a brick can form from an unfinished bar. It defaults to true, which restricts the check to bars that have already closed.

Leave it on and a brick that has appeared stays put. Turn it off and a level can shift while the current candle is still forming.

How to read the signals

Both brick levels step rather than glide. Between steps they hold flat, however far price wanders inside the brick.

A wide gap between steps means volatility rose, since brick height comes from ATR.

Renko Buy marks the bar that finished an up brick, not the bar that started the move.

Several bricks completing on one bar is normal in a fast move and still produces a single arrow.

Alert channels in this build: popup, push notification, email and sound, one message per closed bar.

Alerts cover popup, push, email and sound when a new brick completes. A bar time check limits it to one alert per closed bar.

Every Renko no repaint Indicator input

Core settings

Setting What it does Default
AtrPeriod ATR window for brick size. AtrPeriod is the true range window that sizes the brick. It defaults to 14. 14
BrickAtrFactor brick = ATR * factor (price units). BrickAtrFactor multiplies ATR to get brick height, 0.5 by default. Raising it makes bricks taller and steps rarer. 0.5
FixedPipsBrick >0 overrides ATR brick (pips). FixedPipsBrick replaces the ATR sizing with a fixed pip height. It defaults to 0.0, leaving the ATR method in charge. 0.0
ConfirmOnClose only emit on closed bar (true = non-repaint). ConfirmOnClose restricts brick formation to closed bars. It defaults to true, and that is what stops levels moving. on

Alert settings

Setting What it does Default
EnableAlerts (see inputs panel) on
EnablePopup (see inputs panel) on
EnablePushNotify (see inputs panel) off
EnableEmail (see inputs panel) off
EnableSound (see inputs panel) off
SoundFile (see inputs panel) alert.wav
Inputs panel for the renko no repaint indicator showing AtrPeriod, BrickAtrFactor and ConfirmOnClose.
Inputs panel for the renko no repaint indicator showing AtrPeriod, BrickAtrFactor and ConfirmOnClose.

Settings that fit your chart

The screenshot uses EURUSD H1. Bricks sized from ATR travel between symbols without retuning, which is the point of a factor rather than a fixed pip figure. On M5 and M15 the steps come often enough to follow intraday swings. On daily charts one brick can take weeks to complete at the default factor.

When the Renko no repaint Indicator fails

This family throws away time. Ten quiet bars and one fast bar can sit inside the same brick, so the levels say nothing about how long a move took.

Brick height moves with ATR, so you cannot compare levels from one part of the chart against another.

Turning ConfirmOnClose off removes the very property the name refers to. Levels can then shift while the candle keeps forming.

A move stalling just short of the next brick leaves the levels flat for a long stretch, even though price has clearly gone somewhere.

Copy the compiled Renko no repaint Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.

Background reading on the method behind the Renko no repaint Indicator: Abnormal return on Wikipedia, Cme Futures And Spot Prices at StockCharts ChartSchool.

Download the Renko no repaint Indicator for MT4 and MT5

The zip holds the compiled Renko no repaint Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. Enter your email below and the download link arrives in your inbox.

Download this indicator free

Enter your email and the file is yours. You also get the full MT4 and MT5 library.

  • 1,380+ indicators
  • MT4 and MT5 files
  • No spam, unsubscribe any time

FAQ

What decides brick height if FixedPipsBrick stays at 0.0?

It comes from ATR. The code builds a Wilder smoothed true range over AtrPeriod bars and multiplies it by BrickAtrFactor, which defaults to 0.5. Brick height then rises and falls with volatility. Setting FixedPipsBrick above zero replaces that with a constant pip height instead.

What does ConfirmOnClose actually lock in?

It restricts brick formation to bars that have finished. With it on, a level already on your chart cannot move afterwards, because the close creating it can no longer change. Switching it off lets a level shift while the current candle is still forming.

Why did Renko Buy print only once during a large move?

The code counts how many whole bricks fit the move and jumps the anchor by all of them at once. A move worth three bricks steps the level three bricks and prints one arrow, not three. That arrow marks the bar, not each brick.

Does this replace a proper Renko chart in MT4?

No. It projects brick levels onto a normal time chart, so your candles keep their usual spacing. A true Renko chart drops the time axis entirely. What you get here is the brick logic plus its levels, while keeping the timing information a time chart carries.

Are results guaranteed?

No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Renko no repaint Indicator as one input. Always backtest before trading live.

Category: this is part of our Signal and Forecast collection. Browse more Signal and Forecast for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.

External references

Dominic Walsh - Forex trader and MT4/MT5 developer

About the author

Written by Dominic Walsh, a Forex trader and MT4/MT5 indicator, Expert Advisor and script developer. Every tool on forexmt4systems.com is tested on live charts before release and ships with ready-to-use compiled MT4 (.ex4) and MT5 (.ex5) files. Learn more about the trader and developer behind this site.

How we build, test and correct every tool: Editorial & Testing Policy. Trading carries risk; see the disclaimer.

Leave a Comment