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

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 script illustrates control of chart properties using the classes from the Standard Library (CChart).

The script illustrates control of graphic objects using the classes from the Standard Library.

An indicator lets you specify the number of bars separately before and after the current High / Low (fractal) can.

The Bulls Power Indicator measures the balance of the bulls strength.

This is a modified version of ZigZag indicator that draws lines with different colors depending on the price movement direction.

The Zigzag indicator is a series of sections connecting significant tops and bottoms at the price plot.

The Williams’ Percent Range Indicator (%R) is dynamic technical indicator, which determines whether the market is overbought/oversold.

The Williams' A/D indicator is the accumulated sum of positive "accumulational" and negative "distributional" price movements. Divergences between the indicator and the price are a signals.

The Volume Rate of Change (VROC) is an indicator of the direction where the volume trend moves.

The Volumes indicator shows volumes with different colors depending on the volume changes.

The Ultimate Oscillator was developed by Larry Williams. It uses the averaging of three oscillators with different periods.

The Stochastic Oscillator compares where a security’s price closed relative to its price range over a given time period.

The Standard Deviation (StdDev) measures the market volatility. This indicator charactrizes the scale of price changes relating to the Moving Average.

The main point of the Relative Vigor Index Indicator (RVI) is that on the bull market the closing price is, as a rule, higher, than the opening price.

The Relative Strength Index Indicator (RSI) is a price-following oscillator that varies between 0 and 100.

The Price Rate of Change (ROC) reflects this ondulatory movement like an oscillator, measuring the difference in prices in a certain period. ROC grows if prices grow and drops along with them. The more the price change is, the more ROC changes.

The Price and Volume Trend Indicator(PVT), like On Balance Volume (OBV), represents the cumulative sum of trade volumes calculated considering close price changes.

The Price Channel Indicator draws the price channel, its upper and lower boundaries are determined by maximal and minimal prices for a certain period.

The Parabolic SAR Indicator was developed for analyzing the trending markets.

The Moving Average of Oscillator (OsMA) is the difference between the oscillator and its smoothed value.

The On Balance Volume Indicator (OBV) is a momentum technical indicator that relates volume to price change.

The Momentum Technical Indicator measures the amount that a security’s price has changed over a given time period.

The Money Flow Index (MFI) is the technical indicator, which indicates the rate at which money is invested into a security and then withdrawn from it.

The Mass Index is developed to catch the trend reversal points. It is based on changes between maximum and minimum prices. If the amplitude gets wider, the mass index grows; if it gets narrower, the index gets smaller. The mass index was created by Donald Dorcy.

The ColorCandlesDaily indicator draws candles with different colors depending on the day of the week.

The Market Facilitation Index (BW MFI) is the indicator which shows the change of price for one tick.

The Moving Average Convergence/Divergence (MACD) is the next trend-following dynamic indicator. It indicates the correlation between two Moving Averages of a price.

The Indicator Ichimoku Kinko Hyo is predefined to characterize the market Trend, Support and Resistance Levels, and to generate signals of buying and selling.

The Heiken-Ashi indicator is looks like the candlestick chart, but it has some difference.The advantage of the Heiken-Ashi charts is a simple trend determination, the upward trend candles are blue,the downward trend candles are red.

The Gator Oscillator is based on the Alligator and shows the degree of convergence/divergence of the Balance Lines (Smoothed Moving Average).

The Fractal is one of 5 indicators of Bill Williams’ trading system, which allows to detect the bottom or the top.

The Force Index Indicator was developed by Alexander Elder. This index measures the Bulls Power at each increase, and the Bulls Power at each decrease.

The Envelopes Indicator is formed by two Moving Averages, one of them is shifted upward and another one is shifted downward. The selection of optimum relative number of band margins shifting is determined with the market volatility: the higher the latter is, the stronger the shift is.

The Detrended Price Oscillator eliminates the trend effect of price movement. This simplifies the process of finding out cycles and overbought/oversold levels.

The Demarker Indicator (DeM) is based on the comparison of the period maximum with the previous period maximum. When the indicator falls below 30, the bullish price reversal should be expected. When the indicator rises above 70, the bearish price reversal should be expected.

The Custom Moving Average is example of the Custom User Indicator - it calculates and shows the Moving Average.

The ColorLine indicator shows the line of the price moving average on the chart. The line has diffrent colors (100 bars has the same color). The color settings of the line is changing every 5 ticks, there are 3 color schemes.

The ColorBars Indicator paints bars with different colors depending on the volume changes. If the volume has increased, the color is green, overwise the color is red.

Chaikin's volatility indicator calculates the spread between the maximum and minimum prices. It judges the value of volatility basing on the amplitude between the maximum and the minimum. Unlike Average True Range, Chaikin's indicator doesn't take gaps into account.

The Chaikin's Oscillator (CHO) is the difference of moving averages of Accumulation/Distribution.