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

MQL4 and MQL5 Source Code Library

icon

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

AttachExpert.mqh attaches an Expert Advisor to a chart from MQL5 code, with the inputs you choose and with "Allow Algo Trading" on or off.

Short description (for the "Short description" field) Shows economic news events directly on your chart as colour-coded vertical lines with tooltips, plus a draggable event panel with upcoming and recent releases. Works on every symbol and timeframe, with filters for impact level and instrument groups (Gold & Silver, Forex Majors, Indices, Oil & Gas).

Read-only panel that shows the distance to margin call and stop out in money, percent of equity and points, plus adverse price and equity shock scenarios. Hedge-aware, does not trade.

Draws the last candles of one or two higher timeframes (auto: M15 -> H4 + D1, H1 -> D1 + W1) next to your chart at real prices, with a countdown, lines to the live candle's open, high and low, alerts and EA buffers.

ICT dealing range from confirmed swings: premium and discount zones, equilibrium, the OTE band (62 - 79 %, 70.5 %), standard deviation targets and the IPDA 20 / 40 / 60-day ranges. No repaint. Alerts and EA buffers.

Measures, on the chart's own history, how often a bar takes out the prior high or the prior low after bullish and after bearish bars, at up to five levels spaced by the average range. Each level carries a probability bar, and a table scores the favored side over all bars and over the last 200.

A chart panel for MT5 that places Buy Limit, Sell Limit, Buy Stop and Sell Stop pending orders with one click. Volume, distance and optional SL/TP are set on the panel; OCO cancels the opposite order automatically. Includes bulk delete, a live order list and automatic handling of broker STOPS_LEVEL and filling mode. Execution tool only - no signals, no guaranteed results.

Highlights potential buy zones in uptrends and sell zones in downtrends on closed candles (no repainting), with automatic lot size for your balance and a daily loss guard.

Read-only panel showing per-magic net P/L, account drawdown, daily-loss breaker progress and freeze/liquidate thresholds. Does NOT trade.

Non-repainting three-bar Fair Value Gap detector for MetaTrader 5. Closed-bar detection, the 50% Consequent Encroachment level, mitigation as an explicit state machine, incremental scanning, and a built-in self-audit that re-checks the stored gap levels against the closed-bar series on attach. Pure native MQL5, no DLLs, no external dependencies.

Session Range Breakout draws the high and low of up to three intraday sessions (Asia, London and New York by default) and extends each level to the right with optional H/L labels and a range rectangle. Session hours, names and colours are configurable in server time. Optional popup, sound and push alerts fire when a bar closes outside a session range. The levels are fixed once the session closes, so the drawing does not repaint. The indicator draws chart objects only and never opens trades.

Calculates the Strategy Tester report statistics from the deal history, including Z-Score, AHPR, GHPR, LR Correlation and LR Standard Error, which TesterStatistics() does not return. Checked value by value against the tester.

ICT kill zones (Asian, London, New York, London Close) at the right New York hours on any broker, with US and EU summer time. High / low boxes, levels until price takes them, midnight open. Alerts and buffers for EAs.

Marks the order block behind each break of market structure (the last opposite candle before the move), tracks when it is used and turns failed blocks into breaker blocks. No repaint. Alerts and buffers for EAs.

An include file that writes real Excel workbooks (.xlsx) from MQL5 without DLLs: several sheets, numbers, text and real Excel dates, a frozen bold header and filters. Example script: the account deals and the daily results to Excel.

Marks breakouts of the recent trading range and the breakouts that fail (price closes back inside within a few bars). Closed bars only, alerts, buffers for iCustom.

Closes all trades and blocks new ones when your prop firm daily loss or maximum drawdown limit is reached.

Reads your closed trades, converts each to an R-multiple and simulates many future runs at a chosen risk per trade. Reports the probability of hitting a drawdown floor, the probability of ending profitable, the median ending balance and the 95% range. Read-only.

An educational MetaTrader 5 Expert Advisor with four RSI and MACD signal modes calculated on completed Renko bricks. Fixed-size Renko is built internally from Bid ticks. No external indicators, DLLs, custom symbols or offline charts are required.

Spread Monitor — a simple information indicator for MetaTrader 5.

Market structure in the way of Smart Money Concepts: swing highs and lows with HH / HL / LH / LL labels, BOS (break of structure) and CHoCH (change of character) lines. Swings count only after their right candles close, so nothing repaints. Alerts and a trend buffer for EAs.

Draws the fair value gaps (three-candle imbalances) that price has not filled yet, follows how much of each gap is filled and ends the box when it is. Closed candles only, no repaint. Alerts and buffers for EAs.

GDS Renko Liquidity Sweep Lab is a free educational indicator for studying what happens after price crosses a confirmed Renko swing level.

Spread Monitor is a simple information indicator for MetaTrader 5. It displays the current spread in pips in the form of a compact graphical panel with colour-coded indicators and a level bar.

The advisor opens trades when two moving averages (Fast and Slow) cross. It works on any instrument and timeframe.

MarketInfo is a simple information script for MetaTrader 5. It collects and logs key data for the current instrument: prices, spread, volatility (ATR), time remaining until the bar closes, statistics covering N bars, and trend identification.

Before the Friday close: estimates how much your open positions could lose if the market reopens with a gap, and compares it with the room left under the daily loss limit of the next trading day. For prop firm and funded accounts. It only reads the account.

A compact MetaTrader 5 indicator that classifies five selected timeframes as Bullish, Bearish, Neutral, or N/A using price and EMA alignment, then summarizes whether the timeframes are aligned or mixed. This is a market-context indicator, not a standalone trading signal

Running several EAs on one account? This script groups the closed trades by magic number and shows the score of each EA: win rate, profit factor, net profit and drawdown. Read-only, writes a CSV file.

A small include file that tells your Expert Advisor when it is inside a news window, using the economic calendar built into MetaTrader 5. No web requests and no DLL.

Finds volatility compressions as they form, boxes each one as a channel with ATR edge bands and marks the bar that breaks out of it. Inside the live channels: buy and sell volume split from M1 bars, drawn as candles and text, plus a gauge of the current volume delta. Breakout arrows in buffers for EAs.

Free script exporting clean, deterministic OHLC + tick volume + 4 indicators (MA, RSI, MACD, ATR) for M1/M15/H1 to CSV. Closed bars only, zero lookahead — ideal for analysis and ML datasets.

Several buys and sells open on one symbol? The indicator draws where all buys, all sells and the whole basket break even, and the price for a profit target. Planned entries can be added to see the break-even before you trade.

Sends every opened and closed position, pending orders and a daily account summary to your Telegram chat. It never trades on your account.

Closes all trades and keeps the account flat when the daily loss limit, the maximum drawdown or a daily profit target is reached. Prop-firm style rules, an on-chart panel, and a state that survives terminal restarts.

This Expert Advisor trades fair value gaps in the direction of market structure, the way Smart Money Concepts describes it. It is the third step of a series that has been built one piece at a time: In previous shared codes, the SMC Pullback Indicator decided which highs and lows matter, the SMC Market Structure indicator turned those swings into a trend with BoS, CHoCH, IDM and liquidity sweeps, and this EA trades the result.

A quick market scan to identify sustainable trends. The script analyses all symbols from the ‘Market Overview’ in a matter of seconds and identifies instruments with the clearest and strongest price movements using R² linear regression and the ADX indicator.

The indicator shows the average rank-based price velocity

USDX Trader v1.33 — Synthetic Dollar Index chart and basket trading for MetaTrader 5 Version 1.33 · MetaTrader 5 · Any broker that offers the major USD pairs

GER40 Evening Coil is a free, fully open EA for the German 40 index on H1. It buys in the evening session after a recent narrow-range bar, when volatility is calm and volume is normal, and closes everything by 23:00 server time. Four conditions, long only, one trade at a time, a stop loss on every trade.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210