Still have questions?
Contact support

# Accumulation Distribution Line (ADL)

## Overview

Developed by Marc Chaikin, the Accumulation Distribution Line is a volume-based indicator designed to measure the cumulative flow of money into and out of a security. Chaikin originally referred to the indicator as the Cumulative Money Flow Line. As with cumulative indicators, the Accumulation Distribution Line is a running total of each period's Money Flow Volume. First, a multiplier is calculated based on the relationship of the close to the high-low range. Second, the Money Flow Multiplier is multiplied by the period's volume to come up with a Money Flow Volume. A running total of the Money Flow Volume forms the Accumulation Distribution Line. Chartists can use this indicator to affirm a security's underlying trend or anticipate reversals when the indicator diverges from the security price.

Find the mathematical description of the indicator on the Accumulation Distribution Line (ADL) Mathematical Description page.

## Adding Indicator

ADL indicator is added through the adl() method. It requires a mapping with five fields in it: `"open"`, `"high"`, `"low"`, `"close"`, and `"volume"`.

``````// create data table on loaded data
var dataTable = anychart.data.table();

// add data to a table
dataTable.addData(get_data());

// map loaded data
var mapping = dataTable.mapAs({"high": 1, "open": 2, "low": 3, "close": 4, "volume": 5});

// create stock chart
chart = anychart.stock();

// create plots on the chart
var plot0 = chart.plot(0);
var plot1 = chart.plot(1);

// create ADL indicator
var adl = plot1.adl(mapping).series();
``````

Note that ADL indicator needs to be built on a separate plot due to rather huge difference between the indicator values and the data values.

Here is a live sample:

It is possible to change the series type any time using the seriesType() method.

## Visualization

Visualization of an indicator depends on series type. Here is a sample where ADL indicator is visually adjusted:

``````// adjust ADL indicator
var adl = plot1.adl(mapping).series();
adl.seriesType("area");
adl.fill("#E5BE01");
adl.stroke(null);
``````