Articles with examples of indicators developed in MQL5

icon

The articles contain detailed explanation of the attached codes. Download and open them in MetaEditor and program together with the author while reading the article.

Add a new article
latest | best
preview
Analyzing Price Time Gaps in MQL5 (Part II): Creating a Heat Map of Liquidity Distribution Over Time

Analyzing Price Time Gaps in MQL5 (Part II): Creating a Heat Map of Liquidity Distribution Over Time

A detailed guide on how to create a heat map indicator for MetaTrader 5 that visualizes the price distribution over time. The article reveals the mathematical basis of time density analysis, where each price level is colored from red (minimum stay time) to blue (maximum stay time).
preview
Seasonality Indicator by Hours, Days of the Week, and Days of the Month

Seasonality Indicator by Hours, Days of the Week, and Days of the Month

The article explains how to develop a tool for analyzing recurring price patterns in financial markets — by day of the month (1-31), day of the week (Monday-Sunday), or hour of the day (0-23). The indicator analyzes historical data, calculates the average return for each period, and displays the results as a histogram with a forecast. It includes customizable parameters: seasonality type, number of bars analyzed, display as percentages or absolute values, chart colors.
preview
Analyzing Price Time Gaps in MQL5 (Part I): Building a Basic Indicator

Analyzing Price Time Gaps in MQL5 (Part I): Building a Basic Indicator

Time gap analysis helps traders identify potential market reversal points. The article discusses what a time gap is, how to interpret it, and how it can be used to detect large volume influxes into the market.
preview
Building an EquiVolume Indicator in MQL5

Building an EquiVolume Indicator in MQL5

We implement an EquiVolume indicator in MQL5 that converts standard candlesticks into volume-weighted boxes. The workflow includes selecting volume type, detecting the maximum volume within a lookback range, normalizing all values against it, and mapping them into proportional box widths. The result is a chart-based structure that visualizes trading activity intensity alongside price movement in MetaTrader 5.
preview
Modular Indicator Architecture in MQL5 (Part 1): Stop Copy-Pasting and Start Writing Scalable, Reusable Code

Modular Indicator Architecture in MQL5 (Part 1): Stop Copy-Pasting and Start Writing Scalable, Reusable Code

This article develops an object-oriented framework for MQL5 indicators by evolving a primitive example into reusable modules. It formalizes partial buffer recalculation in OnCalculate, moves logic into header-based classes (CAppliedPrice, CSma), and introduces CSubIndiBase, CIndicatorBase, and a registry to centralize requirements. You get portable components, isolated inputs, and clean buffers with minimal boilerplate, making new indicators faster to assemble and easier to maintain.
preview
How to Detect and Normalize Chart Objects in MQL5 (Part 1): Building a Chart Object Detection Engine

How to Detect and Normalize Chart Objects in MQL5 (Part 1): Building a Chart Object Detection Engine

This article addresses the interpretative gap between visual chart objects and algorithmic execution. You will build a systematic detector that iterates over all chart objects, identifies analytical types, and normalises their geometric data (time and price coordinates) into a structured SChartObjectInfo array. The implementation uses raw MQL5 functions, a filter‑extract‑store pipeline, and a timer‑driven test EA, resulting in a reusable framework for rule‑based trading inputs.
preview
Building a Megaphone Pattern Indicator in MQL5

Building a Megaphone Pattern Indicator in MQL5

Build a megaphone pattern indicator in MQL5 that detects expanding structures on the chart. The article walks through swing identification and refinement, trend line validation, breakout confirmation, and SL/TP projection, with chart objects for lines, labels, and signals. As a result, you get a rule-based implementation that automates pattern detection and produces actionable levels directly in MetaTrader 5.
preview
Market Microstructure in MQL5 (Part 3): Estimating ARFIMA d with GPH

Market Microstructure in MQL5 (Part 3): Estimating ARFIMA d with GPH

A GPH‑based estimator for d, the key ARFIMA parameter, is added to MicroStructure_Foundation.mqh. GPHEstimator() computes d via log‑periodogram regression, while PopulateARFIMAAnalysis() stores d with an R² confidence score and validates the theoretical relationship H = d + 0.5. An empirical study on 72 US100 M1 sessions confirms pooled d = −0.006, consistent with the random walk boundary established in Part 2.
preview
Overcoming Accessibility Problems in MQL5 Trading Tools (Part IV): Remote voice trading

Overcoming Accessibility Problems in MQL5 Trading Tools (Part IV): Remote voice trading

Learn a practical way to execute MetaTrader 5 trades from Telegram voice notes using a Python middleware and an MQL5 EA acting as an HTTP client. The article covers architecture, WebRequest polling, in-memory queuing, JSON parsing with null-terminator stripping, and a constrained command grammar with a 0.001-lot default. You will configure the environment and validate round‑trip latency suitable for mobile data connections.
preview
Engineering Trading Discipline into Code (Part 6): Building a Unified Discipline Framework in MQL5

Engineering Trading Discipline into Code (Part 6): Building a Unified Discipline Framework in MQL5

The article introduces a unified MQL5 discipline framework that consolidates the symbol whitelist, trading‑hours and news filters, and daily trade‑limit modules under CDisciplineEngine.mqh. It explains centralized trade validation and state synchronization shared by a chart dashboard and an enforcement Expert Advisor. Readers learn how to authorize orders through a single gate, monitor permissions in real time, and automatically enforce rules across the terminal.
preview
The MQL5 Standard Library Explorer (Part 12): Multi-Timeframe Composite-Score Dashboard

The MQL5 Standard Library Explorer (Part 12): Multi-Timeframe Composite-Score Dashboard

The article implements CMultiTimeframeMatrix, a reusable dashboard that maps symbols vs. timeframes and displays a numeric, colour‑coded score. The score combines trend, momentum, and volatility, updates by timer, and respects performance constraints. You will learn how to build the UI with CAppDialog/CLabel, compute metrics via CMatrixDouble, and embed the component into a thin EA for a consistent, real-time overview.
preview
Price Action Analysis Toolkit Development (Part 69): Flag Pattern Detection in MQL5

Price Action Analysis Toolkit Development (Part 69): Flag Pattern Detection in MQL5

This article shows how to convert subjective flag recognition into reproducible MQL5 logic for live charts. It combines ATR-normalized pole strength, retracement limits, consolidation structure checks, breakout confirmation, and overlap control. Readers gain a workable approach that renders adaptive channels and zones, updates active setups efficiently, and provides optional alerts for newly confirmed patterns.
preview
Cross Recurrence Quantification Analysis (CRQA) in MQL5: Building a Complete Analysis Library

Cross Recurrence Quantification Analysis (CRQA) in MQL5: Building a Complete Analysis Library

This article extends the MQL5 RQA library to Cross-Recurrence Quantification Analysis (CRQA) for comparing two time series. We implement dual‑series embedding, cross‑recurrence matrix construction, adapted metrics (CRR, CDET, CLAM, CENTR, and others), and rolling‑window analysis, with optional GPU acceleration via OpenCL. A ready-to-use indicator compares two symbols in real time, supporting timestamp alignment and normalization for practical inter-market analysis.
preview
Adaptive Malaysian Engulfing Indicator (Part 2): Optimized Retest Bar Range

Adaptive Malaysian Engulfing Indicator (Part 2): Optimized Retest Bar Range

The article adds a self-adaptive layer to the Malaysian Engulfing indicator by optimizing the retest bar range with a constrained brute-force search scored by MFE and MAE. It details the data model, helper routines, and an MQL5 implementation that gathers historical setups, computes excursions, and selects the best parameter. Readers learn how to remove manual tuning and run the indicator with context-appropriate settings across symbols and timeframes.
preview
Creating an EMA Crossover Forward Simulation Indicator in MQL5

Creating an EMA Crossover Forward Simulation Indicator in MQL5

A custom forward simulation engine detects fast/slow EMA crossovers and immediately projects synthetic candles ahead of the signal bar. It generates bodies and wicks using controlled logic, draws them with chart objects, and refreshes on every new signal or anchor change. You get a clear forward-looking view to test timing, visualize scenarios, and manage invalidation on the chart.
preview
Encoding Candlestick Patterns (Part 1): An Alphabetical System for Signal Detection

Encoding Candlestick Patterns (Part 1): An Alphabetical System for Signal Detection

We present a rule‑based alphabet for candlestick price action that maps measurable shape and direction to letter codes (A/a, H/h, E/e, G/g, D). The article shows an MQL5 implementation: classifying candles, building two‑bar sequences via permutations, and scanning charts with an indicator and alerts. Readers gain a practical template for objective pattern detection and systematic testing.
preview
Adaptive Malaysian Engulfing Indicator (Part 1): Pattern Detection and Retest Validation

Adaptive Malaysian Engulfing Indicator (Part 1): Pattern Detection and Retest Validation

Implement the Malaysian Engulfing concept in MQL5 with two coordinated indicators. One applies strict, body‑based engulfing rules for precise pattern detection; the other uses a state-driven model to monitor what follows—pullbacks and timed retests—directly on the chart. The result is a repeatable, rule-based workflow that replaces visual guesswork with programmable logic.
preview
Creating a Custom Tick Chart in MQL5

Creating a Custom Tick Chart in MQL5

Learn how to implement a tick-based chart in MQL5 where each bar is built from a fixed number of ticks instead of time. The article covers creating and configuring a custom symbol, capturing real-time ticks, forming OHLC values, and pushing data with CustomRatesUpdate. This approach produces activity-driven candles that better reflect market intensity and short-term momentum for precise intraday analysis.
preview
The MQL5 Standard Library Explorer (Part 11): How to Build a Matrix-Based Market Structure Indicator in MQL5

The MQL5 Standard Library Explorer (Part 11): How to Build a Matrix-Based Market Structure Indicator in MQL5

Learn to engineer an MQL5 indicator that converts trend, momentum, and volatility into a single raw score using a matrix.mqh (ALGLIB). The article covers a separate‑window oscillator to validate the core mathematics, then a main‑chart indicator that plots non‑repainting buy/sell arrows when the score crosses user‑defined thresholds. An optional long‑term EMA filter, a minimum‑bar cooldown, and built‑in alerts make the tool practical for live trading.
preview
Market Microstructure in MQL5 (Part 1): Robust Foundation

Market Microstructure in MQL5 (Part 1): Robust Foundation

This article builds the foundation layer of a twelve-part MQL5 market microstructure toolkit. It implements guarded math helpers (SafeDivide, SafeLog, SafeSqrt, SafeExp, SafeTanh), robust data validation (ValidateSymbolV2, SafeCopyClose), trimmed statistical estimators (robust mean var), a linear regression slope, shared structs, and an FFT. You compile a single include file that hardens indicators and expert advisors against silent numerical failures and standardizes data flow for later parts.
preview
From Novice to Expert: Creating an MTF CRT Overlay Indicator in MQL5

From Novice to Expert: Creating an MTF CRT Overlay Indicator in MQL5

Higher-timeframe CRT ranges are informative, yet traders often execute on lower timeframes without that context. We implement an MQL5 indicator that reads higher-timeframe OHLC, projects the full candle range, body, and wicks onto the active lower-timeframe chart, and marks entries, stops, and targets. This improves situational awareness and removes the need to switch windows.
preview
Price Action Analysis Toolkit Development (Part 68): Price-Attached RSI Panel in MQL5

Price Action Analysis Toolkit Development (Part 68): Price-Attached RSI Panel in MQL5

We present a chart-embedded RSI panel that removes the need for a separate window by attaching momentum directly to live price. The article explains the design and MQL5 code: real-time RSI retrieval, slope-based signal classification, and adaptive positioning. Traders get RSI value, state, and signal strength where decisions are made, improving clarity across timeframes.
preview
Building a Liquidity Spectrum Volume Profile Indicator in MQL5

Building a Liquidity Spectrum Volume Profile Indicator in MQL5

Build a Liquidity Spectrum Volume Profile in MQL5 that allocates volume to equal price bins over a chosen lookback using candle close prices. The guide covers data retrieval with copy functions, binning and normalization, and drawing rectangles and POC lines with chart objects and time offsets to reveal high-activity liquidity zones on the chart.
preview
Building Volatility Models in MQL5 (Part II): Implementing GJR-GARCH and TARCH in MQL5

Building Volatility Models in MQL5 (Part II): Implementing GJR-GARCH and TARCH in MQL5

The article implements GJR-GARCH and TARCH in an MQL5 volatility library and explains why asymmetry improves on standard ARCH/GARCH. It covers model formulation, parameterization, and usage through derived classes and scripts. Readers get code examples for calibration and one-step-ahead forecasting on real data to support risk and diagnostics.
preview
From Novice to Expert: Automating Base-Candle Geometry for Liquidity Zones in MQL5

From Novice to Expert: Automating Base-Candle Geometry for Liquidity Zones in MQL5

This article implements an MQL5 module that analyzes the lower‑timeframe bars inside each liquidity‑zone base candle. It detects swing points and applies objective rules to classify the internal structure as an ascending, descending, or symmetrical triangle; a rectangle; M; W; or undefined. The indicator displays geometry labels on the chart and adds the pattern to alerts, reducing manual lower‑timeframe inspection.
preview
Engineering Trading Discipline into Code (Part 4): Enforcing Trading Hours and News Disabling in MQL5

Engineering Trading Discipline into Code (Part 4): Enforcing Trading Hours and News Disabling in MQL5

An MQL5 control system that blocks orders outside scheduled trading hours and during scheduled news releases, converting time rules into executable restrictions. It combines a permissions management mechanism, a transaction-level expert advisor, and a visual dashboard for real-time status and upcoming restrictions. Configuration is accomplished using editable files, with caching and a CSV audit log for traceability.
preview
Creating a Traditional Renko Overlay Indicator in MQL5

Creating a Traditional Renko Overlay Indicator in MQL5

Create a traditional Renko indicator in MQL5 that converts candlestick closing prices into fixed-size blocks displayed on the main chart. We calculate the movement from the closing price of the last block, create new blocks of a user-defined size, confirm reversals using the two-block rule, manage block closing prices in a dynamic array, and display rectangles for visualizing the trend in real time.
preview
How to Detect Round-Number Liquidity in MQL5

How to Detect Round-Number Liquidity in MQL5

The article presents an MQL5 method for detecting psychological round numbers by converting prices to strings and counting trailing zeros (ZeroSize). It outlines the theory of institutional liquidity at integers, explains the GetZeroCount logic with tick-size normalization to avoid floating‑point errors, and details hierarchical visualization. Case studies across forex, metals, and crypto, plus timeframe filters and inputs, show how to use confluence and basic risk controls in practice.
preview
Price Action Analysis Toolkit Development (Part 66): Developing a Structured Head and Shoulders Scanner in MQL5

Price Action Analysis Toolkit Development (Part 66): Developing a Structured Head and Shoulders Scanner in MQL5

Head and Shoulders patterns are difficult to identify consistently in live market data due to noise and structural ambiguity. This article presents a structured, triangle-based MQL5 indicator that isolates pattern components, constructs the neckline, and validates formations using ATR, symmetry, and slope constraints. The system detects and draws standard and inverse patterns, assigns a quality score, and confirms breakouts with optional alerts, enabling consistent and rule-based chart analysis.
preview
Foundation Models in Trading: Time Series Forecasting with Google's TimesFM 2.5 in MetaTrader 5

Foundation Models in Trading: Time Series Forecasting with Google's TimesFM 2.5 in MetaTrader 5

Time series forecasting in trading has evolved from traditional statistical models (like ARIMA) to deep learning approaches, but both require heavy tuning and training. Inspired by advances in NLP, Google’s TimesFM introduces a pretrained “foundation model” for time series that can perform strong forecasts even without task-specific training. For traders, this is powerful because it can be efficiently fine-tuned on their own data using lightweight methods like LoRA, reducing overfitting while adapting to changing market conditions.
preview
Account Audit System in MQL5 (Part 1): Designing the User Interface

Account Audit System in MQL5 (Part 1): Designing the User Interface

This article builds the user interface layer of an Account Audit System in MQL5 using CChartObject classes. We construct an on-chart dashboard that displays key metrics such as start/end balance, net profit, total trades, wins/losses, win rate, withdrawals, and a star-based performance rating. A menu button lets you show or hide the panel and restores one-click trading, delivering a clean, usable foundation for the broader audit pipeline.
preview
Applying L1 Trend Filtering in MetaTrader 5

Applying L1 Trend Filtering in MetaTrader 5

This article explores the practical application of L1 trend filtering in MetaTrader 5, covering both its mathematical foundations and usage in MQL5 programs. The L1 filter enables extraction of piecewise-linear trends that preserve essential market structure while reducing price noise. The study analyzes parameter scaling, trend estimation behavior, and integration of the method into algorithmic trading strategies. Experimental results demonstrate how L1 trend filtering can enhance signal stability, trade timing, and overall robustness of trading systems.
preview
GoertzelBrain: Adaptive Spectral Cycle Detection with Neural Network Ensemble in MQL5

GoertzelBrain: Adaptive Spectral Cycle Detection with Neural Network Ensemble in MQL5

GoertzelBrain combines Goertzel spectral analysis with an online‑trained neural network ensemble to convert cycle features into a directional confirmation signal. The indicator builds a compact feature vector from the dominant period, amplitude, confidence and their dynamics, plus local volatility, and outputs +1, −1 or 0. The article provides the full MQL5 implementation, explains the architecture and feature engineering, and shows how to use it as a directional filter.
preview
Building a Volume Bubble Indicator in MQL5 Using Standard Deviation

Building a Volume Bubble Indicator in MQL5 Using Standard Deviation

The article demonstrates how to build a Volume Bubble Indicator in MQL5 that visualizes market activity using statistical normalization. It covers how to work with tick and real volume, compute the mean and standard deviation over a rolling window, and normalize volume values to identify relative strength. You will implement chart objects to display bubbles with dynamic size and color, providing a clear representation of volume intensity directly on the chart.
preview
Creating Custom Indicators in MQL5 (Part 11): Enhancing the Footprint Chart with Market Structure and Order Flow Layers

Creating Custom Indicators in MQL5 (Part 11): Enhancing the Footprint Chart with Market Structure and Order Flow Layers

This article extends the MQL5 footprint chart with market-structure and order-flow layers: volume-profile bars, point of control, value-area highlighting, stacked imbalance detection, absorption zones, and single-print/unfinished markers. We expand bar data structures, add functions for POC/value area, imbalance, and absorption, and build a fixed-order rendering pipeline. You will get ready-to-use inputs, metadata, and drawing utilities to integrate and customize these layers in your indicator.
preview
Trend Criteria. Conclusion

Trend Criteria. Conclusion

In this article, we will consider the specifics of applying some trend criteria in practice. We will also try to develop several new criteria. The focus will be on the efficiency of applying these criteria to market data analysis and trading.
preview
From Novice to Expert: Adaptive Risk Management for Liquidity Strategies

From Novice to Expert: Adaptive Risk Management for Liquidity Strategies

In this article, we explore practical and robust risk management techniques specifically tailored for liquidity-based trading. You will learn how to protect positions during retests, handle false breakouts with confidence, and identify signs of potential level manipulation. By the end, you will have built an adaptive Expert Advisor capable of managing zone flips and executing strategic pending orders with integrated risk control.
preview
Creating Custom Indicators in MQL5 (Part 10): Enhancing the Footprint Chart with Per-Bar Volume Sentiment Information Box

Creating Custom Indicators in MQL5 (Part 10): Enhancing the Footprint Chart with Per-Bar Volume Sentiment Information Box

The article enhances an MQL5 footprint indicator with a compact box above each candle that summarizes net delta, total volume, and buy/sell percentages. We implement supersampled anti‑aliased rendering, rounded corners via arc and quadrilateral rasterization, and per‑pixel alpha compositing. Supporting utilities include ARGB conversion, scanline fills, and box‑filter downsampling. The box delivers fast sentiment reads that stay legible across zoom levels.
preview
Creating Custom Indicators in MQL5 (Part 9): Order Flow Footprint Chart with Price Level Volume Tracking

Creating Custom Indicators in MQL5 (Part 9): Order Flow Footprint Chart with Price Level Volume Tracking

This article builds an order-flow footprint indicator in MQL5 that aggregates tick-by-tick volume into quantized price levels and supports Bid vs Ask and Delta display modes. A canvas overlay renders color-scaled volume text aligned with the candles and updates on every tick. You will learn sorting of price levels, max-value normalization for color mapping, and responsive redraws on zoom, scroll, and resize to read volume distribution and aggressor dominance inside each bar.
preview
Larry Williams Market Secrets (Part 14): Detecting Hidden Smash Day Reversals with a Custom Indicator

Larry Williams Market Secrets (Part 14): Detecting Hidden Smash Day Reversals with a Custom Indicator

This article develops a practical MQL5 indicator that identifies Hidden Smash Day bars by strict numeric criteria and optional confirmation on the following session. We cover detection routines, buffer registration, and plot configuration to place arrows at valid bars. The approach delivers stable, non-repainting signals for historical testing and real-time monitoring.