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 Codes of Technical Indicators for MetaTrader 5 - 52

MQL5 technical indicators analyze MetaTrader 5 price charts on Forex, as well as stock and commodity markets. Indicators define trend direction and power, overbought and oversold states, support and resistance levels. Underlying mathematical models provide objective assessment of the current market state allowing traders to accept or reject trading system's signals.

You can download and launch offered indicators in MetaTrader 5. The library of indicators is also available directly from MetaTrader 5 platform and MetaEditor development environment.


The MDAC indicator with bar coloring according to Elder.

The indicator shows the method of drawing gradient semitransparent areas with independent update rate.

Barishpolts' moving channels on fractals.

The NRTR indicator based on Average True Range technical indicator.

The indicator displays the support and resistance levels calculated on daily prices.

A semaphore signal indicator using the Commodity Chanel Index oscillator.

An indicator of trend strength.

The Commentator indicator analyzes a group of technical indicators and displays information about the current state of the market and trade recommendations.

A digital momentum in the form of colored characters.

Donchian Channel is a volatility indicator based on the calculation of the current price range with the recent highest and lowest prices.

This indicator is useful for correlation analysis and also for cross pair analysis.

Trend indicator, based on crossover of pivot level and its median.

The QStick indicator is a simple n-period moving average of the price difference.

A trend indicator implemented in the form of NRTR.

An indicator of the trend power drawn in the form of a colored cloud.

A smooth non-normalized oscillator implemented in the form of a color histogram.

A non-normalized oscillator.

A trend indicator that uses the oscillator analogue of RSI and its signal line. It is drawn as a colored cloud.

An indicator of trend power with four states.

This indicator will plot divergence lines on the Awesome_Oscillator indicator and will give buy and sell signal by displaying arrows.

The indicator shows the current date, time, the current spread and stop levels.

The indicator "predicts" the color of the next bar with the probability specified in the settings. It is useful for the evaluation of strategies aimed at such a prediction when choosing trading instruments / timeframes for strategies. Caution: The indicator "looks into the future", so do not apply it in real life or in the strategy tester!

An indicator in the form of arrows on the basis of Elder's trading system.

Another version of the indicator that calculates support/resistance levels.

The indicator draws bars based on Elder's impulse system.

The RMI (Relative Momentum Index) indicator is an improved version of RSI, momentum is included in the calculation.

A combined indicator, constructed on the basis of two RSI oscillators

A simple trend indicator based on counting of the number of bullish and bearish candlesticks.

An indicator in the form of candlesticks based on the Heiken Ashi algorithms and two averages.

A non-normalized oscillator.

This indicator will plot divergence lines on the MACD indicator and will give buy and sell signal by displaying green and red arrows.

The Momentum oscillator with a triple averaging and a signal line.

A trend indicator with four states

The indicator draws two trend lines for the closest price extremes

A pivot with Fibo levels on the basis of daily candlesticks

The RoundLevels indicator draws two closest "round" levels above the current price and two more below it

DeMark's oscillator with an option of setting a fixed timeframe for the calculation of the indicator in the input parameters.

An example of how to use the IndicatorSetString() function. A simple indicator that shows how to create a label, e.g. "Overbought level" for each level.

An example of the IndicatorSetInteger() function. A simple indicator that shows how to create a label, e.g. "Overbought level" for each horizontal level.

A simple indicator, a good one for MQL5 beginners