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

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

Volume/Volatility Indicator

An easy-to-use multi-currency library, usable in indicators and EA.

It is Diffrent complex Range BreakOut system. Using to Range Breakout system is defined by min number of bars and max width in pips. This robot is can use to volatility instrument.

The currency strength meter is a trading tool that is used to identify trending and consolidating markets based on the percentage rate of change in price from one period to the next.

The Cyber Cycle: John Ehlers, "Cybernetic Analysis For Stocks And Futures", pg.34

The currency strength meter is a trading tool that is used to identify trending and consolidating markets based on the percentage rate of change in price from one period to the next.

hybrid sorting algorithm that provides both fast average performance and (asymptotically) optimal worst-case performance

gnome sort is based on the technique used by the dutch garden gnome

The breakout strength meter is a trading tool that is used to identify which currencies are the strongest to breakout, and which currencies are the weakest to breakout

This EA collects information about the spreads and Shows the number of spreads in the specified range based on the ticks that occur each year.

This is a wrap for using databasexxx

I find the lot calculation tedious so I just use this script and tell it the dollar amount to use. It then does the rest. This works for any currency.

I find the lot calculation tedious so I just use this script and tell it the dollar amount to use. It then does the rest. This works for any currency.

a simple sorting algorithm that people use to manually sort cards in a bridge hand

The breakout strength meter is a trading tool that is used to identify which currencies are the strongest to breakout, and which currencies are the weakest to breakout

A light header-only version of Log4mql that provides standardized logging.

This EA collects information about the spread and shows the statistics on the chart. When the EA ends its working, it prints all statistics to the Journal, which can be useful for the Strategy Tester.

an in-place comparison sorting algorithm

Published by John Ehlers in "Stocks & Commodities Dec. 2020" (16-18).

This unit test frameworks eases the development of unit tests for more complex expert advisor programs. The MQL5 developer can test single components. The test framework starts the strategy tester so that there is test data available if required. I am using the framework to do test driven development (TDD) on my MQL5 programs.

an in-place comparison sort

This is a simple EA test code I made for adapting Candlepatterns.mqh

Expert Advisor

This script is made to close all positions

a much more efficient version of selection sort

an efficient, general-purpose sorting algorithm

Ea working well on EURUSD1 H1 with initial parameters, using a simple strategy based on Bollinger bands and RSI.

A sorter class to sort an array based on other arrays.

The 8 effective steps to build a robust day trading plan using Fibonacci retracement

Copy trading has become such a critical feature of forex trading. Some people see this as a potential business opportunity, while for opensource die-hards like me, we believe in giving back to the community rather than putting a price tag on everything 'nice'. So here it comes. A free opensource trade copier, which you are freely allowed to modify and distribute according to MIT license terms. It still has limited features, but the essentials like lot normalization are there. Please note that this copier only works for trading terminals installed on the same machine. Please share back any upgrades, enhancements or bug fixes to the discussion. Enjoy!

a highly efficient sorting algorithm, based on partitioning of array of data into smaller arrays

The indicator displays a colored moving average.

A Sample of Averaging Up/Down Martingale EA.

represent an operation to be performed on the elements of an object structure. visitor lets you define a new operation without changing the classes of the elements on which it operates

define the skeleton of an algorithm in an operation, deferring some steps to subclasses. template method lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure

Print info about a closed position by its position ticket or identifier.

Stock trading indicators. BIAS.

ADR,AWR,AMR,Draws Average Range Lines

define a family of algorithms, encapsulate each one, and make them interchangeable. strategy lets the algorithm vary independently from clients that use it

Reflex and Trendflex was created by John Ehlers ("Stocks & Commodities Feb. 2020 (6-8)").

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171