◆ New — Strategy Validator, Code Fixer & Prop Compliance Checker are live. Try one free →
Home / Indicators / Aroon
Trend indicator

Aroon

Measures how recently price hit its highest high and lowest low to help describe whether a trend is present or absent.

Illustrative diagram — not live market data.

What it is

Aroon is a trend indicator developed by Tushar Chande in 1995. It uses two lines, Aroon Up and Aroon Down, that each move between 0 and 100. Instead of measuring price or momentum directly, Aroon measures time: how many bars have passed since the most recent highest high (Aroon Up) and the most recent lowest low (Aroon Down) over a chosen lookback period. The idea is that in a strong uptrend, new highs happen often, so Aroon Up tends to stay high; in a strong downtrend, new lows happen often, so Aroon Down tends to stay high. The name comes from a Sanskrit word often translated as "dawn's early light." Nothing about Aroon is predictive; it describes what price has already done, and trading always carries risk of loss.

How it works

For a lookback period of N bars, Aroon Up = 100 × (N − number of bars since the highest high) / N, and Aroon Down = 100 × (N − number of bars since the lowest low) / N. If the highest high in the window is the current bar, "bars since" is 0 and Aroon Up = 100. If the highest high was N bars ago, Aroon Up = 0. Aroon Down works the same way using the lowest low. Both lines therefore sit between 0 and 100. A common default period is 25, though some platforms default to 14. A shorter period makes the lines react faster and flip more often; a longer period smooths them and reduces flips. Many platforms also plot an "Aroon Oscillator," which is simply Aroon Up minus Aroon Down, ranging from −100 to +100.

How traders read it

Common settings

A common default lookback period is 25, though some platforms use 14. Shorter periods such as 14 react faster but flip more often; longer periods such as 50 smooth the lines and reduce crossovers. The 70 and 30 levels are common reference lines (30 mirrors 70 for the opposite line), and 50 is often drawn as a midline.

Strengths

Pitfalls to watch

Pine v6 example

//@version=6
indicator("Aroon", overlay=false)

length = input.int(25, "Length", minval=1)

upper = 100 * (ta.highestbars(high, length + 1) + length) / length
lower = 100 * (ta.lowestbars(low, length + 1) + length) / length

plot(upper, "Aroon Up", color=color.orange)
plot(lower, "Aroon Down", color=color.blue)
hline(70, "Upper", color=color.gray, linestyle=hline.style_dotted)
hline(50, "Midline", color=color.gray, linestyle=hline.style_dotted)
hline(30, "Lower", color=color.gray, linestyle=hline.style_dotted)

Pro tip: Because Aroon can sit at 100 long after a move stalls, many traders pair it with a separate measure of price movement or volatility for context, rather than reading a high Aroon value as strength on its own. This is educational context, not a recommendation to trade.

Built an indicator from this? Run it through the Validator to catch look-ahead bias and repainting, or convert a strategy to Pine Script.

Educational only — not financial advice, not a recommendation to trade. No indicator is predictive; trading involves substantial risk of loss.

Catch the bug that compiles.Run auditGet Pro