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

Commodity Channel Index (CCI) measures the deviation of the commodity price from its average statistical price.

The Indicator paints the bars according to the Trade Zones, as proposed by Bill Williams.

The Bollinger Bands ® Indicator (BB) is similar to Envelopes. The only difference is that the bands of Envelopes are plotted a fixed distance (%) away from the moving average, while the Bollinger Bands are plotted a certain number of standard deviations away from it.

The Accumulation/Distribution Indicator is determined by the changes in price and volume.

Sometimes this is useful - to observe the behavior of the oscillator in the channel. Greatly simplifies the evaluation of the situation.