Daily ATR indicator

For a long time, I’ve been using Trader Dante’s daily ATR (or Datr) indicator. It’s a pretty helpful indicator that shows daily average volatility using the value of the ATR indicator when plotted on a daily chart.

These levels will give you a clue on how far the price has moved on that day. Often enough, you’ll even notice that these levels will actually be used as swing points, with the price moving into a level and then reversing. A beautiful example of this can be seen on the GBPUSD 1H chart above.

Recently, however, I wanted to add some extra features to it. So as a programming exercise, I set out to re-code it in MetaTrader 4. You can download the indicator below.

Update: I’ve now also created a TradingView version. You can find the indicator here.

How Does This Indicator Help Me?

By default, this indicator plots two levels per day. The upper level shows where the top of the daily ATR would be and the lower level shows where the bottom of the daily ATR would be.

When the price is near one of these levels, it simply shows that it has moved as much as the average true range for that day.

This can give you an indication of how likely a mean reversion is about to happen. It’s by no means a guarantee that any price reversal will happen but it can give you some context as to where the price is now, in relationship to how it moves on average.


For now, I’ve added the following features, which can be configured using the indicator properties:

Configurable ATR period

By default, this is set to 20 with the rationale that one month has about 20 trading days so that way, we’re getting the average daily price movement for the past month.

However, it could be useful to have a shorter ATR period, for example if you want to make recent price volatility more relevant.

Number of days to draw levels

This property allows you to plot historical ATR levels for past days. It is set to 1 by default (so the current day) but let’s say you want to have these ATR levels visible for the past 5 days, you can simply enter 5 here (or any other number).

Highest timeframe to show levels

With this setting, you can control on which timeframe you show the levels. For example, if you want to show the levels on the 4H and below but not on the daily, you can set this to “4 Hours” and it will hide the levels on anything above the 4H timeframe.

Configurable colors and styles

You can change the colors, font size, line style, whether to show labels or not and so on. This also allows you to choose a different color for when the price breaks one of the ATR levels.

4-digit broker

If you happen to use a 4 digit broker, setting this to true means that the label will show the correct number of pips/ticks. It will never influence how levels are drawn, it’s just a label display thing.

Because most brokers use 5 digits these days, it’s set to false by default.

Upcoming Features

This is just a start. I will most likely add the following features soon enough:

  • ability to plot ATR multiples (1.5x, 3x) on the chart
  • show alert or send push notification when an ATR level breaks
  • show a table of hourly, daily, weekly and monthly ATR values

Anything missing? Shoot me a message on Twitter (@smartfxlearning) or here and I’ll see what I can do.


To state the obvious: I make no claims that this indicator will make you money and I’m not responsible for any kind of losses you incur as a consequence of using this indicator. That said, I hope you find it useful.

▶️ Daily ATR download.

By the way, also check out my ATR Bands indicator!


I'm a full-time, independent fx and futures trader. I've been trading for over 14 years and specialize in price action trading, order flow, trading psychology and algorithmic trading. When I'm not trading, I'll either be traveling the world or rock climbing (likely both).

One Pingback/Trackback