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 Code Library for MetaTrader 5 - 31

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.


A histogram of minimum and maximum values of the following parameters: SYMBOL_SESSION_BUY_ORDERS_VOLUME - "Total current volume of buy orders" and SYMBOL_SESSION_SELL_ORDERS_VOLUME - "Total current volume of sell orders".

The indicator shows t he parameter "Total volume of open positions - SYMBOL_SESSION_INTEREST".

Trading on a new bar only. The rules are simple: if MAIN_LINE MACD (1) > MAIN_LINE MACD (2) -> Buy, if MAIN_LINE MACD (1) < MAIN_LINE MACD (2) -> Sell". When a signal opposite to open positions is received, close all positions.

The Expert Advisor uses the MACD, OsMA and WPR indicators. The Expert Advisor is configured to trade on the D1 timeframe with USDCHF, GBPUSD, USDJPY and EURUSD

The Fractal_TRIX indicator with the timeframe selection option available in the input parameters.

The SnakeInBorders indicator with the timeframe selection option available in the input parameters.

The Expert Advisor synchronizes the local computer time in the interval from 9:50 to 9:59 (before the beginning of the morning session) with the MetaTrader 5 FORTS server time.

The Linear_Price_Bar indicator with the timeframe selection option available in the input parameters.

The indicator draws i-OneThird indicator candlesticks of a higher timeframe as color filled rectangles using DRAW_FILLING buffers.

The strategy is based on Moving Averages with the periods of 5/20/40/60.

The XprofuterDD indicator with the timeframe selection option available in the input parameters.

The indicator is derived from the NRTR indicator.

Trading based on the Bollinger Bands indicator. Chart time-frame — M30 and higher.

The Expert Advisor identifies trend based on three moving averages (with periods of 200, 50, 25 or other custom periods), and opens trades using the Parabolic SAR indicator. The EA uses martingale techniques, lot is calculated as percent of deposit depending on stop loss.

A fractal TRIX.

SnakeInBorders calculates the channel of a filtered market, which is limited by two borders BorderTop[] and BorderBot[], and it calculates the signal Mart[].

The XMA-XN indicator with the timeframe selection option available in the input parameters.

MACD based Expert Advisor

The Expert Advisor has been created using the MQL5 Wizard, on the basis of MACD (Moving Average Convergence/Divergence) signals and the Parabolic SAR trend indicator.

The iMAs on the current period.

Two iMA indicators with hard coded periods of 3 and 7, and on iRSI indicator with the period of 2.

The Expert Advisor makes trading decisions based on simple candlestick combinations. It is designed for use on the H4 period.

Two iMAs on the current period and one on PERIOD_D1.

Pending Buy Limit (BuyLimit) and Sell Limit (SellLimit) orders. Using OnTradeTransaction().

Analysis of bars, if they contain N consecutive bars of the same type.

Trading by Moving Average. Checking for sufficiency of funds.

RSI EA - trading based on overbought/oversold zones determined by the iRSI (Relative Strength Index, RSI) indicator.

An example for calculating the lot value with a fixed margin level. That is, if you specify 10%, a position with the margin equal to 10% of free margin will be opened.

The Expert Advisor places two pending orders at a certain time.

A tick Expert Advisor. It compares the price on the previous tick and the current price.

Comparing open prices of the zero and third bar.

Derived from the NRTR indicator, provided with a new visual display.

The EA works based on the analysis of Open, High and Low.

An example of an Expert Advisor with a Trailing Stop implementation.

An example of working with the trading history on Hedge accounts — reconstruction of positions.

The EA places pending stop orders BUY_STOP and SELL_STOP.

The Expert Advisor places two pending orders (BuyStop and SellStop) with the specified expiration.

The Expert Advisor uses the values of two iMA (Moving Average, MA) indicators.

Uses two iStochastic (Stochastic Oscillator) indicators and one iRSI (RSI, Relative Strength Index). Calculates the lot size based on the analysis of closed trades.

The Expert Advisor searches for the momentum: iClose(t2)-iClose(t1).