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

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.

To post a new code, please log in or register
latest|best

Keltner Channel calculated as Non Lag MA +- ATR distance for the bands.

Juice is a standard deviation indicator that shows if the deviation is below or above some fixed level. That way it can show if the volatility is increased or not compared to that level.

This version of Elliot Oscillator allows you to chose periods of calculation.

This version is the smoothed version of the original Range Oscillator + Bands indicator. Smoothing is cleaning up some false signals and, since the smoothing method is JMA (which has very small lag) the added lag is as small as it can be making it much easier to use in a lot of decision situations.

This version of Range Oscillator has smoothing option in order to avoid some false signals.

Export history of closed positions from a retail hedging account to .csv file.

In order to filter out some of the signals of the Price Zone Oscillator - Floating Levels indicator, smoothing is added to this version.

This version of Price Zone Oscillator is an attempt to solve the "too fast" slope issue of the original indicator.

This is sigmoidal normalized version of RSI. Additional JMA smoothing is used in order to produce smooth results.

This version of Normalized RSI is adding JMA smoothing to it in order to make that volatility lesser and to attempt to make the slope of the RSI more usable without adding significant lag.

Normalized RSI tries to fix the "RSI problem": the longer the calculating period, the flatter the RSI becomes.

Compared to the Price Zone Oscillator indicator, this version is using floating levels to find out the significant levels.

The formula for Price Zone Oscillator (PZO) depends on only one condition: if today's closing price is higher than yesterday's closing price, then the closing price will have a positive value (bullish); otherwise it will have a negative value (bearish).

The Henderson Filters are derived by minimizing the sum of squares of the third difference of the moving average series. Henderson's criteria ensures that when these filters are applied to third degree polynomials, the resulting smoothed output will fit exactly on these parabolas. The Henderson Filters are suitable for smoothing economic time series as they allow the cycles typical of the trend to pass through unchanged. They also have the property that they will eliminate almost all the irregular variations that are of very short frequencies of six months or less.

Multi T3 Slopes indicator checks slopes of 5 (different period) T3 Moving Averages and adds them up to show overall trend.

Multi JMA Slopes indicator checks slopes of 5 (different period) Jurik Moving Averages (JMA) and adds them up to show overall trend.

Multi Averages Slopes indicator that checks slopes of 5 (different period) averages and adds them up to show overall trend. Averages that can be used in this indicator are the: SMA, EMA, SMMA, LWMA.

Multi LSMA Slopes indicator checks slopes of 5 (different period) Least Squares Moving Averages (LSMA or linear regression value) and adds them up to show overall trend.

Smoothed version of Synthetic VIX.

Compared to the Choppiness Index indicator, this version is using JMA for smoothing (to make it easier to spot the slope direction change of the choppiness index) and to make the values less volatile.

Choppiness Index: another way of calculating fractal dimension.

In order to avoid the too many signals that the regular Random Walk Index tends to produce, this version is using JMA for smoothing which significantly lessens the number of false signals.

The Random Walk Index attempts to determine when the market is in a strong uptrend or downtrend by measuring price ranges over N and how it differs from what would be expected by a random walk (randomly going up or down). The greater the range suggests a stronger trend. The RWI states that the shortest distance between two points is a straight line and the further prices stray from a straight line, implies the market is choppy and random in nature.

Compared to the original QQE indicator, this version instead of using trailing levels uses fixed levels to estimate overbought and oversold conditions. This version is also using RSX (a smoother RSI without a lag) in order to further purify the signals.

Compared to the original QQE indicator this version is adding fixed levels (to help further estimate the trend) and color changing histogram (based on those levels), and also using RSX (a smoother RSI without a lag) in order to further purify the signals.

This version of QQE is also using RSX (a smoother RSI without a lag) in order to further purify the signals.

Compared to the original QQE indicator, this version is adding fixed levels (to help further estimate the trend) and color changing histogram (based on those levels).

Compared to the original QQE indicator, this version instead of using trailing levels uses fixed levels to estimate overbought and oversold conditions.

Compared to the Volume Zone Oscillator indicator, this version is additionally using floating levels to determine the trend.

Volume Zone Oscillator indicator is based on the "In The Volume Zone" article by Walid Khalil and David Steckler, and can be classified as both trending and oscillating (non-trending) in its design.

This indicator is a variation of a well known WPR (Williams Percent Range) indicator with 4 WPR values combined into "candles".

Unlike the Heiken Ashi Smoothed, this indicator is displaying 2 values only: +1 for trend up and -1 for trend down, thus making it suitable for usage from experts.

Instead of using "raw" prices" for calculations, Heiken Ashi Smoothed indicator is using smoothed/filtered/averaged prices instead.

ADXVMA indicator made as "binary" having only two values (+1 for "trend" up and -1 for "trend" down).

In this version of Accumulative Swing Index Smoothed indicator we are introducing a sort of levels that can be used for trend assessment.

This version of the Accumulative Swing Index indicator is attempting to add some more functionality to it by producing much smoother results.

Indicator that is checking for intra-day channel values and breakouts of those channels.

Traditional MACD made stronger with 3 additional rules/filters.

A channel formed by two Double Exponential Moving Averages based on averaged High and Low timeseries

Two independent trading systems using indicators BrainTrend2 and AbsolutelyNoLagLWMA within one EA, with an option of changing the size of the future trade depending on the results of the previous ones for this trading system

1...101112131415161718192021222324...147