ADOSC
ADOSC
Summary
Chaikin A/D Oscillator: the difference between a fast and a slow EMA of the Accumulation/Distribution line. Highlights momentum in accumulation/distribution volume flow. Positive/rising suggests accumulation; negative/falling suggests distribution.
Formula
ad += ((close-low)-(high-close))/(high-low) * volume (only when high>low)
fastEMA = fastk*ad + (1-fastk)fastEMA, fastk = 2/(optInFastPeriod+1)
slowEMA = slowkad + (1-slowk)*slowEMA, slowk = 2/(optInSlowPeriod+1)
ADOSC = fastEMA - slowEMA
Inputs
inHigh— High price of each barinLow— Low price of each barinClose— Close price of each barinVolume— Volume of each bar
Outputs
outReal— Fast-EMA minus slow-EMA of the A/D line
Parameters
| Parameter | Type | Default | Accepted values | Description |
|---|---|---|---|---|
optInFastPeriod | integer | 3 | 2–100000 | Period of the fast A/D EMA |
optInSlowPeriod | integer | 10 | 2–100000 | Period of the slow A/D EMA |
Properties
Numerical Stability: Path-Dependent — It also computes EMA internally, so EMA's unstable period governs how many leading values are discarded.
| Display Flags |
|---|
| ☐ Overlap Input |
| ✅ Independent Y-Axis i |
| ☐ Candlestick |
Implementation
TA-Lib Definition: adosc.c · adosc.yaml
| Native | File |
|---|---|
| C | ta_ADOSC.c |
| Rust | adosc.rs |
| Java | Core_ADOSC.java |
TA-Lib is also available for Python, R and more using a wrapper.
Aliases
Chaikin A/D Oscillator, Chaikin Oscillator
See Also
References
- Marc Chaikin