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

MQL4 and MQL5 Source Code Library

icon

You don't know where to start learning the MQL5 or MQL4 programming language? Various programs for your MetaTrader terminal are available here. Download and study published code examples, develop your own indicators and Expert Advisors. Publish your applications in the largest library of MQL5 and MQL4 codes, and they will be available in every MetaTrader terminal and MetaEditor.

Your code examples in MQL4 and MQL5 will be distributed worldwide, and thousands of traders will know about you!

Submit your code

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.

Now we will get the code with function and purpose as below: 1. How to call and using the bollinger band 2. How to call and using the volume tick 3. How to call and using the Moving average volume. 4. How to code using the Trailling & Check volume lot size

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

it is an Indicator of Donchain chanel price action work with to all time frame.

Short description.

easydatabase

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.

Calculate the cosine distance and similarity between 2 vectors . The cosine distance is 1-cosine_similarity and the cosine similarity is the dot product of two vectors by their magnitudes multiplied.

This is an indicator for showing volume profile on the chart, using simple calculations and very fast execution.

This Script collects all MQL5 built-in indicators buffers and stores them in a CSV file for analysis purposes

This is the exact conversion of linreg function from pine script v4 as an mql5 indicator.

Candle ZigZag is an indicator which changes its leg if a candlestick color changes

The script is useful for inspecting the structure of ONNX models, providing insights into the input and output, their names, and their properties. It is particularly helpful for debugging and understanding the characteristics of ONNX models used in machine learning applications.

A sophisticated tool that accurately measures market noise

The final seventh part of the book discusses the advanced capabilities of the MQL5 API, which will be useful when developing programs for MetaTrader 5. These include custom financial symbols, built-in economic calendar events, and general-purpose technologies such as networking, databases, and cryptography.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182