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 - 12

Submit your code

Multiple runs/optimisations in Tester.

A simpler way to display Heikin Ashi

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

A customized bid and ask line which is labelled and clear to help visualize the bid and ask prices

An MQL5 Expert Advisor that reacts to high-impact forex news events using the MQL5 Calendar. It identifies news related to inflation (CPI/PPI) and interest rate decisions, placing breakout trades with pending orders. Ideal for traders looking to automate news-based strategies. (This is just a starting point)

Professional trade management panel: one-click Buy/Sell with auto lot sizing, smart trailing stop (ATR/Fixed/Candle), automatic breakeven, multi-TP partial close system (TP1/TP2/TP3), and one-click pending orders. All-in-one order management for serious traders.

This class allows you to create buttons on the chart as if they were chart objects(have time and price coordinates) these objects can be dragged on the chart and when scrolling they stay at the same place. If you wan't to learn some Object Oriented Programming or if you wan't to understand how chartevents work or you wan't to create graphical interfaces, you can learn a lot from this.

MACD variation that uses Nonlag MA.

Provide simplest class to read and parse CSV file

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

The Efficiency Ratio (ER) was first presented by Perry Kaufman in his 1995 book "Smarter Trading". It is calculated by dividing the price change over a period by the absolute sum of the price movements that occurred to achieve that change. The resulting ratio ranges between 0 and 1 with higher values representing a more efficient or trending market.

The indicator displays the current spread and the time till closing the bar (candlestick) at the same time.

The JSatl indicator with the timeframe selection option available in the input parameters.

It is made more up-to-date and multi time frame option added.

Stochastic that is using RSX as an input for calculations.

Export history of closed positions from MT5 retail hedging account selected between two dates. The resulting file is CSV that can be opened/imported with any spreadsheet software.

Highest high & lowest low support resistance

Recursive Median Oscillator - with floating levels

Here is my implementation of a colored Hull Moving Average.

Trend Dashboard Indicator MetaTrader 5 indicator — a multi-timeframe indicator that is based on three standard indicators: Stochastic oscillator, RSI (Relative Strength Index), and CCI (Commodity Channel Index). It displays current trend directions for M1, M5, M15, M30, H1, H4, D1, W1, and MN1 timeframes. When you follow such an indicator you have a clear picture of the trends across all important timeframes. It doesn't matter which timeframe you attach this indicator to. The indicator can be downloaded for MT4 and MT5.

Wickless breakout

a Simple Visual Strategy Tester / Manual Trade Training using Martingale.

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 a script to print all open trades and their PnLs at a specific time in history.

Show candle gain and candle loss in percent.

This is an indicator to calculate ATR Weighted moving averages.

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

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

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

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 is an auxiliary take profit and stop loss tool, which can help you to tight stop loss and dynamic take profit. Updated

The simplest class for logging in MetaTrader 5 with support for levels, message format, include and exclude filters on substrings.

The AutoFibo indicator is an advanced Fibonacci retracement tool that automatically draws Fibonacci levels based on the ZigZag pattern. This indicator is designed to help traders quickly identify potential support and resistance levels in trending markets.

It is an indicator that determines target levels according to the average of price movements.

It is an indicator used to determine the trend, support and resistance level of the market. When volume data is available, it calculates using MFI, if not, it calculates using RSI. Momentum: RSI and MFI Volatility: ATR

Candle Range MetaTrader indicator — is a very simple and lightweight indicator that displays the candle's range in pips on mouseover. In addition, to the High/Low range, it can optionally display the body size (Open/Close) for candles. Multiple display parameters are available to control how the indicator looks. This indicator is available for both MT4 and MT5 versions of the trading platform.

Breakeven Line Indicator is a MetaTrader indicator that calculates breakeven level based on all open positions and displays it on your chart as a horizontal line. Additionally, it will calculate the total number trades, the total number of lots, and the distance to the breakeven line in points and profit/loss. The indicator is available for both MT4 and MT5.

BMA MetaTrader indicator or Band Moving Average — was created by using the original moving average indicator and the idea from one of the site's visitors. The indicator displays itself in the form of three lines: the central one is the standard MT4/MT5 moving average (which can be simple, exponential or weighted), the upper line is the same as the central one but lifted up by 2% (by default), the lower line is the same as the central one but pushed down by 2%. Those two additional lines serve as the support and resistance levels. The indicator is available for both MT4 and MT5.

Bollinger Squeeze Basic MetaTrader indicator — is a complex indicator based on Momentum, Bollinger bands, and Keltner channel. The indicator is drawn in the separate window of the chart as a Momentum histogram and a range of dots when show the relationship between the current Bollinger bands and Keltner channel values. This indicator is available for both MT4 and MT5 versions of the trading platform.

Gain/Loss Info MetaTrader indicator — displays the gains and losses for all candles where the given threshold is surpassed. The values are calculated in points and percentage. The indicator can calculate gain/loss in two modes: plain candlestick Close and Open difference, and as difference between current Close and previous Close. You can set minimum change limits (for pips and percentage), change modes, and you can also control font color of the output numbers. The indicator is available for both MT4 and MT5.

1...5678910111213141516171819...200