Accumulation/Distribution (A/D) Indicator Class for MetaTrader 5

Accumulation/Distribution (A/D) Indicator Class for MetaTrader 5
Download ALL MT5 librarys (391)
YouTube Video Thumbnail



Similar MetaTrader Tools

Accumulation/Distribution (A/D) Indicator Class for MetaTrader 5

Info

The Accumulation/Distribution (A/D) Indicator Class for MetaTrader 5 is a Library for MetaTrader 5 that the accumulation/distribution (a/d) indicator class is designed for calculating accumulation/distribution values on indicator buffers. Usage:init()This method is called within the init() function with an optional parameter:int aperiod- This parameter specifies the indicator period.

Usage

This tool is typically used for enhancing chart analysis and decision making.

Platform

This Library works exclusively on MetaTrader 5 (both build 600+ and newer versions).

Setup

Place the downloaded file in MQL5/Libraries folder via File ? Open Data Folder in MetaTrader 5.


How to Install and Use Accumulation/Distribution (A/D) Indicator Class for MetaTrader 5

1. Storage: Place library files in the MQL/Libraries directory to ensure they are accessible to your projects.

2. Implementation: Include the library in your code using the #import directive, ensuring you match the exact function names and parameters.

3. Compilation: Ensure the library is present in the directory before you compile your main EA or script, as the compiler links them during this phase.

4. Management: Keep libraries organized in sub-folders if you manage many custom functions to maintain a clean project structure.

Frequently Asked Questions

Q: What is a library file used for? A: Libraries store reusable code modules, allowing you to centralize common logic used by multiple EAs or indicators.

Q: Is a library executable? A: No, libraries are non-executable files containing functions; they must be imported into an EA, indicator, or script to function.

Q: Can I update a library while the platform is running? A: You should compile your EA or script after updating a library to ensure the latest code changes are integrated.

What this tool does

The Accumulation/Distribution (A/D) Indicator Class is designed for calculating Accumulation/Distribution values on indicator buffers.

Typical Use Case

This Library excels in automated trading and technical analysis on MetaTrader 5.

Compatible Platform & Setup

This Library works on MetaTrader 5. Place the file in the MQL5/Libraries folder and restart the terminal.

Description & Settings

Related: Standard Deviation Calculation for Indicator Buffers - another powerful library for MetaTrader 5 traders.

The Accumulation/Distribution (A/D) Indicator Class is designed for calculating Accumulation/Distribution values on indicator buffers.

Also recommended: smooth algorithms - corrected/modified - similar library with strong performance on MetaTrader 5.


Usage:

init()
This method is called within the init() function with an optional parameter:

int aperiod
- This parameter specifies the indicator period. If set to 0 (default), the indicator calculates based on all chart bars, similar to the built-in terminal indicator. If any other positive value is provided, the calculation uses the specified number of bars (similar to a moving average principle) for each chart bar.

solve()
This method is called within the OnCalculate() function with the following parameters:

const int aratestotal
- This is the rates_total variable from the OnCalculate() function parameters.

const int aprevcalc
- This is the prev_calculated variable from the OnCalculate() function.

double adatahigh[]
- The buffer containing the high price data for indicator calculation.

double adatalow[]
- The buffer containing the low price data for indicator calculation.

double adataclose[]
- The buffer containing the close price data for indicator calculation.

double adatavolume[]
- The buffer containing the volume data for indicator calculation.

double aad[]
- The buffer to store the calculated A/D values.

Additional Methods:

int barsrequired()
- Returns the minimum number of bars required for indicator calculation.

string name()
- Returns the indicator line name.

A sample indicator, test_adonarray.mq5, demonstrates the application of the A/D class. The inconad_array.mq5 file should be placed in the mql5\include\inconad_array directory of your MetaTrader terminal's data folder. You may need to create the inconad_array subfolder.

The Accumulation/Distribution technical indicator is determined by price and volume changes. Volume acts as a weighting factor for price changes; a higher volume results in a greater contribution of the price change for that period to the indicator's value.

This class was last updated in 2026.

You may also like: Average Directional Movement Index (ADX) Calculation Class for MQL5 - excellent alternative for library users on MetaTrader 5.

Source Code

#property copyright "robotfx"
#property link "https://robotfx.org"
#property version   "1.00"
#property indicator_separate_window
#property indicator_buffers 5
#property indicator_plots   1
#property indicator_label1  "label1"
#property indicator_type1   draw_line
#property indicator_color1  clrred
#property indicator_style1  style_solid

.......

Leave your opinion, ask a question, share some knowledge

Limitations & Risk Warning

  • This tool is provided for educational and testing purposes only.
  • Past performance does not guarantee future results.
  • Trading involves substantial risk of loss. Use on a demo account first.
  • Results may vary depending on market conditions, broker, and settings.
  • We recommend thorough backtesting and forward testing before using with real funds.
© ROBOTFX Free educational tools by RobotFX. Use entirely at your own risk; we are not liable for any financial losses incurred.