# Accumulation vs Distribution Ranges

Accumulation vs Distribution Ranges is an indicator on [Vela](https://vela.luxalgo.com/chart), our next-generation charting platform, written in Pine Script®.

Detects consolidation ranges (a 20-bar window compressed within 2 ATRs by default), then scores five pieces of evidence (prior trend, rally vs decline volume, close location, springs vs upthrusts, boundary-test volume) into a live accumulation or distribution lean with a dashboard, probe markers, and alerts for lean flips and breakout resolutions.

- Indicator in the LuxAlgo Library, by LuxAlgo, published Feb 23, 2026.
- Access: free.
- Concepts: [Accumulation vs Distribution Ranges](https://www.luxalgo.com/library/concept/accumulation-vs-distribution-ranges/) (primary)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=z4glc35la517k8xeg3gss7pu
- Page: https://www.luxalgo.com/library/indicator/accumulation-vs-distribution-ranges/

**Accumulation vs Distribution Ranges** classifies a consolidation while it forms instead of after the break. When a detection window stays compressed within a volatility threshold, the build boxes the range and weighs the evidence behind [accumulation vs distribution ranges](https://www.luxalgo.com/library/concept/accumulation-vs-distribution-ranges/): the trend that led in, which side's moves run drier on volume, where closes sit, springs against upthrusts, and the volume drawn by boundary tests. The five scores average into a lean that recolors the range live, itemized on a dashboard.

## How to Trade the Accumulation vs Distribution Ranges?

- **Lean**: the label reads Accumulation, Distribution or Undecided with a strength percentage, a hypothesis about which breakout to trust, not a signal.
- **Springs and upthrusts**: boundary violations that recover before confirmation print as circles and count as evidence.
- **Resolution**: consecutive closes beyond a boundary resolve the range. A triangle marks the bar and the label records the regime (including re-accumulation and re-distribution) with a verdict mark grading the lean.

The breakout is the final word; the evidence keeps the hypothesis explicit and gradeable.

## Accumulation vs Distribution Ranges Settings

- **Formation Length** (default 20): bars in the detection window.
- **ATR Length** (default 200): volatility baseline for the compression test.
- **Range Height Threshold** (default 2.0): maximum window height in ATR multiples.
- **Resolution Confirmation** (default 2): consecutive closes beyond a boundary to resolve.
- **Context Lookback** (default 50): bars before the range measuring the prior trend.
- **Edge Test Zone %** (default 25): zone depth within which a bar counts as a boundary test.
- **Lean Threshold** (default 0.2): minimum average score before a lean is declared.
- Display: **Show Evidence Dashboard** (on) with **Location** (Top Right) and **Size** (Small), plus **Show Range Labels**, **Mark Springs & Upthrusts** and **Mark Range Resolutions** (all on).

## Frequently Asked Questions

### How does this differ from the Spring indicator?

The [Spring](https://www.luxalgo.com/library/indicator/spring/) build isolates one edge event (the failed push below support) and trades its recovery. Here springs and upthrusts are one of five evidence streams feeding a range-level classification, not entries.

### What does the lean percentage mean?

It is the absolute average of the five evidence scores. Below the Lean Threshold the range stays Undecided; above it, box, label and dashboard adopt the leaning side's color.

### Can a range resolve against its lean?

Yes, and the label says so: a cross mark beside the resolved regime records that the evidence pointed the other way. The lean is context, not a promise.

## Related indicators

- [Retest & Break Setup](https://www.luxalgo.com/library/indicator/retest-break-setup/) (Breakout-pullback-continuation): markdown at https://www.luxalgo.com/library/indicator/retest-break-setup.md
- [Range Detector](https://www.luxalgo.com/library/indicator/range-detector/) (Trading Range): markdown at https://www.luxalgo.com/library/indicator/range-detector.md
- [False Breakout](https://www.luxalgo.com/library/indicator/false-breakout/) (Market Structure): markdown at https://www.luxalgo.com/library/indicator/false-breakout.md
- [Fibonacci Ranges (Real-Time)](https://www.luxalgo.com/library/indicator/fibonacci-ranges-real-time/) (Trading Range): markdown at https://www.luxalgo.com/library/indicator/fibonacci-ranges-real-time.md
- [Range Intelligence Suite](https://www.luxalgo.com/library/indicator/range-intelligence-suite/) (Trading Range): markdown at https://www.luxalgo.com/library/indicator/range-intelligence-suite.md
- [Parabolic Phase](https://www.luxalgo.com/library/indicator/parabolic-phase/) (Market Structure): markdown at https://www.luxalgo.com/library/indicator/parabolic-phase.md
- [Bart Pattern](https://www.luxalgo.com/library/indicator/bart-pattern/) (Trading Range): markdown at https://www.luxalgo.com/library/indicator/bart-pattern.md
- [Range Average Retest Model](https://www.luxalgo.com/library/indicator/range-average-retest-model/) (Trading Range): markdown at https://www.luxalgo.com/library/indicator/range-average-retest-model.md

---

Source: https://www.luxalgo.com/library/indicator/accumulation-vs-distribution-ranges/ (LuxAlgo Library). Free to use with attribution: https://www.luxalgo.com/library/license/
