Watch how to download trading robots for free
Find us on Telegram!
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 - 12


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.

Submit your code

A collection of useful string manipulation functions.

Buy Sell on your price, Choose Market order, Pending Limit order or Pending Stop Order

macd divergence and rsi filter

Colored Candlestick exemplifying a gradient. It was somewhat hard to find a good working example of DRAW_COLOR_CANDLES that was understandable, most of the comments were useless, and the documentation lacks to even specify the plot limitations (PLOT_COLOR_INDEXES being limited to 64 in length, [0; 63]) or which order the functions should be called.

closing partially script and Stop loss to Break Even point

Risk Reward Tool calculates Risk reward like 1:2 1:3 1:4 and 1:5

This oscillator can be used as a handle to judge a Moving Average's trend speed, based on this specific product's past trend history.

This script draws Fibonacci Expansion OBJ_EXPANSION with options to add your own custom values

This script draws Fibonacci Fan OBJ_FIBOFAN with options to add your own custom values

This indicator is used to have a sense of and distinguish a product's statistical property: Moving Average Speed

This script draws Fibonacci Retracement OBJ_FIBO with options to add your own custom values

Notifies you at your specified Chart Time Indicator can be used to set alarm at a specified time on the chart.

Shows Symbol name, percentage change of price from last day, and Time Time has input options, You can select GMT, LocalTime or TradeServerTime

Aquarium Canvas Background for Chart This script adds cool live canvas background on the chart like aquarium

Sometime we have to work with Custom Angles based trendline for price action analysis e.g. 45 degree angle is considered more important for up or down trend. This indicator will help you by drawing a trendline which will match your custom angle on last input number of bars

Checks if Metatrader5 Terminal is connected to Internet or not. The expert will Print a message for the connectivity status

This Indicator will show the Amplitude [Minimum; Maximum] of a given period and can act as a substitute of the ATR indicator. The indicator can be used to observe volatility and the force of past swings, useful to determine excesses that will possibly be reversed or repeated, given that the user has knowledge to complement with volume or standard-deviation strategies. It is suggested a period of 55200 at M1 or 2400 at H1 (meaning 40 sessions of 23hs each), or any period that complements your strategy.

Building good trading habits by seeing things in terms of percentage not in terms of money.

Extend of CFile class to work with the .set extension file which terminal will produce when the Input/Optimisation is saved.

This EA can Calculate each trade volume base on received TP and SL Prices and Risk percent of account in each trade.

Catching the extreme change on candle.

For MT5, When Press the Button, it will delete all STOP LOSS and TAKE PROFIT applied to Current Open Market positions. For All Symbols. The panel is based on the CDialog class, works for all symbols

Non-anchored discontinued signal line RSI of average

Discontinued signal line version RSI of averages

Discontinued signal line CCI using average of price for filtering signals

Discontinued signal line MACD

This is a re-write of the old Solar Winds indicator for MQ5. There has recently been some 'excitement' about using this with other indicators for entry signals, and after a request to develop an indicator using it, I found that it was a classic re-painter - so I am contributing this code with an easy switch to allow seeing the indicator in re-paint versus non-repaint mode.

This simple indicator is just a statistical label showing Last and Current Candle Amplitude (MinMax), Last and Current Day Amplitude, Current Tick Amplitude and Time Remaining for next Candle. It also shows Server Time (Market Watch) and Local PC Time so you can focus more on the graph and adapt to market hours.

Building good trading habits by seeing things in terms of percentage not in terms of money.

The Decycler: John Ehlers, "Cycle Analytics For Traders" by John Ehlers, pp. 43 - 44.

This indicator summarizes the volatility of multiple periods.

Ehler´s Quotient Transform

Updated T3 floating levels

Extended version of the original Heikin Ashi indicator.

Calculates the average range of prices (in points) for intraday periods.

This is a helper indicator which allows you to adjust vertical scale of a subwindow manually, which is useful for zooming in and zooming out graphs of your favourite indicator placed in the same subwindow.

The Decycler II: John Ehlers, "Stocks & Commodities V. 33:09", стр.12-15

Ichimoku is one of the excellent indicator which can work lonely or with other indicators. With Alerting indicator which send notification to your cell phone whenever Tenkan-sen Cross Kijun-sen you can have an opportunity to enter or exit market at right time .

JMA is an indicator which is the transformation of the accumulated background data is the essence of this technical indicator. JMA offers an opportunity to recognize several peculiarities and patterns that are invisible to the naked eye in price dynamics. Based on this information, traders may expect more market changes and change their strategy accordingly.

Converted Ronz AutoSLTP MT4 version into MT5 version. Original Link: Original Descriptions: EA for Automatic Stop Loss, Take Profit, Profit Lock, and Trailing Stop (With Special Methods). SL and TP could be hidden.