Download MetaTrader 5

Watch how to download trading robots for free

Interesting script?
So post a link to it -
let others appraise it

You liked the script? Try it in the MetaTrader 5 terminal

2012.11.14 15:58

3rd Generation XMA - indicator for MetaTrader 5

| English Русский 中文 Español Deutsch 日本語 Português

votes: 13
3rdgenxma.mq5 (8.21 KB)view

Real Author:


3rd Generation XMA is the 3rd generation moving average. This is an advanced version of the standard moving average indicator (МА) that follows a fairly simple procedure to reduce the time lag based on the increase in the moving average period.

The method was first described by Dr. Manfred Dürschner in his article "Gleitende Durchschnitte 3.0" (in German). This implementation uses λ = 2 resulting in more effective lag reduction. Higher λ increases the similarity with the classic moving average.

Input parameters:

//| Indicator input parameters        |
input Smooth_Method XMA_Method=MODE_EMA; // Smoothing method
input int XLength=50;                    // Smoothing depth                    
input int XPhase=15;                     // Smoothing parameter
input Applied_price_ IPC=PRICE_TYPICAL;  // Price constant
input int Shift=0;                       // Horizontal shift of the indicator in bars
input int PriceShift=0;                  // Vertical shift of the indicator in points

This indicator allows you to select averaging algorithms out of ten possible options:

  1. SMA - simple moving average;
  2. EMA - exponential moving average;
  3. SMMA - smoothed moving average;
  4. LWMA - linear weighted moving average;
  5. JJMA - adaptive JMA smoothing;
  6. JurX - ultralinear smoothing;
  7. ParMA - parabolic smoothing;
  8. T3 - Tillson's multiple exponential smoothing;
  9. VIDYA - smoothing using the algorithm developed by Tushar Chande;
  10. AMA - smoothing using Perry Kaufman's algorithm.

It should be noted that Phase parameters for different smoothing algorithms have completely different meaning. For JMA, it is an external Phase variable that varies from -100 to +100. For T3, it is a smoothing coefficient multiplied by 100 for better visualization. For VIDYA, it is a CMO oscillator period. And for AMA, it is a slow EMA period. These parameters do not affect the smoothing in other algorithms. For AMA, the fast EMA period is a fixed value and is equal to 2 by default. The powering coefficient for AMA is also fixed at 2.

The indicator uses the SmoothAlgorithms.mqh library classes (to be copied to the terminal_data_directory\MQL5\Include). The use of the classes was thoroughly described in the article "Averaging Price Series for Intermediate Calculations Without Using Additional Buffers".

Fig.1 The 3rdGenXMA Indicator

Fig.1 The 3rdGenXMA Indicator 

Translated from Russian by MetaQuotes Software Corp.
Original code:

SinTick SinTick

The sine and tick indicator

GetExtremums GetExtremums

The function that identifies extremums over a given period of history.

Squize_MA Squize_MA

The Squize_MA indicator displays the intersection of two Moving Averages with different averaging periods. The chart also features conventional flat limits.

BidAskChannel BidAskChannel

The BidAskChannel indicator is designed to account for spread in the shadows of candles.