Download MetaTrader 5

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 - 12

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.


The Expert Advisor opens positions inside two time intervals. Trades are closed at the specified time. Trailing Stop.

The Expert Advisor is based on 30 popular candlestick patterns.

MACD+SAR - Trend Analyzer Tool.

The Pivot Money Flow indicator displays the direction and the reversal of money flows.

Dynamic overbought/oversold levels.

An assistant indicator. It shows time for holding a position open.

The indicator shows days of the week on the price chart.

An indicator of custom patterns.

The indicator displays on the chart the previous trading day's channel.

ATR Ratio shows a ratio of two ATRs.

A simple ZigZag with an adjustable step.

Dynamic Moving Average.

An indicator of dynamic support/resistance levels.

The indicator of divergences of High/Low indices.

A module of trading signals based on the Moving Average indicator signal module.

The New High New Low Index indicator.

An indicator of multiple fractals.

The indicator searches for divergences and displays them on the chart of the custom CCI indicator.

Bollinger Bands in the form of an oscillator.

The Expert Advisor uses three iMA (Moving Average, MA) indicators and one iMACD (Moving Average Convergence/Divergence, MACD)

An indicator based on Elder's "Safe Zone".

The Expert Advisor searches for N identical candlesticks in a row. It buys on bullish candlesticks and sells on bearish ones. The account type is taken into account, i.e. whether it is netting or hedging.

The Expert Advisor works based on the iChaikin (Chaikin Oscillator) and iMA (Moving Average, MA) indicators.

An Expert Advisor trading MACD signals. For those who prefer trading CFDs and futures symbols.

An MQL5 implementation of the adaptive UmnickTrade Expert Advisor.

As a logical step to filter out more the possible false signals, this variation of Schaff TCD RSI is using RSX (which is a smoother RSI than the "regular" RSI) to produce a smoother result.

Schaff Trend Convergence Divergence indicator has the benefit of putting the Schaff Trend CD on a scale of zero to 100, making it easier to identify potential overbought and oversold levels in a currency trend and is using RSI for a final calculation.

Schaff Trend RSX is "a smoother RSI" without a lag, in this version RSX is calculated instead of RSI. That makes the slope much smoother and produces significantly less color (slope) changes.

Schaff Trend RSI is an RSI of the MACD.

In addition to the usual parameters that are controlling the way Kaufman AMA is calculated, this version has adjustable smoothing and filter that can eliminate insignificant AMA changes.

This indicator shows Bulls and Bears power in the same indicator subwindow.

Kaufman AMA MACD is the MACD built exclusively using Kaufman AMA (even signal line is using that). That way this is a completely adaptive MACD (bearing in mind that Kaufman AMA is adaptive Moving Average).

The Price Channel Stop indicator shows the current estimated trend based on channel period and desired risk. It also shows two levels of values that can be used as a stop loss for orders opened based on this indicator (using the trend color change can be used as a signal for a new order opening as well as closing already opened orders).

In the Smoother Momentum Stops indicator the stops are calculated using the smoother momentum and the direction of the stops is determined based on the smoother momentum.

"Sadukey" indicator is an indicator combining two digital filters on a chart to give us an assessment of current trend.

Smoother momentum is one of the possible ways to solve the main issue of the Momentum indicator - the values it displays are far from being smooth, and that can cause a lot of false signals in a lot of cases - regardless of the calculation period that is used.

This indicator is a MetaTrader 5 version of nonlinear regression. Nonlinear regression is very "fast" when responding to sudden market changes so the default calculation period is set to somewhat longer period than it is usual for similar type indicator. Because of that some experimenting with period is advised based on your trading strategy and trading style.

MACD High/Low uses the highest high and lowest low of MACD (nnn) bars back to calculate a sort of dynamically changed zero line, early levels up and down and trend confirmation levels up and down. By adding these non-fixed levels, the MACD becomes faster in response to market changes and the MACD trend assessment has less false signals.

Asymmetric bands indicator is one of the ways to avoid a lag when there is a trend reversal (since the opposite side band is too far from the current price).

This version of Synthetic RSI is using Ehlers smoothed RSI in calculation instead of using "regular" RSI and that makes the resulting synthetic RSI even smoother.