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

MQL5 Source Code Library for MetaTrader 5 - 10


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

Rates Version of a script

Add High and Low lines based on number of previous bars defined in input field

This EA help you to auto set the TP, SL & TRAILING by default, easy to close all orders with button "Close All" *Update April 2022. Channge ushor to ulong to support giant spread like Boom/Crash Synthetic Symbols

Add Popup or Push Alert notification on manually placed horizontal lines, The lines are deleted and reset itself as soon as price touches these lines

The Laguerre Filter was created by John Ehlers ("Cybernetic Analysis For Stocks And Futures", pg 216)

The indicator sends a signal at the moment the price crosses a given level, using alerts and push notifications

cycle timeframes using hotkeys 'N','M' prev,next timeframe

Elegant oscillator

Slow Line of the original Didi Index

Volatility/volume indicator based on price deviations anomaly.

On chart stochastic (like)

Sma (Simple Moving Average) with NET (Noise Elimination Technology)

ZigZag NK Sound Alerts notifies you with Sound alert, Push Notification or Popup Notification on terminal when Zigzag changes its bar.

cycles though market watch symbols, using hotkeys Comma and Period for prev/next symbol in market watch list

hotkeys 1-9 numbers on keyboard but not on number-pad to change timeframes 1=m1 2=m5 3=m15 4=m30 5=h1 6=h4 7=d1 8=w1 9=mn

Rsi with Hann windowing

ZigZag Color Indicator for Line Charts which works on Close prices rather than High low This indicator has only one input parameter which is ExtDepth and its optimized for performance

Momentum deviation bands

Momentum deviation

Select Timeframe to draw Bobokus Fibonacci and add any custom fibonacci levels you want

Draws an equidistant channel to detect rectangular consolidation pattern on chart

The indicator calculates the average price for the specified period.

iExposure will show the opening of trading positions in tabular form in the sub-window below the main window. This allows the trader to see at a glance the positions in the market including the profit value and the amount of risk for each position. The iExposure indicator is a technical tool that is easy to use and very helpful, especially if a trader opens several trades at once with several different instruments. Traders can add the iExposure indicator to any price chart if they wish to use it. By adding the iExposure indicator, traders can also still see tabs of other trading positions for other currencies. Also note that iExposure can also monitor all trading positions, besides being able to make details by displaying one position for one window.

Displays the current timeframe and symbol name in large font on the chart background. Useful when hopping between several charts with different symbols at the same time.

The script is best use to clean up all drawings ( Delete All Object, Comment, horizontal line, vertical line, arrows etc) on current chart. Please feel free to modify based on your needs.

Dynamic pivots - any time frame

Limit channels - with states

The Hurst Coefficient Indicator was created John Ehlers in “Cycle Analytics For Traders”, pg.67-68.

ATR based limit channels

Short description.

Hann filter

Fir filters


Directional Movement using Hann windowing

CCI (mimic)

MT5 Indicator for Position Size Calculation

Rex indicator extended version

MyRsi with Noise Elimination Technology - by John Ehlers

MyRsi - by John Ehlers

The Hilbert Oscillator Indicator was created John Ehlers in "Rocket Science For Traders", pg.90-91

Moving Average Bands Width