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

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

Submit your code

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.

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.

Monitoring of memory leaks in the strategy tester

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

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

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)

This indicator is designed to draw a Fibonacci retracement, using as a basis the ZigZag indicator.

This script saves a predefined set of economic events from the MetaTrader's built-in economic calendar into CSV file.

Support and Resistance MetaTrader indicator — as the name of this indicator suggests, it displays the support and resistance levels. It shows them directly on the chart, providing an easy help when you want to set stop-loss or take-profit level, or when you want to see the next market target. This indicator uses the standard MetaTrader Fractals indicator (by Bill Williams' method) and has no changeable input parameters. This indicator is available for MetaTrader version 4 and 5.

Modified standard ZigZag indicator with the addition of information about wavelength in pips, levels and different alerts logic

BotCilento is a sophisticated grid-trading Expert Advisor for MetaTrader 5 that combines trend-following signals with adaptive risk management.

A high-precision indicator designed to detect institutional liquidity sweeps (stop hunts). It identifies price rejection beyond recent swing levels, marking potential high-probability reversal zones without lagging indicators.

Super pass-band filter as described by John Ehlers

This function allows you to retrieve and return the filling policy of a symbol in MetaTrader 5. This is useful for making trading decisions based on the filling policy of a specific financial instrument.

This is an edit of the Mod_ATR_Trailing_Stop by MQL5 user @Scriptor found here https://www.mql5.com/en/code/20423 . MT5 indicator .mql5 and .ex5 files, report any bugs, I'll fix.

Multi_BreakEven is a script file that enables setting multiple entry positions to breakeven, either through pips or a target price, once the trade becomes favorable.

This Expert Advisor does not trade. A simple panel, implemented using the standard Canvas library, allows you to draw digits with the mouse. The trained mnist.onnx model is used to recognize the digits.

Combine Multi Timeframe Trends into one trend using MA.

CDateTime milliseconds extension + datetime supervisory variable extension

Historical Strong S/Rs Levels

Average Daily Range Indicator.

Know Sure Thing (KST) oscillator indicator based on the rate of price change (ROC)

Select the last closed deal (trade) to further work.

Ergodic oscillator Stochastic Momentum Index (SMI)

This is a first for MetaTrader 5. Now you can click on the chart to create price alerts.

MovingAverages.mqh Part II A multi timeframe version is available with colors for orientation, for developers or profitable traders for free. Offer under conditions. Other multi timeframe indicators are also available.

123456789101112...199