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 Source Code Library for MetaTrader 4 - 3


The largest library features codes of free trading Expert Advisors, technical indicators and scripts. With the available applications you can trade in automated mode and analyze price dynamics. Use the library of codes to learn more about financial market sentiments.

Download free applications, test them and run in your MetaTrader 4. You can access them from the MetaTrader 4 platform and the MetaEditor development environment.

Submit your code

Detecting the start of a new bar or candle, in the OnTick() event handler of an expert advisor.

This simple quick & dirty script code will output a CSV file of all the Signals' properties as reported by the MQL4 Trade Signals functionality.

Just simple codes to Disable/Enable Auto/Algo-Trading in both MT5 and MT4. Of course, DLLs must be allowed, This cannot be done without DLLs

Export the history of transactions on the MT4 trading account.

ADXm experiment (metatrader 4 versions)

Adviser-Utility for copying transactions from one MT5 account or MT4 account to another MT4 account.

Adds the ability to automatically export the transaction history after running the Expert in the strategy Tester.

Chaikin Oscillator with smoothing option.

Simple Slope Oscillator Normalized with symbol overlay for MT4

Recursive Moving Average calls itself a number of times in order to reach the appropriate smoothing. For instance DEMA,TEMA and Rainbow indicators are recursive exponential moving averages. The goal is to remove the loop limit while still running fast. In addition a trigger line provides the trading signal.

Not sure if anyone need this. Just showing the angle of the MA of current and adjacent candle.

Adaptive momentum oscillator idea from David Varadi.

Just a Basic Functions For BreakEven.

A second version of GARCH volatility indicator of

Due to recent popularity of Multi currencies EA, This codes allows to Close Orders or delete Pending orders of a Multi Currencies EA, Single Currency EA or Manual orders.

Developed by John Ehlers, the RSI-based inverse Fisher Transform is used to help clearly define trigger points. The normal RSI indicator is calculated and adjusted so that the values are centered around zero. The inverse transform is then applied to these values.

This is an MT4 indicator which generates signals based on Bollinger bands crossover with price.

This is an EA to generate signals based on RSI signal crossing the upper level or lower level.

This code can be used to find highest high and lowest low of a chart for a given period.

This indicator plots multiple signals based on MACD main and signal lines.

This code identifies highest high and lowest low in the neighbourhood.

This indicator compares the main and signals line of the stochastic indicator and marks the sam eon the respective bars on chart.

This code can be used to create rectangles on chart.

This EA demonstrates how to implement martingale based on signals from any indicator.

This is an EA based on Bollinger band crossover with prices.

This is an EA using RVI crossover.

This EA demonstrates placing orders, modify orders and then closing orders after a fixed interval.

This EA places buy trades based on trend of last 5 candles.

This code can be used to read csv files and separate string based on a separator token.

This is a RVI crossover indicator.

This is a WPR crossover indicator based signal generating indicator.

This is a ADX crossover based Indicator.

This code can be used to take screenshot from code itself at any particular desired time.

This is a multi timeframe dashboard scanner for RSI and Stochastic.

This EA is based on upper and lower Bollinger bands.

This is an indicator based on tolerance for highs of two candles.

This is an Indicator based on MA crossover.

This is an EA based on Moving average crossover.

This is a simple code to draw triangle on chart connecting open and close of different candles.

This Indicator will plot bullish and bearish candles in separate colors.