Watch how to download trading robots for free
Find us on Telegram!
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 - 168


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

The Double Smoothed Stochastics indicator was proposed by William Blau and Walter Bressert. The calculation of DSS values is similar to Stochastic indicator, the difference is the use of double exponentially smoothing.

This indicator is based on Fatl indicator values and analysis of its signal lines.

WKBIBS is a next generation oscillator with combined WKB and IBS indicators functions.

This indicator is based on the first version of Sidus trading method. It shows market entry points.

Visual trend indicator that shows the direction and power of the current price movement.

The Ultimate Oscillator by Larry Williams is calculated as weighted value of three Stochastic, indicators, calculated for fast, middle and short periods.


Internal Bar Strength Indicator measures the "inner strength" of each bar by subtracting the close price from the low and dividing the resulting number by the difference between high and low bars.

Keltner Channel displayed as colored background.

FisherTransform_HTF_Signal shows a trend direction as a graphical object with colored trend indication and gives alerts or audio signals in case of a trend change.


The HighestLowestRange (HLR) determines the relative price position in range of the several X bars ago. If price located at range bottom (new low), the indicator is equal to 0, if price position at the top of the range (new high), the indicator is equal to 1 (or 100%).


The MPC indicator plots a simple channel using extermums of the specified period. It can be used for additional visual control of trading system (channel breakout), based on HighestLowestRange (HLR) indicator.

The script calculates Stop Out price (at this price position will be closed by broker) of the opened position and the price, at which Free Margin became negative (LockOut price).

Bollinger Bands displayed as colored background.

This indicator is based on CCI (Commodity Channel Index) and the analysis of a trend direction of its multiple signal lines.

Unnormalized symmetrical oscillator based on the linear regression algorithm with the simplest trend power indicator.

This indicator is based on Momentum and its multiple signal lines analysis.

Envelope construído pelas médias móveis e calculado da mesma maneira que os de Ichimoku Kinko Hyo.

LinearRegSlope_V1_HTF_Signal shows a trend direction as a graphic object with colored trend indication and sends alerts or audio signals in case the trend changes.

This indicator is based on the integral value of the trend from the fans of similar moving averages with an arithmetic progression of the smoothing period.

This indicator shows the "inner market structure" close to the real one in contrast to the standard "fractals" and all sorts of zig zags.

ZigZag indicator version displaying results of its calculations from the larger timeframe at the current one.

iGDR_Fractal_Levels shows the fractals average values over a certain period of time.

The indicator displays possible support and resistance lines as colored dots using Fibo levels.

The indicator that reminds of Ichimoku Kinko Hyo by its creation and usage principles.

The HLCrossSig for WPR is considered as a trend indicator, since it is intended for "catching" trends. However, it's a pretty complex and informative indicator that allows excluding the psychological and emotional influence from trading.

Moving average with calculation algorithm equivalent to the one of Ichimoku Kinko Hyo.

This indicator is based on WPR (Larry Williams' Percent Range) and its multiple signal lines analysis.

FractalLevels displays the channel based on fractals.

Non-linear regression with interpolation of a price chart future values.

Enhanced version of Larry Williams' Percent Range.

Channel trend indicator.

This indicator is based on RSI and its multiple signal lines analysis.

This indicator shows trend direction (Moving Average) and trading signals (Stochastic + Accelerator).

The grid consisting of DiNapoli levels and built using a larger timeframe chart. DiNapoliTargets indicator data is considered in the process of grid creation.

ZigZag indicator version with optimized calculation speed.

This indicator shows trend direction (RSI) and trading signals (Stochastic + Accelerator).

Enhanced version of the Stochastic oscillator.

The basis of the RBVI Forex indicator is an attribute of the night market to sharply decrease the volatility due to absence of active trading on exchanges. The indicator considers the price flow and the volatility (changeability) of the market what helps to successfully behave in a flat market. It is recommended to use RBVI in Expert Advisors that run in night time.

Trend Indicator. There are 10 possible variants of changing the averaging of the signal line in this indicator.

CDeMarkerOnArray class is designed for calculation of DeMarker values on indicator buffers.