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 Expert Advisors for MetaTrader 5 - 5

icon

Expert Advisors analyze price charts and trade automatically following underlying rules. Here you can find MQL5 source codes solving a variety of problems. You are able to select both simple Expert Advisors based on moving average crossing and complex ones involving complicated signal generation algorithms and protection against trading mistakes.

You can download and launch offered Expert Advisors in MetaTrader 5. It is recommended that you test and optimize trading robots in the Strategy Tester before using them. The library of Expert Advisors is also available directly from MetaTrader 5 platform and MetaEditor development environment.

Submit your code

Classic trading strategy based on RSI levels. Buys when RSI is oversold and sells when RSI is overbought. This expert advisor is designed with visual strategy builder - Mission Automate. Code is generated automatically. More info: https://www.mql5.com/en/articles/4951

Classic and one of the most popular trading strategies based on 2 moving averages crossover. This expert advisor is designed with visual strategy builder - Mission Automate. Code is generated automatically. More info: https://www.mql5.com/en/articles/4951

Advisor for trading Gbp/Chf. Algorithm for bar opening prices. Timeframe H1.

The Expert Advisor uses four iMA (Moving Average, MA) indicators from two timeframes. Two indicators with averaging periods 1 and 8 are created on the H1 timeframe and two indicators with averaging periods 1 and 8 are also created on the H4 timeframe.

Advisor scalper. Trading algorithm: Candle[0]> Candle[1] * 2. Taimeframe - 4H && Day.

A trading system based on custom indicator VHF.

Expert Advisor Exp_SpearmanRankCorrelation_Histogram with the added option of trading within the weekly range only, the borders of which are specified in the EA's input settings

A trading system with a very simple neural network unit. It uses an iMA (Moving Average, MA) on H1, H4, and D1.

Searching for a daily range. We use OBJ_HLINE, OBJ_VLINE.

An Expert Advisor based on indicators iADX (Average Directional Movement Index, ADX) and iMACD (Moving Average Convergence/Divergence, MACD)

The market maker robot for trading futures and swap cryptocurrency contracts

A trading system based on indicator iMA (Moving Average, MA).

The EA uses two indicators iMA (Moving Average, MA), Fast and Slow, and one indicator iBands (Bollinger Bands, BB).

Signal (Alert) at crossing horizontal line by the price

The EA compares the difference between the Close price of bar #1 and the Close price of bar #Candle shift.

Ilan based on indicator iMA (Moving Average, MA)

Protecting a position (hedging)

Comparing OHLC on timeframe M5

Three timeframes. One iMA (Moving Average, MA) and one iStochastic (Stochastic Oscillator) on each timeframe

An EA based on indicators iMA (Moving Average, MA) and iStdDev (Standard Deviation, StdDev)

A trading system based on several indicators from several timeframes.

An Expert Advisor based on two indicators: iFractals (Fractals) and iAlligator (Alligator).

A panel to close positions based on class CDialog. Buttons based on class СButton.

An Expert Advisor for placing Stop Loss and Take Profit.

Working with pending Stop orders

Two identical trading systems (for long and short deals) based on the ColorPEMA indicator signals that can be configured in different ways within a single EA with an ability to change the volume of a forthcoming trade depending on the results of the previous trades for this trading system

A trading system based on the signals of indicator ColorPEMA_Digit with the possibility to set a fixed position holding time

A trading system based on two indicators iMA (Moving Average) and one indicator iStdDev (Standard Deviation, StdDev)

Three indicators from different timeframes: iMACD (Moving Average Convergence/Divergence, MACD), iAlligator (Alligator), and iRSI (Relative Strength Index, RSI)

A trading system based on breaking through iFractals

A trading system based on two custom indicators: CCI Color Levels and RSI Custom Smoothing.

The EA focuses on the OHLC of timeframe W1

A trading system based on indicators Custom Moving Average Levels and Stochastic Custom

A trading system based on three indicators iMA (Moving Average, MA) and two indicators iRSI (Relative Strength Index, RSI)

Two identical trading systems (for long and short deals) based on the AdaptiveRenko indicator signals that can be configured in different ways within a single EA with an ability to change the volume of a forthcoming trade depending on the results of the previous trades for this trading system

It calculates the Typical prices for bars #1, #2, and #3

An Expert Advisor for two currency pairs

Working with pending Buy stop and Sell stop orders. Martingale.

This is a working singleton code example. The sole purpose of this post is to provide a working code sample of a singleton object. A singleton object is created when there 'can be only one' of the object. This is accomplished by making an object's constructor private, and ensuring assignment and copy operations are also private. I was working on an EA and identified that an object should never have more than one copy. I don't expect the EA to ever get large enough for it to actually matter that a singleton is used, but I like the clarity in the code for the object's type. The code follows closely the tutorial at http://www.yolinux.com/TUTORIALS/C++Singleton.html.

The Expert Advisor uses Buy Stop and Sell Stop pending orders. Martingale.

123456789101112...36