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


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

This version of Stochastic Oscillator allows you to use any of the 4 basic types of averages (default is SMA, but you can use EMA, SMMA or LWMA too) - some are "faster" then the default version (like EMA and LWMA versions) and SMMA is a bit "slower" but this way you can fine tune the "speed" to signals ratio.

This version is doing the calculation in the same way as the original Stochastic Momentum Index, except in one very important part: instead of using EMA (Exponential Moving Average) for calculation, it is using T3. That produces a smoother result without adding any lag.

The Stochastic Momentum Index (SMI) was developed by William Blau and was introduced in the January 1993 issue of Technical Analysis of Stocks & Commodities magazine. It incorporates an interesting twist on the popular Stochastic Oscillator. While the Stochastic Oscillator provides you with a value showing the distance the current close is relative to the recent x-period high/low range, the SMI shows you where the close is relative to the midpoint of the recent x-period high/low range.

The Efficiency Ratio (ER) was first presented by Perry Kaufman in his 1995 book "Smarter Trading". It is calculated by dividing the price change over a period by the absolute sum of the price movements that occurred to achieve that change. The resulting ratio ranges between 0 and 1 with higher values representing a more efficient or trending market.

The TTM (Trade The Markets) Trend is basically an easier way to look at candlesticks. It is the The Heikin-Ashi method. Literally translated Heikin is "average" or "balance,", while Ashi means "foot" or "bar." The TTM trend is a visual technique that eliminates the irregularities from a normal candlestick chart and offers a better picture of trends and consolidations.

MACD TEMA is even a bit more "faster" than MACD DEMA so, depending on the parameters, in scalping mode (short calculating periods) or trending mode (when longer periods are used. Never forget that MACD is primarily a momentum indicator and that it is the main goal of MACD.

MACD that is using DEMA fo calculation.

The Kijun-Sen is a major indicator line and component of the Ichimoku Kinko Hyo indicator, also known as the Ichimoku cloud. It is generally used as a metric for medium-term momentum.

Commodity Channel Index (CCI) is a versatile indicator that can be used to identify a new trend or warn of extreme conditions. Donald Lambert originally developed CCI to identify cyclical turns in commodities, but the indicator can be successfully applied to indices, ETFs, stocks, and other securities.

The Volume Rate of Change indicator (VROC) measures the rate of change in volume over the past "n" sessions. In other words, the VROC measures the current volume by comparing it to the volume "n" periods or sessions ago.

A variation of Deviation Stops (DevStops) indicator. Some are wrongly calling this version a Kase DevStops (which it is not - Kase DevStops indicator is calculated in a quite different way), but this version has its good points too and can be used in regular support/resistance mode. Additionally each DevStop value is colored according to the slope (trend) of the line - when all are aligned in the same direction, it can be treated as a confirmed trend change.

Kase DevStops. What all of this boils down to is that we need to take variance and skew into consideration when we are establishing a system for setting stops. Three steps that we can take in order to both better define and to minimize the threshold of uncertainty in setting stops are: 1. Consideration of the variance or the standard deviation of range. 2. Consideration of the skew, or more simply, the amount at which range can spike in the opposite direction of the trend. 3. Reformation of our data to be more consistent (this step is examined in detail in Chapter 81, while minimizing the degree of uncertainty as much as possible).

Smoothed Rate of Change (Smoothed-RoC) is a refinement of Rate of Change (RoC) indicator that was developed by Fred G Schutzman. It differs from the RoC in that it based on Exponential Moving Averages (EMAs) rather than on price closes. Like the RoC, Smoothed RoC is a leading Momentum indicator that can be used to determine the strength of a trend by determining if the trend is accelerating or decelerating. The Smoothed RoC does this by comparing the current EMA to value that the EMA was a specified periods ago. The use of EMAs rather than the price close eliminates the erratic tendencies of the RoC.

The Percentage Price Oscillator Extended (PPO) is a technical Momentum indicator showing the relationship between two Moving Averages. To calculate the PPO, subtract the 26-day Exponential Moving Average (EMA) from the nine-day EMA, and then divide this difference by the 26-day EMA. The end result is a percentage that tells the trader where the short-term average is relative to the longer-term average.

The Percentage Price Oscillator (PPO) is a technical Momentum indicator showing the relationship between two Moving Averages. To calculate the PPO, subtract the 26-day Exponential Moving Average (EMA) from the nine-day EMA, and then divide this difference by the 26-day EMA. The end result is a percentage that tells the trader where the short-term average is relative to the longer-term average.

Woodies CCI is a momentum indicator that was developed by Ken Woods. It's based on a 14 period Commodity Channel Index (CCI).

Probability levels based on ATR. "Probability" is calculated based on the projected Average True Range and previous period Close.

HOPS and LOPS indicator. The "HOPS" and "LOPS" stand for High Of the Previous Session and Low Of the Previous Sessions.

Rsi(var) with averages.

RSI variation.

This is an MQL5 version of the Expert Advisor described in the article "How to reduce trader's risks" (

Chandelier exit indicator is designed to keep traders in a trend and prevent an early exit as long as the trend extends. Typically, the Chandelier Exit will be above prices during a downtrend and below prices during an uptrend.

This tool allows you to calculate the correct lot size of the next trade by following some simple money management rules.

Range Action Verification Index (RAVI) with inverse Fisher transform.

Chandes Quick Stick (Qstick)

This Ulcer Index indicator was derived from the stock risk indicator by Peter Martin in the 1987 book "The Investors Guide to Fidelity Funds".

The Vertical Horizontal Filter ("VHF") determines whether prices are in a trending phase or a congestion phase. The VHF was first presented by Adam White in an article published in the August, 1991 issue of Futures Magazine.

Relative Momentum Index (RMI) is a variation of the RSI indicator. The RMI counts up and down days from the Close relative to the Close X days ago (where X is not limited to 1 as is required by the RSI) instead of counting up and down days from Close to Close as the RSI does.

Extended version of MSROC indicator.

Moving slope rate of change.

Correlation of two symbols.

High/Low indicator mod.

Trading signals are generated based on a comparison of two trend indicators: iMA (Moving Average, MA) and iSAR (Parabolic SAR). The EA works on the zero bar, only one position can be open. Trailing stop is used.

The Expert Advisor trades using the "Japanese Doji Candlestick" pattern.

A further development of code "Dealers Trade v 7.74 MACD" ( "Zero-lag MACD" ( is used. When the number of positions increases, the following is also increased: step between positions, lot size, take profit (martingale).

A quick way to draw an arc-shaped channel using four mouse clicks.

The Expert Advisor is based on Puria method with a few changes. It uses two iMA (Moving Average, MA) indicators and one iMACD (Moving Average Convergence/Divergence, MACD).

The Expert Advisor trades based on the signals of iMA (Moving Average, MA) and iMACD (Moving Average Convergence/Divergence, MACD). The minimum distance between the price and the MA indicator is taken into account.

An Expert Advisor based on the iIchimoku (Ichimoku Kinko Hyo) indicator. Fixed lot.

The Expert Advisor uses the signals of "crossover of two iMAs (Moving Average, MA)". The EA uses Trailing Stop and Take Profit.