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

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.


This indicator is useful for correlation analysis and also for cross pair analysis.

There are a lot of users who searched for iBarShift function like in MQL4. But this function is no more include in MQL5, mainly because MQL5 provides all necessary basic, low-level, functions to process such thing in a library.

Trend indicator, based on crossover of pivot level and its median.

The QStick indicator is a simple n-period moving average of the price difference.

A trend indicator implemented in the form of NRTR.

An indicator of the trend power drawn in the form of a colored cloud.

A smooth non-normalized oscillator implemented in the form of a color histogram.

A non-normalized oscillator.

A trend indicator that uses the oscillator analogue of RSI and its signal line. It is drawn as a colored cloud.

An indicator of trend power with four states.

Trading signals of candlestick patterns with confirmation by Stochastic indicator.

IREA is an automated trade algorithm based on the idea of that an unusual impact in price changes will be adjusted by an inverse movement.

This indicator will plot divergence lines on the Awesome_Oscillator indicator and will give buy and sell signal by displaying arrows.

The script calculates candles statistics (the minimal, maximal and average values of candles body and shadows) of the current chart.

The indicator shows the current date, time, the current spread and stop levels.

The script is assigned to a hot key for quick change of charts around in a circle.

The indicator "predicts" the color of the next bar with the probability specified in the settings. It is useful for the evaluation of strategies aimed at such a prediction when choosing trading instruments / timeframes for strategies. Caution: The indicator "looks into the future", so do not apply it in real life or in the strategy tester!

Easier visual analysis of graphical objects created by the strategy tester.

An indicator in the form of arrows on the basis of Elder's trading system.

Another version of the indicator that calculates support/resistance levels.

The indicator draws bars based on Elder's impulse system.

The RMI (Relative Momentum Index) indicator is an improved version of RSI, momentum is included in the calculation.

A combined indicator, constructed on the basis of two RSI oscillators

A simple trend indicator based on counting of the number of bullish and bearish candlesticks.

An indicator in the form of candlesticks based on the Heiken Ashi algorithms and two averages.

A non-normalized oscillator.

This indicator will plot divergence lines on the MACD indicator and will give buy and sell signal by displaying green and red arrows.

The Momentum oscillator with a triple averaging and a signal line.

A trend indicator with four states

The indicator draws two trend lines for the closest price extremes

A pivot with Fibo levels on the basis of daily candlesticks

An Expert Advisor based on two indicators - Renko Line Break and RSI. It trades stop orders.

The RoundLevels indicator draws two closest "round" levels above the current price and two more below it

DeMark's oscillator with an option of setting a fixed timeframe for the calculation of the indicator in the input parameters.

An example of how to use the IndicatorSetString() function. A simple indicator that shows how to create a label, e.g. "Overbought level" for each level.

A panel for opening and closing positions on several financial symbols in one click.

An example of the IndicatorSetInteger() function. A simple indicator that shows how to create a label, e.g. "Overbought level" for each horizontal level.

A simple indicator, a good one for MQL5 beginners

An indicator of pin bars, to be used as a built-in indicator in Expert Advisors. Shows levels specified by the pattern for the open price and stop-loss.

A trend indicator implemented in the form of NRTR. Timeframe is specified in the input parameters of the indicator.