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

MQL5 Source Code Library for MetaTrader 5 - 6

icon

This is the largest free source code library for MetaTrader 5 platform programs. Here you can find ready-made Expert Advisors, technical indicators, scripts and libraries. Use the code library when learning MQL5 language and develop your own automated trading applications based on the provided codes.

You can freely download and test published codes, as well as launch them in MetaTrader 5. The library is also available directly from MetaTrader 5 platform and MetaEditor development environment.

Submit your code
latest | best

The simple trading panel is a trading tool that is very interesting because it will allow you to predefine your StopLoss and your TakeProfit in term of pips.

This Function will retrieve the Assets next Opening Time and Closing Times, either following the current time or following a given time.

Draws Pivot Points formulas

This class loads a licensing file by reading 64bit encrypted account data from a license file into an account array for the purpose of licensing. The Class is initialised with a Filename, a Master Key and whether the file needs to be saved in the common folders or not.

The Decycler: John Ehlers, "Cycle Analytics For Traders" by John Ehlers, pp. 40 - 41.

This is a MT5 expert advisor which displays the total stoploss and takeprofit value for open positions.

Double breakage of MA8 and MA20 means with stochastic and trix filters, as described by Caco Maia.

This is an utility which allows you to list all open charts, indicators, expert advisers, and scripts in alphabetic order, and switch between them.

This is a Script and Class for creating, evaluating and adding accounts to an encrypted license file for licensing an MQL EA or Indicator.

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

Kral is an example of an expert advisor, where you can see how and in what way, buy/sell signal can be generated based on an indicator color change. Of course, in order to be able to use this example, and apply them in your code, the NN indicator must have these options (buffer) available first.

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.

12345678910111213...176