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

Top MQL4 and MQL5 source codes based on user ratings - 5

Submit your code

This service periodically checks swaps for predefined symbols and saves detected changes into CSV-files for further analysis and potential replay (not implemented here). Also it monitors and alerts swap changes of existing positions.

PrintXYZ() library to print massive information from the terminal.

In Part 6 of the "MQL5 Programming for Traders", we will study a key component of the MQL5 language – trading automation. We will start with a description of the fundamental entities, such as financial instrument specifications and trading account settings. These are prerequisites for creating properly operating Expert Advisors.

Alligator beginner tutorial to learn how to code in MQL5

This is an indicator with a rainbow-like display, both for trend or pullback prediction.

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

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

This code does not trace the iatr() because the iatr() or this code is a more modern version. This code uses original smoothing, a kind of SMA and not wilder smoothing. The analysis of the two smoothings can suggest opportunities elsewhere

This library simulates prop trading firm scenarios by resetting the account balance based on configurable profit and loss thresholds during backtesting, and logs reset results for analysis.

Translate risk percentages to the monetary figure based on the account balance

This MQL5 script exports candlestick data for various timeframes into a CSV file, capturing essential market information like open, high, low, and close prices. It analyzes each candlestick's characteristics, including body and wick sizes, while calculating additional metrics such as candle gaps. After processing the latest 21 bars, it notifies the user upon successful data export.

Marking the extreme highs and lows (OHLC) together with the extreme bid and ask prices

BBMA ZoneZeroLoss Histogram shows trading zones e.g. for "Reentry" setup for risk minimisation

Keltner Channel (MetaTrader indicator) — is a classical technical analysis indicator developed by Chester W. Keltner in 1960. The indicator is somewhat similar to the Bollinger Bands and Envelopes. It uses three plot lines: the middle line is the 10-day simple moving average applied to the typical price ((high + low + close) / 3), the upper and the lower bands are produced by adding and subtracting the moving average of the daily price range (High and Low difference) from the middle line. This way, a volatility-based channel is built. In this version of the indicator you can modify all the parameters of the MA. The indicator is available both for MT4 and MT5 versions of the platform.

Logger with the ability to log individual modules or code sections

Simple Expert Advisor with custom R-squared optimisation function

Dynamic VWAP level which can be averaged over multiple days

The Watermark indicator is lightweight and efficient, designed to display an informative watermark over the main MetaTrader 5 chart. It automatically shows the current symbol, chart time and asset description, allowing traders to customise their interface with style and convenience.

This is a Moving Average indicator based on Heiken-Ashi candles instead of raw market price.

Weekly VWAP (Volume Weighted Average Price) is a powerful MQL5 indicator that calculates and displays the Volume Weighted Average Price for each trading week. It's a crucial tool for identifying weekly fair value and understanding the underlying sentiment over a longer timeframe.

Historical equity of one-time and one-time open virtual positions to analyse the efficiency of spread/equity trading

This is a tester script that extends the standard MetaTrader 5 optimisation capabilities, allowing you to evaluate strategies according to complex user-defined criteria (with separation into in-sample and out-of-sample periods, advanced metrics and statistical tests).

A tool to align the trading sessions names with broker server time, and local time

Function to convert server time from one broker's time zone to another.

This Screener was created to simplify the process of finding assets trading at discounted prices. Initial usage may take slightly longer due to the data loading process for all selected instruments. The tool can scan all available broker assets or be limited to specific asset classes.

A JSON library designed for massive use of LLMs and lower latency.

This EA implements a range breakout trading strategy. It calculates a price range between start and end times defined by the user, draws a visual rectangle on the chart to mark the high and low of that range, and then monitors price action after the range closes. If the market breaks above the range high, it opens a buy trade; if it breaks below the range low, it opens a sell trade.

A simple trading strategy based on breakouts of prior Highs and Lows.

An institutional-grade dashboard that breaks down your open positions and calculates your true net lot exposure per individual currency, preventing invisible systemic risks and over-leveraging.

A professional quantitative oscillator that replaces traditional retail momentum indicators like the RSI, it calculates the statistical standard deviation of price action to identify mathematically exhausted reversals.

BEC Trade Manager helps you manage active positions on the current symbol using one-click controls for breakeven, trailing logic, partial close, stop-loss removal, profit-side closing, loss-side closing, and fast scalp entries. It also displays key account and symbol information on the chart, including equity, floating profit, daily profit, stop-loss labels, and basket breakeven preview.

A predictive quantitative engine that replaces lagging retail ATR, it utilizes the Nobel-prize-winning GARCH(1,1) econometric model to mathematically forecast future market volatility and variance.

Dynamic Fair Value Gap (FVG) is an MQL5 indicator for MetaTrader 5 that automatically detects market price imbalances. This indicator is perfectly suited for traders utilizing the Smart Money Concepts (SMC) strategy.

Monitoring of memory leaks in the strategy tester

The default CCI in MT5 doesn't have the shift parameter. This script implements the shift.

The simplest indicator showing on the current symbol the price change in % since the opening of the trading session.

Chande Kroll Stop indicator - stop levels for short and long positions.

Root Mean Square

Linear Regression Slope

Bollinger Bands with controllable outer band smoothing (pre smoothing)

123456789101112...205