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


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

VSI - Volatility Switch Indicator.

The IDayIIndex (Intraday Intensity Index) oscillator indicator.

A stochastic momentum.

A colored histogram drawn using the High/Low prices.

The indicator adds signal marks to a price chart when the CCI indicator crosses its zero line.

An indicator of the market state.

Gap searching indicator.


SZO (Sentiment Zone Oscillator) is an indicator of market sentiment, which has overbought and oversold zones.


CVI (Chartmill Value Indicator) shows the value of price deviation from the Moving Average.

Pending Buy Stop and Sell Stop orders. The EA trades in the specified time period. Determines the highest and lowest prices in the specified range of bars. Position trailing.

An Expert Advisor based on the iIchimoku (Ichimoku Kinko Hyo) indicator. Separate Stop Loss, Take Profit and Trailing Stop for BUY and SELL positions. The EA operation time is configurable. A check is performed on the current bar: only one position can be opened.

An indicator for automatic drawing of trendlines based on fractals of a given timeframe.

The EA trades using pending Buy Stop and Sell Stop orders, applying the iAMA (Adaptive Moving Average, AMA) indicator based on a "round price". Position trailing.

Example of functions MathCeil, MathRound and MathFloor.

The Expert Advisor uses the Fractals indicator signals to place pending orders and trail the Stop Loss level of positions.


The AD (Accumulation Distribution) indicator with three calculation methods.


SSS (Special Slow Stochastic) has an additional smoothed (slow) line based on the Stochastic signal line.

The "Small Inside Bar" indicator. It searches for formations, in which the internal candlestick of the "Internal bar" pattern is not more than half the size of the determinant candlestick.

The indicator calculates and displays on a chart the autocorrelation function, which shows the relationship between the function (signal) and its shifted copy depending on the time shift value.

The indicator allows setting any dimension for each side of a fractal.

MACD with advanced settings. In addition to the standard parameters of the fast and slow EMA periods, signal SMA periods and calculation price, this indicator allows setting the calculation method for each line and use either absolute or relative values for MACD calculation.

The KWAN_NRP indicator with the possibility to change the indicator timeframe in input parameters.

The XRSIDeMarker_Histogram indicator with the possibility to change the indicator timeframe in input parameters.

The averaged non-trivial linear combination of iRSI and iDeMarker implemented as a color histogram.

A simple oscillator, which is based on the values of the iStochastic, iRSI and iMomentum indicators and is implemented as a two-colored histogram.

The iSAR indicator with the possibility to change the indicator timeframe in input parameters, implemented in color.

The Expert Advisor is based on a dynamic moving average.

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.