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

icon

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

Here are some examples of codes for set counters based on "Count"

This is a basic library to create and manage grids.

If you only want to execute your code blocks "only once per bar" it's important to check if there is new bar arrived or not.

This script helps traders understand the distribution and range of candles in a specific period, which can be useful for making trading decisions such as determining which historical values to use for Take Profit or Stop Loss.

Counter attack candlestick pattern

Dominant Candle is a a two candlestick set where the wicks intersect each other but body of the candles are either gapped up, gapped down or equal

This code block loops through all opened position and do trailing based on Ask and Bid prices.

This code block detects a New Bar or a New Candle when it has received.

Logarithmic Moving Average continuously calculates the logarithmic mean of highest price and lowest price within a period.

MQL5 version of harmonic moving average

Highlights the Forex Market Sessions (Sydney, Tokyo, London, New York).

Indicator based on basic slope moving average and cloud around. Indicator shows two types of signals: prepearing - dot and entry - arrow.

Script to determine whether your Broker follows the US, UK or AU daylight (DST) schedule.

Searches for Wick or Body based High low in visible bars of chart

A simple observatory of individual currencies.

The book "Neural networks in algorithmic trading with MQL5" is a comprehensive guide, covering both the theoretical foundations of artificial intelligence and neural networks and practical aspects of their application in financial trading using the MQL5 programming language.

Class to access to the local time for the specified location, as well as time zone information and the local trading session hours.

The source codes written during the development of the library for creating multi-currency Expert Advisors that combine many instances of various trading strategies.

Static class to fix the TimeGMT() function during testing in the strategy tester.

This is a script to export rates and ticks of current chart's symbol into CSV-files compatible with MT5's export/import format.

KA-Gold Bot is an advanced trading advisor specifically designed for gold, utilizing the powerful combination of the Keltner channel strategy and two exponential moving averages (EMAs) - the 10-period EMA and the 200-period EMA. Principle of Operation: The 10-period EMA represents the average price cutting above/below the Keltner band, confirming an uptrend/downtrend. The price being above the 200-period EMA supports the uptrend/downtrend. This indicates that the uptrend/downtrend has been stronger than the previous 10 periods, considering the volatility over the last 50 periods. - Time frame: M15

SAR ADX Signal with mobile notification, rewritten from MT4 version (source no longer found). This is a repaintable indicator, please be careful when using it.

Historical Strong S/Rs Levels

The EA only trades buy positions and does not use SL and TP.

Hides Alone Candlesticks

Fair Value gaps are used in ICT's smart money concept where there is an imbalanace of 1 point or more between 1st candle's high and 3rd candle 's low in bullish and 1st candle 's low and 3rd candle's high in bearish

While manually adjusting the stop-loss of a single trade to match its open price is a relatively simple task, managing numerous positions individually can be cumbersome and time-intensive. The Titik Impas Breakeven script for MT4/MT5 streamlines this process, providing efficiency and convenience for traders dealing with multiple positions.

This is an indicator to calculate ATR Weighted moving averages.

Show candle gain and candle loss in percent.

Candlestick Fitness concept is used in coding HFT Algos based on population optimization algorithms.

This is an indicator to calculate 14 types of moving averages based on close price.

Provides Bollinger Bands with calculating the range bandwidth as the difference in pips between the upper and lower Bands. Bollinger Bands appearance and behavior can be tailored by adjusting period, shift, deviation, and applied price, along with color and line style. The 'range/bandwidth information' label can be placed in the specified Sub-Window, allow to customize label positions. Overall, this indicator aids traders in visualizing market flexibility and volatility based on Bollinger Bands width.

Sec-WebSocket-Key Generator

This function performs the main logic of opening a trade. Calculates the opening price, take profit levels and stop loss based on symbol information and parameters provided by the user. Prepare a trade request (MqlTradeRequest) with the necessary information, such as symbol, volume, order type, deviation, comment, magic number, etc. Call the OrderSend function to send the operation request and get the result. SetTypeFillingBySymbol function: Determines the order fill type (Fill or Kill, Immediate or Cancel, or Return) based on the symbol's filling policy. GetMinTradeLevel function: Calculates the minimum operating level based on the freeze level and the symbol stops level. Adjusts the minimum level to make sure it is within certain limits and returns the result.

This is a script to print all open trades and their PnLs at a specific time in history.

Syncs all chart symbols to symbol of the chart the EA is attached to

The 'wd.Multi_ClockPrice lite!' is the lite version of 'wd.Multi_ClockPrice', providing a visual representation of server time and bid prices on the chart. It synchronizes with PC clock every seconds, allowing seamless updates even when MT5 is offline. Real-time bid prices are displayed, efficiently meeting the need for price information. Place informational labels in the specified sub-window, adjusting positions as needed.

This utility is simple example to add sound alert on connect / disconnect

This is the exact conversion of pivotshigh and pivotslow functions from pine script v4 as an mql5 indicator.

123456789101112131415...189