Watch how to download trading robots for free

Find us on Facebook!
Join our fan page

Access the CodeBase from your MetaTrader 5 terminal
Couldn't find the right code? Order it in the Freelance section
How to Write an Expert Advisor or an Indicator

MQL5 Source Code Library for MetaTrader 5 - 65


This is the largest free source code library for MetaTrader 5 platform programs. Here you can find ready-made Expert Advisors, technical indicators, scripts and libraries. Use the code library when learning MQL5 language and develop your own automated trading applications based on the provided codes.

You can freely download and test published codes, as well as launch them in MetaTrader 5. The library is also available directly from MetaTrader 5 platform and MetaEditor development environment.

Submit your code

Handy functions for comparison, rounding, formatting and debugging of doubles (prices, lots and money).

Well known NonLag MA with additions and adjustments.

MACD High/Low made multi timeframe.

Ultra Trend indicator made as multi timeframe.

Indicator based on the NonLag Moving Average.

Ehlers Distance Coefficient Filter coded exactly a Ehlers described it in his book "Rocket science for traders".

This is the "zone" indicator using Ehlers Nonlinear Filter for calculation.

Ehlers Nonlinear Filter provides extraordinary smoothing in sideways markets and aggressively follow major price movements with minimal lag.

This version of Zone Trade indicator is made to show as histogram in separate window.

The indicator was described by B. Williams as fourth dimension - Trading Zone.

This version of Heiken Ashi Zone Trade indicator is made to display values in a separate window - that way it will not interfere with the other on-chart indicators and can be easier to read the states in some cases.

Heiken Ashi Zone Trade indicator is based on 3 indicators: Heiken Ashi, Accelerator Oscillator, and Awesome Oscillator.

Trend Intensity Index as described by M.H.Pee in his article "Trend Intensity Index".

This version extends the basic version of Leader of the MACD with some options that are adding more flexibility to the usage of the indicator.

Trend Strength Average uses some of the 4 regular types of averages for trend strength assessment.

Trend strength assessment based on Jurik smoothed RSI.

Trend strength assessment based on RSX.

ADXVMA Histogram is a binary version of ADXVMA indicator: instead of showing the values of ADXVMA on chart, it displays only the state of the slope of the ADXVMA in a form of a histogram.

ADXVMA uses modified ADX calculation for adapting Moving Average calculation.

Trend Continuation Factor (TCF) indicator identifies the trend and its direction.

Trend Continuation Factor (TCF) indicator with Jurik smoothing identifies the trend and its direction.

The Phase Change Index (PCI) is an indicator designed specifically to detect changes in market phases.

Variation of the well known Bollinger Bands indicator.

T3 Deviation uses intermediate steps of T3 calculation to get the deviation based on T3. As expected the deviation calculated this way is much smoother than the Standard Deviation (as a result of using T3 which on its own is smoother than the simple moving average), and is "faster" in response to market changes.

Zero lag T3 uses the "zero lagging" method to make it even faster and to keep the smoothness.

This version of Hull Moving Average makes the lag even lesser and still keeps the smoothing of the Hull Average thus making it even "faster".

Ron Black's Swing Line indicator with only two states displayed: state up and state down.

Based on the original Dynamic Balance Point, this version is a bit cleaner and simpler to use indicator.


TWR is an indicator of a trend reversal.


The QQE (Quantitative Qualitative Estimator) indicator consists of a smoothed Relative Strength Index (RSI) indicator and two volatility-based trailing levels (fast and slow).

Ron Black's Swing Line indicator made as histogram indicator.

Ron Black's swing line indicator with adjusted display option.

ADXm is a variation of a well known ADX indicator made to be multi timeframe capable.

ADXm is a variation of a well known ADX indicator.

Indicator that calculates dynamic balance point for the desired period.

A variation of linear regression.

Implementation of Alexander Elder's power system indicator, it will show the price trend and trend reversal.

Jurik smoothing is very responsive to price changes, is very smooth and it makes it a very good candidate for this type of trend assessment.

Ultra Trend is one of the well known indicators made for MetaTrader 5 now.

Vortex indicator (based on the article that was published in the January 2010 issue of TASC) with a smoothing option.