CDemaOnRingBuffer Class for Double Exponential Moving Average (DEMA) Calculation

CDemaOnRingBuffer Class for Double Exponential Moving Average (DEMA) Calculation
Download ALL MT5 indicators (5743)
YouTube Video Thumbnail



Similar MetaTrader Tools

CDemaOnRingBuffer Class for Double Exponential Moving Average (DEMA) Calculation

Info

The CDemaOnRingBuffer Class for Double Exponential Moving Average (DEMA) Calculation is a Indicator for MetaTrader 5 that the cdemaonringbuffer class is designed for the calculation of the double exponential moving average (dema) technical indicator using the algorithm of the ring buffer. DeclarationThe CDemaOnRingBuffer.

Usage

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

Platform

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

Setup

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


How to Install and Use CDemaOnRingBuffer Class for Double Exponential Moving Average (DEMA) Calculation

1. Installation: Place your file in the MQL/Indicators folder via "Open Data Folder" and restart your terminal.

2. Loading: Find the indicator in the Navigator, drag it onto your chart, and configure the input parameters in the popup window.

3. Customization: Press Ctrl+I to open the indicator list, select your tool, and click "Properties" to change colors, levels, or visual styles.

4. Updating: Replace the old file in the Indicators folder with the new version and restart the platform to apply changes.

Frequently Asked Questions

Q: Why is my indicator not showing? A: Verify the file is in the MQL/Indicators folder, or try right-clicking the "Indicators" tree in the Navigator and clicking "Refresh."

Q: Do custom indicators slow down the platform? A: Too many complex indicators can impact performance; remove unused ones via the "Indicator List" (Ctrl+I).

Q: Can I use MT4 indicators on MT5? A: No, MQL4 and MQL5 are distinct languages; ensure the indicator is compiled specifically for your platform version.

What this tool does

The CDemaOnRingBuffer class is designed for the calculation of the Double Exponential Moving Average (DEMA) technical indicator using the algorithm of the Ring Buffer.

Typical Use Case

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

Compatible Platform & Setup

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

Description & Settings

Related: Moving Average Calculation with the CMAOnRingBuffer Class - another powerful indicator for MetaTrader 5 traders.

The CDemaOnRingBuffer class is designed for the calculation of the Double Exponential Moving Average (DEMA) technical indicator using the algorithm of the Ring Buffer.

Also recommended: CatronRingBuffer Class for ATR Indicator Calculation - similar indicator with strong performance on MetaTrader 5.


Declaration

The CDemaOnRingBuffer.mqh class file should be placed in the InconRingBuffer folder, which needs to be established in MQL5\include\. Two example files used by the class are attached to this description and should be placed in the same folder. The folder should also contain the classes of CMaOnRingBuffer and CArrayObj.

Class Methods

The calculated indicator data can be accessed from the ring buffer as from a standard array. For instance:

When calculating the DEMA, the Simple Moving Average (SMA) is also computed with the same parameters. We can retrieve the SMA data from the MA ring buffer using the MA method(int index):

Note that indexing in ring buffers follows the same convention as in standard arrays.

Examples

The test_dema_onarrayrb.mq5 file calculates the indicator based on a price time series, demonstrating the application of the MainOnArray() method.

The test_dema_onvaluerb.mq5 file illustrates the use of the MainOnValue() method. It first calculates and draws the DEMA indicator, then draws another DEMA based on the ring buffer of the initial indicator.

Results:

- Test_dema_onarrayrb.mq5 with a ring buffer size of 256 elements.

- Test_dema_onvaluerb.mq5 with a ring buffer size of 256 elements.

This code utilizes the developments of CMaOnRingBuffer, CArrayObj, and CArray.

You may also like: CADXOnRingBuffer Class for ADX Indicator Calculation - excellent alternative for indicator users on MetaTrader 5.

Source Code

#property copyright "robotfx"
#property link "https://robotfx.org"
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots   2
#property indicator_label1  "label1"
#property indicator_type1   draw_line
#property indicator_color1  clrred
#property indicator_width1  1

.......

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.