Back to Guides
Guide

Aroon Indicator Formula, Period and What 100 Means

The Aroon indicator formula, worked with real numbers: what the two lines count, why published defaults differ, what 100 means, and which values can print.

The Aroon indicator formula is Aroon-Up = ((n - periods since the n-period high) / n) x 100, with Aroon-Down the same calculation using the n-period low. Both lines run from 0 to 100, and they count elapsed time, not price.

Every source agrees on the formula. They disagree on which number to put in for n, where published defaults are 14 and 25 and one page demonstrates with neither, and on what a reading of 100 tells you.

What is the Aroon indicator formula?

StockCharts prints it with 25 in place of n:

Aroon-Up   = ((25 - Days Since 25-day High) / 25) x 100
Aroon-Down = ((25 - Days Since 25-day Low)  / 25) x 100

On a 25-period setting, if the highest high of the last 25 bars happened 3 bars ago:

Aroon-Up = ((25 - 3) / 25) x 100 = 88

If the high is the current bar, the count is 0 and Aroon-Up is 100. If the high is as old as the window allows, the value falls towards 0. Nothing in the calculation looks at how far price moved, only at how long ago the extreme happened.

Aroon-Down works identically on lows. The two lines are plotted together so you can see which extreme is more recent.

What is the Aroon indicator?

It is a pair of lines that measure how recently price set a new high or low over a lookback window, built to tell you whether a market is trending at all. It was "Developed by Tushar Chande in 1995", and the name comes from Sanskrit: ""Aroon" means "Dawn's Early Light" in Sanskrit. Chande chose this name because the indicators are designed to reveal the beginning of a new trend" (StockCharts).

Aroon measures time, not price. Two markets that rose by very different amounts can print the same Aroon value, because all the calculation asked was how many bars ago the high happened. StockCharts says so plainly: "Keep in mind that Aroon measures the time elapsed, not the price."

What period should I use for the Aroon indicator?

There is no settled default. StockCharts publishes 25 and two other guides publish 14, so a number copied from a tutorial is a choice rather than a standard. A third demonstrates with 20, which no page calls a default.

What each source publishes:

SourceThe period it publishes
chartschool.stockcharts.com"The default parameter setting in SharpCharts is 25"
forextester.com"They use a 25-period Aroon indicator as a standard", and "Adjust the period, often set to 25 by default"
tradingsim.com"The default Aroon period is 25, which Tushar Chande originally calibrated for daily charts", with "9-14 periods for intraday day trading"
lightningchart.com"n: Time period count, 25 is the most common value", and its own code sample sets 25
alchemymarkets.com"default 14-period setting", twice, including "The default 14-period setting works well for most traders"
earn2trade.com"The indicator generally has a 14-period (typically days) timeframe", then "Although 14 is the default, setting the indicator for longer time periods is also possible. Setting the indicator to 25 periods is not at all uncommon"
timothysykes.com"Faster settings like a 14-period Aroon can provide quicker signals" for short-term trading

earn2trade publishes 14 as the default and then demonstrates with neither 14 nor 25. Its worked example uses a 20-period window: "Aroon Up = (20 – No. of days since 20-day High) * 100 / 20", and then "(20 – 2) * 100/20 = 90". The arithmetic is right. The period is not the one the same page called its default.

No period comes with a test behind it, so there is no number to recommend. The choice changes more than "smaller is more responsive" suggests.

Which Aroon readings can actually print?

Only multiples of 100 divided by your period, which means some of the levels people trade cannot occur at all on some settings.

The periods since the extreme is a whole number of bars, so Aroon can only take the values ((n - k) / n) x 100 for whole k. The gap between neighbouring values is 100 / n:

  • At n = 25 the step is 4, so the printable values are 100, 96, 92 and so on down to 4 and 0. There is no 50 on that list.
  • At n = 14 the step is about 7.14, and k = 7 gives exactly 50.
  • At n = 20 the step is 5, and k = 10 gives exactly 50.

StockCharts reaches the same conclusion for its own default and shows the working: "Because 12.5 days marks the exact middle, a reading of exactly 50 is impossible on a daily chart, though it is possible with other timeframes. Aroon is either below 50 (48) or above 50 (52) on daily charts", with "(25-13)/25 x 100 = 48".

What decides whether 50 can print is not the timeframe, it is whether the period is an odd or an even number of bars. Aroon hits exactly 50 when k is half of n, which needs n to be even. So on a 25-period setting the value 50 never prints on any timeframe, hourly or weekly included, while on a 14 or 20-period setting it prints whenever the extreme is exactly half a window old.

So "Aroon-Up crosses above 50" is not one rule. On an even period it is a rule about a value the line can land on exactly. On a 25-period setting the line jumps from 48 to 52, and the crossing becomes an event you have to define yourself before you can count it.

What does an Aroon reading of 100 mean?

It means a new extreme has just been set: the high, or the low, is the current bar. On StockCharts' reading that is a trend emerging or continuing.

Two other guides take the opposite view of the same number, and both describe a sustained 100 as exhaustion:

  • "the Aroon lines at level 100 indicate that the market has been trending for too long and might be overbought or oversold, and the price may start a counter move very soon" (tradingsim.com).
  • "if Aroon-Up remains high (close to 100) for an extended period, the market may be overbought, signaling a potential reversal or price correction" (timothysykes.com).

And one page prints both readings inside a single paragraph: "the third signal comes when the Aroon-Up indicator reaches the 100 level, and the Aroon-Down reaches 0. These levels usually suggest a potential trend reversal. However, when the Aroon-Up indicator hovers around 70 to 100, the uptrend is likely to continue" (howtotrade.com).

The construction supports continuation. A value of 100 says the newest bar set the extreme, which is a statement about recency and nothing else. For it to mean the move is overextended, the calculation would have to know something about how far price has travelled, and it does not look at that at all.

The exhaustion reading does not follow from the formula, and no published figure settles it either way. Pick one version, write it down, and find out.

What do the 50 and 70/30 levels mean on the Aroon indicator?

The 50 level is the midpoint of the lookback window, so it separates "the extreme happened in the recent half" from "the extreme happened in the older half". StockCharts puts the cutoff plainly: "50 is the cutoff point", and below it, "readings below 50 mean a 25-day high or low has not been recorded in 13 or more days".

Above that sit the common 70 and 30 thresholds, which are stricter versions of the same idea. A reading over 70 on a 25-period setting means the extreme is less than eight bars old. The pair is usually published together, with Aroon-Up high and Aroon-Down low read as an uptrend and the reverse as a downtrend.

On a 25-period setting, "over 70" means 72 or more, because 70 itself cannot print.

Three readings worth knowing, all from StockCharts:

  1. Emerging trend, in three stages. "There are three stages to an emerging trend signal. For an uptrend signal, the first stage occurs when Aroon-Up moves above Aroon-Down." The crossover is the first stage, not the whole signal.
  2. Consolidation. "The Aroon indicators signal a consolidation when both are below 50 and/or both are moving lower with parallel lines." Both lines low and roughly parallel means neither a new high nor a new low has happened lately, which is what flat trading looks like through this lens.
  3. The scan it publishes looks for both lines below 20, then watches which one breaks above 50 first.

Aroon indicator vs Aroon oscillator

They are the same calculation, read two ways. The oscillator is the difference between the two lines, which changes its range and therefore what a "positive value" statement can mean.

Aroon Oscillator = Aroon-Up - Aroon-Down

A charting library's documentation works it: "Aroon Price Oscillator = 80 – 20 = 60" (lightningchart.com). Because each line runs 0 to 100, their difference runs from -100 to +100, with zero as the pivot.

So any sentence about positive and negative values belongs to the oscillator alone. The two lines never go negative. If you read "positive values suggest an uptrend" on a page about the Aroon indicator, check which of the two objects it is describing, because on the two-line version there is nothing below zero to discuss. The oscillator is built from the two lines, so it cannot hold anything they do not already contain.

Aroon vs ADX

Both answer "is there a trend", and they get there from different inputs. ADX is built from directional price movement, Aroon from elapsed time since an extreme.

Because Aroon only asks how long ago the high was, a slow, shallow drift that keeps nudging new highs can hold Aroon-Up near 100, while a measure built on the size of the moves would read the same drift as weak. They are not interchangeable trend meters.

One guide sets Aroon beside the Stochastic Oscillator instead, and its similarities section applies the words overbought and oversold to both at once: "Both indicators shine when markets are less volatile. They're designed to signal overbought or oversold conditions or trend strength" (alchemymarkets.com). Its own comparison table, directly underneath, files overbought and oversold with the Stochastic and gives Aroon "Confirming whether a trend is strong or fading", which is the version that matches the formula.

Why can't I find the Aroon indicator in MT4 or MT5?

Because it is not one of MetaTrader's built-in indicator functions. MetaTrader's own indicator function list names 39, one of which is iCustom, the hook for loading an indicator you supply yourself. That leaves 38 built-in functions, and Aroon is not among them.

Aroon is a default elsewhere. It is StockCharts' own charting default at 25 periods, and a commercial charting library ships it with a sample that sets the period to 25. So a search for "aroon indicator mt5 download" is looking for something a third party has to supply.

Whatever you install, you are trusting someone else's reading of the formula, including which period they defaulted to and whether their window counts the current bar. Two published defaults disagree, and the period decides which values can print at all.

Aroon is built into ChartLabs, under Standard in the Indicators menu, and so is the Aroon Oscillator as a separate indicator. Both follow TA-Lib and both default to Length 14, which is the 14 in the table above, not StockCharts' 25. Each indicator you add takes its own colour and line style, and you can edit one instance without changing the others, so you can put a 14 and a 25 on the same chart and watch them disagree. Nothing backtests it for you, so the indicator plots the lines and leaves the counting to you.

How would you test whether the Aroon indicator does anything?

Fix the period, write the rule so a stranger could follow it, then step the chart forward bar by bar and count.

Define your crossings in printable values. Because the line moves in steps of 100 divided by the period, "crosses 50" has no meaning on a 25-period setting until you say what you mean: the first print of 52 or higher, or the first print above 48, or something else. Those are different rules and they will fire on different bars. Write the number down, not the level.

Then the usual discipline:

  1. One period, stated. Change it later as a separate test, not mid-run.
  2. The trigger as a printable value, as above.
  3. What the other line has to be doing at the same time, if your rule uses both.
  4. The stop and exit, decided in advance.
  5. The size, fixed as a percentage rather than judged in the moment.

Replay in ChartLabs moves bar by bar, and historic trades snap to candle boundaries on your chart's timeframe. Your timezone setting changes the times you see, not how the bars are grouped. Commission and slippage are applied per symbol, so profit and loss reflects what trading actually costs, which matters for any rule built on crossings, because crossings are frequent.

Count every occurrence, including the ones you would have talked yourself out of.

For the method, our beginner's guide to backtesting a trading strategy walks the process, and forex backtesting covers the session and spread effects that will move your numbers around if you are testing currencies.

Settle it with a count

Aroon is easy to test, because the formula is public and its output is discrete. Pick the period, write the crossing as a number, and step through a few hundred bars on an instrument you actually trade.

ChartLabs is a manual backtesting platform for forex, indices, commodities and crypto, with cleaned data from Dukascopy, a 7-day free trial and no card required to start.

Start the free trial

Related Topics

aroon-indicatoraroon-oscillatorindicator-formulatrend-indicatorsindicatorsbacktesting