# Aroon

Also known as: Aroon up/down, Aroon oscillator.
A Trend concept (Trend strength & direction) in the LuxAlgo Library, with 1 indicator implementation.

## What is Aroon?

Aroon is a pair of lines Tushar Chande introduced in 1995 that measure time instead of magnitude. Aroon Up counts the bars since the highest high of the lookback window (25 periods is the common default) and rescales the count to 0-100, so a high printed this bar reads 100 and a high a full window old reads 0. Aroon Down does the same with the lowest low. The name comes from a Sanskrit word for the light of dawn, reflecting the goal of catching a trend near its start.

The arithmetic is worth seeing once: Aroon Up equals (n minus bars since the n-period high) divided by n, times 100. Nothing about the size of moves enters the formula, only their recency. That is the tool's entire personality: it asks when the last record was set, not how big it was, so a grinding trend of marginal new highs and a violent breakout can produce the same pinned reading.

In an uptrend new highs keep arriving, so Aroon Up pins near 100 while Aroon Down decays; downtrends mirror this. Many platforms also plot the Aroon oscillator, Aroon Up minus Aroon Down, which swings between +100 and -100. Because the input is recency of extremes rather than size of moves, Aroon can flag a persistent grind that momentum tools understate, and both lines sagging together flags a [trading range](https://www.luxalgo.com/library/concept/trading-range/).

The blind spots follow from the same design. Aroon says nothing about slope or force, so it pairs naturally with tools that do, and every reading is hostage to the window: a strong high rolling out of the lookback can swing the lines without any new price action. In choppy conditions the two lines cross back and forth freely, which is why the crossover alone is usually treated as a prompt for further checks, such as a [trend regime label](https://www.luxalgo.com/library/concept/trend-regime-label/) or an [MA slope filter](https://www.luxalgo.com/library/concept/ma-slope-filter/), rather than an order trigger.

## How to read Aroon on a chart

Aroon plots as two 0-100 lines (or one +100 to -100 oscillator) in its own pane, and each state maps to a simple statement about recent extremes.

1. Add Aroon with the default 25-period window (14 is the common shorter choice) beneath the price chart.
2. Check which line is on top: Up above Down says the latest record high is fresher than the latest record low, the basic directional state.
3. Look for pinning: a line holding near 100 means new extremes keep printing in that direction, the signature of an active trend.
4. Read both lines together: both below about 50 means neither a fresh high nor a fresh low has printed in half the window, the consolidation state.
5. If you use the oscillator form, treat zero crosses as the crossover event and distance from zero as dominance, then confirm with a magnitude-based tool before acting.

## How it's calculated

Measures how recently price set its n-bar high and low, scaled 0 to 100.

```
AroonUp_t = 100 × (n - b_high) / n
AroonDown_t = 100 × (n - b_low) / n
AroonOsc_t = AroonUp_t - AroonDown_t

  n: lookback length (commonly 14 or 25)
  b_high: bars elapsed since the highest high of the last n bars (0 when it is the current bar)
  b_low: bars elapsed since the lowest low of the last n bars (0 when it is the current bar)
  t: current bar index
  AroonUp_t: up line at bar t, range 0 to 100
  AroonDown_t: down line at bar t, range 0 to 100
  AroonOsc_t: Aroon oscillator at bar t, range -100 to +100
```

A reading of 100 means the extreme printed on the current bar; 0 means it printed n bars ago.

Some implementations scan n + 1 bars including the current one, which shifts values slightly.

Default length varies by platform, most often 14 or 25.

## How traders use it

- As a trend-onset signal: Aroon Up crossing above Aroon Down (or the oscillator crossing zero) says highs are now fresher than lows, often used as [breakout confirmation](https://www.luxalgo.com/library/concept/breakout-confirmation/).
- As a strength read: Aroon Up holding above about 70 with Aroon Down below about 30 is the conventional description of an established uptrend, mirrored for downtrends.
- As a consolidation filter: both lines below 50 means neither a new high nor a new low has printed in half the window, a cue to shelve trend entries.
- As an exit tell: a line decaying from 100 while price drifts sideways says records have stopped printing, an early hint that the trend is stalling even before any [reversal](https://www.luxalgo.com/library/concept/reversal/) structure forms.
- As one input in a regime stack: Aroon's time-based state combines well with slope- and magnitude-based checks such as an [MA slope filter](https://www.luxalgo.com/library/concept/ma-slope-filter/) or a [Supertrend](https://www.luxalgo.com/library/concept/supertrend/) state, since the tools fail in different conditions.

## Aroon vs other trend gauges

- **Moving Average Crossovers** (https://www.luxalgo.com/library/concept/moving-average-crossovers/): A crossover compares two smoothed price consensuses, so it needs the averages to converge and cross, which takes time. Aroon flips as soon as extremes stop refreshing, so it often reads a stall earlier but whipsaws more in chop.
- **Supertrend** (https://www.luxalgo.com/library/concept/supertrend/): Supertrend is a volatility-banded trailing state that flips on price crossing an ATR offset, built for following. Aroon is a diagnostic that grades trend freshness on a 0-100 scale rather than issuing a single flip state.
- **MA Slope Filter** (https://www.luxalgo.com/library/concept/ma-slope-filter/): A slope filter measures the direction and steepness of an average, a magnitude read. Aroon measures the recency of records, a time read; a market can grind to marginal highs and pin Aroon at 100 while every slope stays shallow.

## FAQ

### What is the difference between Aroon and ADX?

Aroon measures how recently the highest high and lowest low printed; [ADX](https://www.luxalgo.com/library/concept/adx-dmi-system/) measures how large directional movement is relative to range. A market drifting to marginal new highs can pin Aroon Up at 100 while ADX stays weak. Many traders treat them as complements: Aroon for timing when a trend starts, ADX for judging whether it has force.

### What is the best Aroon period setting?

There is no single best setting. Most references use 25 periods as the default, and 14 is a common shorter choice. Shorter windows flag trend changes earlier but whipsaw more; longer windows are steadier but confirm later. Match the window to the swing length you actually trade, and verify on your own market rather than trusting any default.

### How is Aroon calculated?

Aroon Up = ((n - bars since the n-period highest high) / n) x 100, and Aroon Down uses the lowest low the same way, with n the lookback (commonly 25). A record set this bar reads 100, one set n bars ago reads 0. The oscillator form subtracts Down from Up, giving a single line between +100 and -100.

### What do Aroon readings above 70 and below 30 mean?

They are the conventional strength bands. Aroon Up above 70 says a fresh high printed within roughly the last third of the window; the opposite line below 30 says the competing extreme is stale. The pair together describes an established trend. Like all fixed bands they are conventions rather than tested constants, so treat them as descriptions, not triggers.

### Is Aroon a leading or lagging indicator?

It is lagging in the strict sense that it only uses past prices, but its time-based design makes it react faster than smoothing-based tools at turning points: the moment records stop refreshing, the lines start decaying. The price of that speed is noise, since one marginal new extreme resets the count, which is why it is usually confirmed rather than traded alone.

### Should I use the two Aroon lines or the Aroon oscillator?

They carry the same information at different resolutions. The two lines show each side's freshness separately, which distinguishes a strong trend (one pinned, one decayed) from a volatile range (both elevated). The oscillator compresses that into one net line that is easier to scan and threshold. Chart watchers tend to keep both lines; systematic rules often prefer the single oscillator.

## Implementations in the Library

- Aroon (LuxAlgo, the standard build of the classic formula): https://www.luxalgo.com/library/indicator/aroon/

## Related concepts

- Trend Regime Label: https://www.luxalgo.com/library/concept/trend-regime-label/
- ADX / DMI System: https://www.luxalgo.com/library/concept/adx-dmi-system/
- Vortex: https://www.luxalgo.com/library/concept/vortex/
- Vertical Horizontal Filter: https://www.luxalgo.com/library/concept/vertical-horizontal-filter/
- Trend Intensity Index: https://www.luxalgo.com/library/concept/trend-intensity-index/
- R-squared Trend Fit: https://www.luxalgo.com/library/concept/r-squared-trend-fit/
- Kaufman Efficiency Ratio: https://www.luxalgo.com/library/concept/kaufman-efficiency-ratio/
- Correlation Trend Indicator: https://www.luxalgo.com/library/concept/correlation-trend-indicator/
- Random Walk Index: https://www.luxalgo.com/library/concept/random-walk-index/
- Trend-quality Composites: https://www.luxalgo.com/library/concept/trend-quality-composites/

---

Source: https://www.luxalgo.com/library/concept/aroon/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/