History of MQL5.community development

The most popular trading robots and technical indicators, news signals, regular incoming ready-made MQL5 programs in CodeBase and the most discussed Forum topics.

Published article "From Basic to Intermediate: Queues, Lists, and Trees (V)".

From Basic to Intermediate: Queues, Lists, and Trees (V)

In this article, we implemented the first components of a tree structure. Since I realize that this structure can be very complex at the beginning of the learning process, we will introduce it gradually, step by step. This way, everyone will be able to understand how a tree works and when it is best to use one.

Published article "Bidirectional LSTM and Quantum Computing for Predicting the Direction of Price Movement".

Bidirectional LSTM and Quantum Computing for Predicting the Direction of Price Movement

The article presents a reproducible implementation of a hybrid quantum-neural network model for algorithmic trading on Forex without using real quantum hardware. A fixed three-qubit quantum circuit in IBM Qiskit converts sliding-window statistics (mean returns, volatility, and range) into a probability distribution, from which seven quantum metrics are calculated. These features are integrated into a bidirectional LSTM architecture with regularization and mechanisms to address class imbalance, including focal loss and a sampler.

The most downloaded free products:

More than 1300 new charts published:

차트 GER40, M1, 2026.09.09 08:13 UTC, Pepperstone Group Limited, MetaTrader 4, Real
GER40, M1
График XAUUSD, D1, 2026.09.09 02:27 UTC, Ultima Markets Ltd, MetaTrader 4, Real
XAUUSD, D1
Grafico XAUUSD, M30, 2026.09.08 20:32 UTC, IC Markets (EU) Ltd, MetaTrader 5, Real
XAUUSD, M30

Bestsellers in the Market:

There are more than 59,690 products available in Market

24 new signals now available for subscription:

Gold Breakout Strat
194% 119 trades
Growth:194.16%
Equity:127.26USD
Balance:127.26USD
Gold support
40% 56 trades
Growth:39.74%
Equity:407.76EUR
Balance:407.76EUR
Account 933
37% 278 trades
Growth:36.86%
Equity:418.32USD
Balance:435.06USD
and 21 more...

2 new topics on forum:

New publications in CodeBase

  • PulseStrike Scalper - Statistical Burst Detection EA PulseStrike Scalper - Statistical Burst Detection EA
  • MT5 Symbol Changer Profit Display EMTOrdersUtility is a Real-Time Trade Monitor & Symbol Changer Utility designed for active traders who demand Real-Time visibility into their open positions across multiple financial instruments. Unlike standard terminal panels, this utility places a fully interactive, color-coded symbol grid directly on your chart — showing at a glance which instruments are in Profit, which are in Loss, how many trades are open, and what trade types are active. Whether you trade Forex, Synthetic Indices, Commodities, or CFDs, this utility eliminates the need to scroll through the Terminal window to check your exposure. Every symbol button updates in Real-Time with your running P&L, Trade Count, and Trade Type — all color-coded for instant recognition. EMTOrdersUtility v2.3: The Panel will now always list/show symbols in Alphabetical Order regardless of the original Market Watch order or the order you typed them in the manual list. It also comes without the Hide/Show Button
  • Range compression percentile Ranks the current period's range-so-far against the full historical distribution of past ranges — a true percentile, not just a comparison to the average like ADR% — and flags statistical compression or expansion on a compact live panel with a percentile gauge.
  • PropFirm Defense A library of 24 MQL5 classes that watches a prop-firm rulebook -- drawdown, daily loss, payout consistency, minimum trading days, news blackout -- against any account, and flattens on breach without ever opening a position of its own.
  • MSNR Key Levels MTF MSNR KeyLevels MultiTF draws Malaysian SNR key levels from M5, M10, M15, H1, H4 and D1 at the same time, on any chart you have open. A built-in control panel lets you switch each timeframe on and off with a single click, so you go from a clean chart to full higher timeframe context in a second, and back again just as fast.

Published article "Walsh Functions in Modern Trading".

Walsh Functions in Modern Trading

The article discusses the application of Walsh functions in trading. We will explore the basic principles of using these functions to analyze financial markets, forecast prices, and make trading decisions. We will also discuss the advantages and disadvantages of these functions, as well as the prospects for their application in trading and technical analysis.

Published article "Defining your Edge (Part 3): Using HMM and GRU in an Expert Advisor".

Defining your Edge (Part 3): Using HMM and GRU in an Expert Advisor

We examine how a Hidden Markov Model (HMM) estimates latent market regimes while basing on observable price and indicator sequences. This is done by estimating the probability of state transitions. A Gated Recurrent Unit (GRU) network models time dependencies and keeps important information over several observations. In an Expert Advisor, HMM-based regime probabilities, can be merged with GRU-based sequence learning to better classify increments in accumulation, distribution, and momentum prior to their showing up in regular price confirmations.

Published article "Partial Information Decomposition: When Two Indicators Together Say More Than Either Alone".

Partial Information Decomposition: When Two Indicators Together Say More Than Either Alone

We introduce a Partial Information Decomposition library for MQL5 that decomposes two sources about a target into four atoms: unique to each, shared, and synergy. The implementation uses quantile binning, tabulated logarithms, and a maximum-entropy fit (for I_ccs), and it pairs results with a block-permutation null because atoms sit above zero on finite samples. Use it to screen indicator pairs and judge significance, including family-wise correction.

Published article "Neural Networks in Trading: Disentangling Structured Components (Conclusion)".

Neural Networks in Trading: Disentangling Structured Components (Conclusion)

The article provides a detailed explanation of the SCNN architecture and one way to implement it using MQL5. We will show how time series decomposition can be combined with neural network methods and attention mechanisms.

Published article "Combining 3D Bars, Quantum Computing, and Machine Learning into a Unified Trading System".

Combining 3D Bars, Quantum Computing, and Machine Learning into a Unified Trading System

The article presents the full integration of the 3D-bar module into a quantum-enhanced trading system for forecasting the movement of currency pairs. The system combines stationary four-dimensional features, an 8-qubit quantum encoder, and CatBoost gradient boosting with 52+ features. The system is implemented in Python using MetaTrader 5, Qiskit, CatBoost, and optional integration with the Llama 3.2 LLM for interpreting forecasts.

Published article "Decoding Market Intent: Reading Structure, Liquidity, and Price Behavior".

Decoding Market Intent: Reading Structure, Liquidity, and Price Behavior

We implement a five-stage MQL5 pipeline that quantifies market structure, liquidity interaction, and price behavior on four timeframes, then resolves them into a 0–100 Market Intent Score. Decision states (WAIT/WATCH/ACTION) are driven by explicit weights plus hard gates. The analytical core feeds a concise dashboard and, when AutoTrade is on, an execution layer with entry zones, invalidation and liquidity‑based targets.

Published article "Building Your Personal Expert Advisor (Part 2): Risk Management and Dynamic Lot Sizing".

Building Your Personal Expert Advisor (Part 2): Risk Management and Dynamic Lot Sizing

This part implements risk-based position sizing for the EA. Lot size is derived from account balance, a chosen risk percent, and ATR-based stop distance, then confined and rounded to the broker's volume rules and minimum stop levels. An optional drawdown-aware layer reduces risk during equity declines. Readers get a reproducible sizing function that keeps per-trade risk consistent and orders acceptable to the server.

Published article "Market Simulation: Position View (XII)".

Market Simulation: Position View (XII)

In this article, you will learn how to create a visual signal on your trading platform so you can determine directly on the chart whether a position is long or short, without having to open the Terminal. In addition, the article also explains how to implement a feature that improves the display when moving Take Profit and Stop Loss lines by hiding the horizontal line that follows the mouse cursor while these lines are being moved, to avoid confusion. The article provides practical insight into setting up market simulation systems.

Published article "From Basic to Intermediate: Queues, Lists, and Trees (IV)".

From Basic to Intermediate: Queues, Lists, and Trees (IV)

In this article, we will conclude the section on the implementation and explanation of the linked list. However, the implementation presented here omits one detail that can be implemented in a linked list. We will discuss this later, in another article.

The most downloaded free products:

18 new signals now available for subscription:

BiliionMax
125% 6894 trades
Growth:125.49%
Equity:67,646.42USD
Balance:67,646.42USD
TWA fundfx
113% 237 trades
Growth:112.82%
Equity:602.16USD
Balance:602.16USD
Gold Roboforex
42% 251 trades
Growth:41.85%
Equity:0.00USD
Balance:0.00USD
and 15 more...

Bestsellers in the Market:

There are more than 59,580 products available in Market

Most downloaded source codes this month

  • LotSize Calculation This is a simple script file to compute lot size either using risk percentage approach or the actual amount to risk.
  • iS7N_TREND.mq5 Now it's two-color (or two-mode) trend indicator, the number of calculated bars can be specified.
  • Functions to simplify work with orders All we want is to think about algorithms and methods, not about syntax and values how to place orders. Here you have simple functions to manage positions in MQL5.

Most read articles this month

How to purchase a trading robot from the MetaTrader Market and to install it?

How to purchase a trading robot from the MetaTrader Market and to install it?

A product from the MetaTrader Market can be purchased on the MQL5.com website or straight from the MetaTrader 4 and MetaTrader 5 trading platforms. Choose a desired product that suits your trading style, pay for it using your preferred payment method, and activate the product.

How to Test a Trading Robot Before Buying

How to Test a Trading Robot Before Buying

Buying a trading robot on MQL5 Market has a distinct benefit over all other similar options - an automated system offered can be thoroughly tested directly in the MetaTrader 5 terminal. Before buying, an Expert Advisor can and should be carefully run in all unfavorable modes in the built-in Strategy Tester to get a complete grasp of the system.

New publications in CodeBase

  • RJO Daily Pivot Levels Classic and Fibonacci for MT5 Daily Pivot Points indicator for MetaTrader 5 with Classic and Fibonacci methods. Displays PP, R1-R3 and S1-S3 using the previous completed daily candle.
  • Gueta Position Sizer: Risk and Lot Guard HUD Real-time risk calculator and lot size guard HUD for MT5. Computes exact lot sizing based on account balance, target risk %, and dynamic ATR Stop Loss with minimum lot overshoot warning.
  • Universal Pip Value and Dynamic Lot Calculator Class for MQL5 A lightweight, OOP-compliant MQL5 header class (.mqh) for accurate pip value calculation and dynamic lot sizing across all instruments, featuring automated cross-currency rate conversion and broker volume normalization.
  • GDS Renko Replay Trainer GDS Renko Replay Trainer is a free educational tool for practising manual decisions on historical Renko charts in MetaTrader 5. Load a historical interval, replay it forward and place virtual BUY or SELL trades. You can pause, advance one tick or move to the next completed Renko brick. Each virtual position has a stop loss and take profit, and the trainer records the results of your session. The tool builds fixed-size Renko bricks from historical Bid/Ask ticks, with a classic two-brick reversal. Future ticks are not used to draw the visible chart or execute virtual trades. Buy trades use Ask for entry and Bid for exit; sell trades use the opposite sides. Orders entered on the panel wait for the next replayed valid tick. Stops and targets are checked on every tick, including price gaps.
  • VSA Glossary Built on Wyckoff Volume Spread Analysis (VSA) principles, it decodes smart money accumulation, distribution, absorption, and trend direction with zero repainting and a strict 2,000-bar performance limit.
There are more than 154,900 topics available on forum

6 new topics on forum:

and 3 more...
There are more than 3,330 articles published on site

Published article "Ecological Cycle Optimizer (ECO)".

Ecological Cycle Optimizer (ECO)

The ECO (Ecological Cycle Optimizer) algorithm offers an interesting metaphor for applying the concept of the ecological cycle to the field of metaheuristic optimization. The idea of dividing a population into trophic levels — producers, herbivores, carnivores, omnivores, and decomposers — creates a hierarchical search structure, in which each group contributes to the overall optimization process.

Published article "Neural Networks in Trading: Disentangling Structured Components (Encoder)".

Neural Networks in Trading: Disentangling Structured Components (Encoder)

We invite you to explore the next stage in implementing the SCNN framework, which combines flexibility and interpretability, allowing structural components of a time series to be identified precisely. The article provides a detailed explanation of the mechanisms of adaptive normalization and attention, which ensure the model's resilience to changing market conditions.

Published article "Tables in the MVC Paradigm in MQL5: Symbol Correlation Table".

Tables in the MVC Paradigm in MQL5: Symbol Correlation Table

In this article, we will refine the graphics library classes by adding a vertical header to the table and use the table classes to create an indicator that displays the correlation between the symbols specified in the settings.

Published article "Machine Learning Under Constraint (Part 2): Calibrating Position Size to the Remaining Drawdown Budget".

Machine Learning Under Constraint (Part 2): Calibrating Position Size to the Remaining Drawdown Budget

We present a rule-set-aware calibration chain that turns the remaining risk budget into a calibrated sigmoid scale for position sizing. It computes a ceiling from stop loss pct and safety factor, back-solves w at a reference divergence, and flattens size progressively as the budget shrinks. The paper also clarifies where leverage caps must be applied in production: at the lots conversion, since risk-based sizing alone does not enforce max leverage.

Published article "Self-Optimizing Expert Advisors in MQL5 (Part 19): Parameter Optimization For Time-Lagged Independent Components Analysis (2)".

Self-Optimizing Expert Advisors in MQL5 (Part 19): Parameter Optimization For Time-Lagged Independent Components Analysis (2)

The article shows how to tune ICA hyperparameters with a supervised evaluation pipeline and apply spectral clustering to time-lagged indicators. Cross-validation identifies the optimal number of clusters, which are translated into expected return and risk measures. These signals drive dynamic position sizing and stop-loss control, with surrogate models converted to ONNX and integrated into an MQL5 Expert Advisor.

Published article "Zero-Copy Tick Streaming (Part 1): Bridging MetaTrader 5 to Shared Memory with the Arrow C Data Interface".

Zero-Copy Tick Streaming (Part 1): Bridging MetaTrader 5 to Shared Memory with the Arrow C Data Interface

This article implements a lock-free shared-memory bridge in MetaTrader 5 that writes ticks in Apache Arrow’s columnar layout via the C Data Interface. It details the column layout, double buffering with a seqlock, and a batching strategy. You get full source for a writer class, a streaming Expert Advisor, and a self-test script that validates correctness before any Python reader is involved.

Published article "First Fractal Breakout — Intraday Strategy, Expert Advisor and Backtesting".

First Fractal Breakout — Intraday Strategy, Expert Advisor and Backtesting

This article develops a market‑structure‑driven intraday breakout system based on Bill Williams fractals. We define session bounds, derive volatility‑scaled stops, use fixed risk and take‑profit multipliers, and limit trades to one per direction. An MQL5 Expert Advisor, visualization and statistics, tick-level backtests, an ORB comparison, and a cross-asset forward test provide a complete, replicable workflow.

Published article "Market Simulation: Position View (XI)".

Market Simulation: Position View (XI)

In this article, I will show you, dear reader, how to select the objects we create on the chart and modify the position indicator so that it can perform many more functions than originally intended. We will look at how to implement the ability to move price levels and create price lines directly on the chart. Many people may find this difficult. However, you will see that we'll do this with minimal effort. You just need to give it a little thought.

Published article "From Basic to Intermediate: Queues, Lists, and Trees (III)".

From Basic to Intermediate: Queues, Lists, and Trees (III)

In this article, we will take the next step in understanding what a linked list is and how it works. Although the content of this article may seem rather complex and confusing to beginners, I will try to explain it in the simplest terms possible. This will help you understand why and when to use linked lists.

The most downloaded free products:

More than 700 new charts published:

チャート EURUSD, H1, 2026.09.07 16:34 UTC, ProopCo FX Ltd., MetaTrader 5, Real
EURUSD, H1
Grafik XAUUSDm, H1, 2026.09.07 21:02 UTC, Exness Technologies Ltd, MetaTrader 5, Real
XAUUSDm, H1
Gráfico XAUUSD, M15, 2026.09.07 02:03 UTC, Exness Technologies Ltd, MetaTrader 5, Real
XAUUSD, M15

Bestsellers in the Market:

There are more than 59,430 products available in Market

New publications in CodeBase

  • Session Manipulation and Algorithmic Reaction Tracker Closed-bar ICT/SMC session-liquidity scanner for three symbols, with confirmed MSS, FVG retests, risk/reward projections and optional macro context.
  • SMC Liquidity Sweep Scalper (Order Block EA with Live Win-Rate Tracking) A liquidity-sweep / order-block scalper with ATR-based sizing and a higher-timeframe trend filter. Every trade is tagged on the chart with the live historical win rate of that setup type — a running scorecard, not just boxes.
  • RiskPilot Pro — Drag-to-Trade Risk Panel with Break-Even, Trailing and a Daily Loss Guard Drag your stop loss where you actually want it, hit Buy or Sell, and the lot size is already correct — no calculator, no spreadsheet. Handles break-even, trailing, and shuts trading down for the day if you hit your loss limit.
  • Extract information from the MT5 broker This MT5 EA is a diagnostic tool that does not execute trades, but collects and displays technical specifications relating to the broker and the trading environment. The code is structured into four main blocks: Data Collection (CollectAll): Retrieves information on the account (leverage, currency), the symbol (digits, spread, swap, volumes, stop levels), latency (ping) and time zone (Server-UTC difference). Calculates the swap in real currency. Sampling (OnTick): Updates spread statistics (minimum, average, maximum) in real time. Output: Prints the data to the ‘Experts’ log, saves it to a CSV file and displays it on a graphical panel on the chart (UpdatePanel). Helper: Functions such as CalcSwapInCurrency and various *ToStr functions convert the broker’s raw numerical data into readable strings.
  • Contract Sizer: ladder, floor and a breaker that survives a deposit Three position-sizing protections that do different things; confusing them is why so many accounts get wiped out: - ladder: one contract per X of balance, always applied as a CAP, even with manual lot sizing; - floor: below the minimum capital it does not trade; a new deposit is needed; - breaker: stops at X% below the peak, at any account size, and does not rearm by itself. What this library solves and almost none does: a deposit is not profit, and a withdrawal is not a loss. The breaker measures the drop against the balance peak. Untreated, a deposit made DURING a drawdown lifts balance and peak together, and the protection stops seeing the drop exactly when it would help. Here deposits and withdrawals shift the peak by the same amount. The peak is persisted to a file: a breaker that forgets the peak on a terminal restart is not a breaker. The demo simulates a deposit at the bottom of a drawdown. Run it with the deposit on and off and compare the "drop" column.
  • Safe Logger: why your log lines vanish while FileOpen keeps returning success Four EAs writing to the same file, all with FILE_SHARE_READ|FILE_SHARE_WRITE, FileSeek(SEEK_END), FileWrite, FileClose. Looks correct. Every FileOpen returns success. No error in the log. And the lines vanish. Reason: FILE_SHARE_WRITE lets all four open at the same time. All four call FileSeek(SEEK_END) and get THE SAME offset, because none has written yet. All four write at the same position. Whoever closes last wins. Three lines vanish silently. In my case: 12 events expected, 8 in the file. The fix is to open EXCLUSIVELY (no FILE_SHARE_WRITE) and retry while another EA holds the file. And to shout in the log when the retries run out: a log that fails silently is worse than no log at all, because you trust it. The demo script reproduces both modes. To see the loss, drag it onto four charts at the same time with safe mode off and count the lines in the CSV. On a single chart the defect does not show up - which is why it passes in testing and breaks in production.
  • Clock Diagnostic: TimeCurrent() freezes and steps backwards TimeCurrent() is not a clock. It is the stamp of the LAST TICK. Two consequences break robots in production: 1. It freezes. With no tick it does not move: illiquid instrument, end of session, unstable connection - and any rule based on it stops with it. 2. It steps backwards: on a symbol switch, a reconnection or a tick from another instrument, the value can go back. The case that cost me a whole protection: I compared the date of a daily decision with TimeCurrent() to reject an expired one. The server clock stepped back to the previous day, the comparison matched, and four EAs accepted YESTERDAY's decision as valid. The gate that should have failed closed failed open - without a single error in the log. Rule: TimeLocal() for timestamps, dates, day changes, expiry - all that must always move forward; TimeCurrent() for session hours and market data. The script measures the divergence in your environment and reports both symptoms live. Run it with the market closed.
  • Gold Hour Profile - when gold moves, and when the spread eats it Measures, hour by hour, how far a symbol travels and how much of that the spread takes away. Built for gold, works on any symbol, compares several side by side.
  • CGoldSymbol - find the broker's gold and size the position correctly on it Detects the gold symbol whatever the broker calls it, reads the contract specification from the terminal instead of assuming it, and turns a risk in account currency into a lot size that is correct for that broker.
  • OHLC Reality Check - at what stop distance does your backtest start lying? Opens a virtual bracketed trade on every M1 bar, walks it forward on the real tick history, and reports for a sweep of stop distances how often 1-minute OHLC modelling would score the trade the wrong way round.
  • SessionReopenEA Gold has a daily maintenance break on the CME. The first hour after it rises more than chance explains, in every calendar year of an 11-year sample - while every other hour of the day measures flat. One trade per session, a volatility-scaled server-side stop, no averaging or grid. Then my cost model turned out to be wrong. A real-tick backtest showed the true round-trip cost at the reopen is about 60 points, not the 19 my research had charged - the M1 bar spread field is a per-bar summary and understates it roughly threefold. Re-running 11 years at the corrected cost: +3.34 bps, t 7.40, 59.3% wins -> +1.60 bps, t 3.42, 50.8% wins The edge survives, at less than half its original strength. That second number is the real one. What it is not: about +3.3% a year with 4.6% drawdown, roughly one year in nine negative. At 0.01 lots that is ~130 a year - a figure that measures the position size, not the strategy.
There are more than 12,400 codes published in Codebase

16 new signals now available for subscription:

Kingfisher
443% 372 trades
Growth:443.37%
Equity:1,073.38USD
Balance:1,073.38USD
You Know The Way
238% 223 trades
Growth:237.85%
Equity:2,460,256.88IDR
Balance:3,038,290.53IDR
BotCAD302
68% 2352 trades
Growth:67.65%
Equity:0.67USD
Balance:0.67USD
and 13 more...

3 new topics on forum:

Published article "Machine Learning Under Constraint (Part 1): A Configurable Rule Set for Prop-Firm Position Sizing".

Machine Learning Under Constraint (Part 1): A Configurable Rule Set for Prop-Firm Position Sizing

Hardcoded prop-firm rules lock the sizer to one program. This article factors those rules into a PropFirmRuleSet and refactors PropFirmAccountState and the sizing modifiers to consume it, including dynamic versus fixed daily limits and the news-window profit-credit haircut. Parity against the original FundedNext behavior is validated on a simulated equity path, so you can retarget sizing by configuration instead of rewriting code.

Published article "Market Simulation: Position View (X)".

Market Simulation: Position View (X)

We need a way to handle the graphical objects we create. The approach presented in the previous article works very well for certain scenarios. In this case, we will need something more complex, given the specific nature of the problem at hand. Therefore, we will not attempt to replace the ZOrder management mechanisms already present in MetaTrader 5, nor, of course, will we check which object is in the foreground or covered by another object. We are going to do something completely different. Here, I will show you what changes need to be made to the code in order to use part of what MetaTrader 5 already does for us.

Published article "From Basic to Intermediate: Queues, Lists, and Trees (II)".

From Basic to Intermediate: Queues, Lists, and Trees (II)

This is an article that you, dear reader, should study carefully. That is due to the nature of the material presented here. Although we have tried to present the material as simply and informatively as possible, the information provided here can certainly seem quite complex to those who are just beginning to learn programming. Nevertheless, this is no reason to lose heart or ignore what is explained here, as this article will establish a link between two completely different, though closely related, topics.

Published article "Building a Bar Replay Tool in MQL5".

Building a Bar Replay Tool in MQL5

This article shows how to build an interactive bar replay tool in MQL5 for MetaTrader 5 that reveals historical candles one by one without exposing future data. You will implement custom candles with DRAW COLOR CANDLES, an event-driven engine with OnChartEvent and OnTimer, a dashboard with Play/Pause, a draggable replay anchor, and Buy/Sell paper trading with SL/TP lines, while keeping the active bar in view to practice discretionary analysis and execution.

Published article "Price Action Analysis Toolkit Development (Part 81): Adding Persistent Historical Bookmarks to an MQL5 Navigator".

Price Action Analysis Toolkit Development (Part 81): Adding Persistent Historical Bookmarks to an MQL5 Navigator

We introduce a persistent bookmark layer for the MetaTrader 5 History Navigator. Bookmarks capture a chart's symbol, timeframe, and historical position with a name and notes, write them to a CSV file, and reload them later without manual date entry. The implementation integrates bookmark management into the current navigation engine, enabling quick creation, selection, navigation, and deletion for efficient historical study.

1...131415161718192021222324252627...702