en
Feedback
MQL5 Algo Trading

MQL5 Algo Trading

Open in Telegram

The best publications of the largest community of algotraders. Subscribe to stay up-to-date with modern technologies and trading programs development.

Show more

๐Ÿ“ˆ Analytical overview of Telegram channel MQL5 Algo Trading

Channel MQL5 Algo Trading (@mql5dev) in the English language segment is an active participant. Currently, the community unites 513 257 subscribers, ranking 152 in the Technologies & Applications category and 5 in the United Kingdom region.

๐Ÿ“Š Audience metrics and dynamics

Since its creation on ะฝะตะฒั–ะดะพะผะพ, the project has demonstrated rapid growth, gathering an audience of 513 257 subscribers.

According to the latest data from 23 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 8 960 over the last 30 days and by 152 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 3.48%. Within the first 24 hours after publication, content typically collects 1.78% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 17 846 views. Within the first day, a publication typically gains 9 117 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 41.
  • Thematic interests: Content is focused on key topics such as indicator, chart, mql5, candle, range.

๐Ÿ“ Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
โ€œThe best publications of the largest community of algotraders. Subscribe to stay up-to-date with modern technologies and trading programs development.โ€

Thanks to the high frequency of updates (latest data received on 24 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

513 257
Subscribers
+15224 hours
+1 6797 days
+8 96030 days
Posts Archive
Manual chart-object monitoring fails for three reasons: reaction latency, poor scalability across symbols/timeframes, and sub
Manual chart-object monitoring fails for three reasons: reaction latency, poor scalability across symbols/timeframes, and subjective โ€œdid it touch?โ€ decisions. The article extends earlier MT5 object enumeration/normalization work into an automated pipeline that turns drawn tools into consistent, testable triggers. The solution reuses normalized geometry in SComplexObjectInfo, then adds interaction logic that evaluates sloped objects at the current time (trendlines, channels, pitchfork median/levels) instead of comparing against static anchors. It also handles mixed object models: HLINE/VLINE single-axis coordinates, rectangles as zones, and Fibonacci levels read from the objectโ€™s level arrays. Architecture is split into modules: an updated collector (now includes HLINE/VLINE), an InteractionDetector that outputs touch/cross/breakout events with dir... ๐Ÿ‘‰ Read | Signals | @mql5dev

This part turns MMAR parameter estimates into a full synthetic price path via a single, stateless CSimulationEngine class des
This part turns MMAR parameter estimates into a full synthetic price path via a single, stateless CSimulationEngine class designed for repeatable Monte Carlo runs. It relies only on MT5 Standard Library components: ALGLIB FFT and linear algebra plus Normal/Gamma/Poisson RNG, while keeping each intermediate array for inspection and validation. Stage 1 builds multifractal trading time with a binary multiplicative cascade. Random multipliers come from the fitted distribution using M = b^(-V), are clamped for numerical safety, pair-normalized to conserve mass, then integrated into a CDF theta(t) that creates fast/slow market time. Stage 2 generates fractional Brownian motion with H using either exact Cholesky (small n) or FFT-based Daviesโ€“Harte (large n), with fallback on failure, then rescales to match observed volatility. Stage 3 composes X(t)=B_H[theta... ๐Ÿ‘‰ Read | Freelance | @mql5dev

Weekend gap trading can be automated by pairing a custom indicator with an MQL5 Expert Advisor that executes orders from indi
Weekend gap trading can be automated by pairing a custom indicator with an MQL5 Expert Advisor that executes orders from indicator buffers. The indicator must expose buffers read via CopyBuffer(). Six buffers are used: buy/sell arrows plus TP/SL for each direction. Buffers are registered with SetIndexBuffer(), and the EA connects through iCustom() to avoid re-implementing gap detection. The EA structure centers on inputs (lot size, slippage, magic, closed-bar confirmation, duplicate handling, opposite-position logic, midpoint SL rules), a CTrade instance, an indicator handle, buffer arrays, and state variables. Utility functions centralize buffer reads, empty checks, duplicate-bar tracking, position lookup, stop validation, and optional reversal. OnTick() runs once per new bar, copies buffers, validates setups against broker stop distances, places Buy/Sel... ๐Ÿ‘‰ Read | CodeBase | @mql5dev

Short rolling Sharpe readings in MT5 often look like โ€œalphaโ€ but are mostly estimation noise: the standard error shrinks only
Short rolling Sharpe readings in MT5 often look like โ€œalphaโ€ but are mostly estimation noise: the standard error shrinks only with 1/โˆšn, so 40โ€“60 bars canโ€™t reliably separate skill from randomness. The article formalizes this using Loโ€™s Sharpe standard error, then annualizes both Sharpe and its uncertainty to build a practical confidence band. RollingSharpe.mq5 plots annualized Sharpe plus upper/lower bounds at ยฑ1.96ยทSE. The core rule is simple: if the band crosses zero, the observed Sharpe is not statistically significant. On the engineering side, it addresses MT5โ€™s recalculation pitfalls (prev_calculated=0, partial history) by using stateless per-bar, two-pass variance computation for the indicator, while providing reusable O(1) circular-buffer classes for EAs where sequential updates are safe. ๐Ÿ‘‰ Read | Calendar | @mql5dev

Static-weight SMA/EMA filters canโ€™t handle regime shifts: they jitter in tight ranges and lag on breakouts. This piece replac
Static-weight SMA/EMA filters canโ€™t handle regime shifts: they jitter in tight ranges and lag on breakouts. This piece replaces the fixed blend with a scalar Kalman smoother where the per-bar Kalman Gain becomes the optimal, adaptive weight between the latest close and the prior estimate. The model treats price as a latent โ€œtrueโ€ state with a random-walk process and noisy measurements. Process noise Q and measurement noise R are estimated online from rolling variances of returns and price deviations, then floor-clamped to avoid zero-volatility degeneration. Implementation details focus on MT5 usability: a native MQL5 indicator with controlled warmup, stable single-pass rolling variance, incremental OnCalculate updates, and Kalman Gain exposed in the Data Window via an invisible INDICATOR_DATA plot (clrNONE) without adding chart clutter. ๐Ÿ‘‰ Read | AppStore | @mql5dev

MetaTrader 5 object events provide a structured way to react to chart object lifecycle changes, including click, move, proper
MetaTrader 5 object events provide a structured way to react to chart object lifecycle changes, including click, move, property edits, creation, and deletion. Most of these notifications are disabled by default and must be explicitly enabled, reducing overhead when object monitoring is not required. Event-based handling avoids constant polling of object state, which increases CPU use and complexity. It also supports defensive logic when users modify application-owned objects, intentionally or accidentally. A practical case is object duplication via Ctrl+drag. MT5 generates a new standardized name (timeframe, object type, random suffix), which can be used to detect likely duplicates and enforce rules such as single-instance informational objects. ๐Ÿ‘‰ Read | Forum | @mql5dev

Work on a MetaTrader 5 custom crosshair indicator in MQL5, built from mouse event handling without requiring OOP. Key point i
Work on a MetaTrader 5 custom crosshair indicator in MQL5, built from mouse event handling without requiring OOP. Key point is converting OS screen X/Y into chart time/price via ChartXYToTimePrice, then driving OBJ_VLINE and OBJ_HLINE with those values. Intraday timestamps on higher timeframes are expected due to fractional coordinate mapping. Implementation evolves from always-on crosshair to middle-button toggle, then adds hide/show control via a key event. Price is normalized to the symbol tick size to keep the horizontal line on valid tradable prices. Final step extracts the crosshair logic into a header, adds a structure to return current mouse-derived values, and keeps the indicator file minimal for reuse across tools. ๐Ÿ‘‰ Read | Signals | @mql5dev

Many MT5 trading models fail live because they overfit history and donโ€™t cope with regime shifts; accuracy often collapses to
Many MT5 trading models fail live because they overfit history and donโ€™t cope with regime shifts; accuracy often collapses to the lowโ€‘50% range with large drawdowns. The article proposes a โ€œquantum-inspiredโ€ architecture that treats market signals as interacting components: superposition (conflicting multi-timeframe evidence), interference (signals reinforcing/canceling), decoherence (event impact decays), and resonance (cycle alignment amplifies trends). The EA processes 400+ quantized features (price, volume, indicators, patterns, time/cycle signals) through a pipeline combining quantum-style signal processing, multi-level memory, Markov regime states, transformer attention, and a 256-dim state-space model for long-horizon dynamics. It also uses dynamic class weighting to improve recall on rare strong-move events. Delivered as MQL5 source (Simpl... ๐Ÿ‘‰ Read | NeuroBook | @mql5dev

MetaTrader 5 frames AI trading as an end-to-end engineering workflow: terminal-grade market data, research in Python, model d
MetaTrader 5 frames AI trading as an end-to-end engineering workflow: terminal-grade market data, research in Python, model deployment, deterministic testing, and automated execution in one ecosystem. The emphasis is on turning ideas into reproducible systems, not persuasive predictions. Python integration pulls bars, ticks, symbol specs, and account state directly from the terminal, reducing train/live data mismatches. Trained models can be exported to ONNX and embedded into MQL5 EAs, keeping inference local and testable in the Strategy Tester. For LLM-assisted analysis, WebRequest can power an on-chart assistant, but external services are non-deterministic and unavailable in the Strategy Tester. The practical pattern is structured LLM outputs plus an โ€œAI signal dispatcherโ€ that validates confidence, margin, broker limits, duplicates, and strategy r... ๐Ÿ‘‰ Read | NeuroBook | @mql5dev

A time-based exit routine can be built by storing configured hour and minute values, then checking the platform time on each
A time-based exit routine can be built by storing configured hour and minute values, then checking the platform time on each tick. When the current time matches the configured schedule, the logic can run only once per day to prevent repeated triggers. A separate date check should confirm that the current weekday is Friday before acting. If not Friday, the routine should exit without changes. When both conditions are met, filter open positions by symbol (currency pair) and evaluate profit per position. Close only positions with positive profit, leaving losing or zero-profit positions untouched. Use reliable order/position iteration, handle partial fills, validate trade permissions, and log close results and error codes for auditing. ๐Ÿ‘‰ Read | Signals | @mql5dev

The article reframes โ€œmarket physicsโ€ as modeling price with measurable components rather than intuitive narratives. Since pr
The article reframes โ€œmarket physicsโ€ as modeling price with measurable components rather than intuitive narratives. Since price is discrete, derivatives are treated as average changes over a fixed step, and only statistical properties (expectation, variance) are considered realistically exploitable. A practical simplification is proposed: approximate the predictable component via market-player pressure, expressed as the imbalance between aggregated buy and sell volumes. To avoid unreliable, broker-specific tick streams, the model prefers bar data (O/H/L/C) for stability and speed. It then outlines four ways to extract patternsโ€”hand-built formulas, order-flow simulation, general mathematical principles, and machine learningโ€”highlighting a position-simulator EA that places stop/limit/market order grids per bar, updates incrementally, and trades on the evolvi... ๐Ÿ‘‰ Read | Forum | @mql5dev

An Expert Advisor design combines three standard building blocks: ADX for trend strength confirmation, EMA for pullback timin
An Expert Advisor design combines three standard building blocks: ADX for trend strength confirmation, EMA for pullback timing, and ATR for volatility-scaled risk controls. Signal processing is restricted to closed bars on a selectable indicator timeframe and evaluated once per new bar. Entry requires ADX above a threshold and rising versus the prior bar, filtering out flat or weakening conditions. A pullback is identified when the price-to-EMA distance (normalized by ATR) transitions from at-or-above a configured ratio to below it on the next bar, indicating a completed approach-and-rejection sequence. Direction is taken from +DI and -DI on the prior bar, with optional buy-only or sell-only constraints. Stop loss is set as ATR multiplied by an SL factor, while take profit is derived via a fixed risk-reward ratio. Execution enforces one open position per sy... ๐Ÿ‘‰ Read | Forum | @mql5dev

Retail volume bars report transaction count per period, but without price response they add little. High volume with limited
Retail volume bars report transaction count per period, but without price response they add little. High volume with limited price progress often signals absorption rather than trend strength, with aggressive flow being met by resting liquidity. Kyleโ€™s Lambda measures liquidity density via a simple impact ratio: |ฮ”Price|/Volume. The result approximates the cost to move price by one point, separating real participation from low-quality moves driven by thin liquidity. Low lambda during high volume indicates absorption and potential accumulation or distribution zones. High lambda spikes flag liquidity vacuums where small volume produces outsized gaps and unstable continuation. Implementation notes for MT4 include backward-index parsing to minimize CPU load in a single-threaded runtime, plus division guards for session opens, weekend gaps, and zero-v... ๐Ÿ‘‰ Read | Calendar | @mql5dev

Part 2 moves from option emulation theory to a working MT5 EA that trades the underlying while tracking an emulated optionโ€™s
Part 2 moves from option emulation theory to a working MT5 EA that trades the underlying while tracking an emulated optionโ€™s delta. The EA converts โ€œemulation levelsโ€ into real positions and continuously rebalances to keep the synthetic exposure aligned with the selected construction (Long/Short Call/Put), using daily expiration. The design introduces an option-construction base class built on MQL5โ€™s CList, letting developers compose portfolios and compute total delta by iterating contained options. A range-setting method normalizes delta behavior per strike, making future multi-leg strategies straightforward to extend. On each tick, the EA updates the current level, adds or closes market positions when the level changes, and fully exits at level zero or at the forced expiration time. Practical details include lot-step normalization, magic-number encoding p... ๐Ÿ‘‰ Read | NeuroBook | @mql5dev

AlternativeBarsViewer adds in-terminal inspection for the 10 alternative bar types from Lรณpez de Prado, using the same CBarCo
AlternativeBarsViewer adds in-terminal inspection for the 10 alternative bar types from Lรณpez de Prado, using the same CBarConstructor hierarchy as BarBuilderEA to keep outputs consistent across EA, indicator, and Python checks. Three data sources are supported: real ticks via CopyTicksRange with millisecond deduplication, synthetic ticks derived from chart OHLC, and replay from the EAโ€™s per-type CSV with auto reload on file size changes. Tick and OHLC modes also show the current forming bar. Rendering uses DRAW_COLOR_CANDLES with buffers for OHLC plus a color index. Closed bars can be projected by time-slot alignment or packed sequentially by index. Colors separate bullish, bearish, and in-progress bars, and surface degenerate bars that close with minimal tick volume. A lightweight subwindow panel reports bar stats, degenerate counts, last times... ๐Ÿ‘‰ Read | NeuroBook | @mql5dev

Adding timing, logging, or filtering directly into an RSI class turns one indicator into a shared container for unrelated con
Adding timing, logging, or filtering directly into an RSI class turns one indicator into a shared container for unrelated concerns. Each edit increases regression risk, expands the test matrix across EAs, and raises merge-conflict probability. These concerns belong to usage context, not to RSI computation. A decorator chain keeps the core indicator closed for modification. All components implement IIndicator with GetValue(shift) and GetName(). Decorators wrap an IIndicator pointer, delegate calls downward, then add behavior before or after the delegation. The EA holds only the outermost IIndicator*. Typical stack: CTimingDecorator โ†’ CLoggingDecorator โ†’ CThresholdFilterDecorator โ†’ CRSIIndicator. Order matters: side-effect decorators observe; filters transform values. Ownership is hierarchical: deleting the outermost decorator frees the entire chain safely. ๐Ÿ‘‰ Read | AppStore | @mql5dev

DA-CG-LSTM targets dynamic multivariate time series where volatility and latent drivers degrade classical forecasting. The de
DA-CG-LSTM targets dynamic multivariate time series where volatility and latent drivers degrade classical forecasting. The design combines dual attention with a modified CG-LSTM to separate relevant signals from noise while retaining both long-range dependencies and short-term reactions. Feature attention reweights inputs per timestep, then temporal attention selects informative history windows. The CG-LSTM block adds control over memory updates using feature and time relevance, improving stability on long sequences and reducing stochastic artifacts. Implementation work in MQL5 consolidates existing components: a linear attention module reused from Hidformer and a previously implemented CG-LSTM block. Model design extends beyond point forecasts by integrating an encoder latent space with an Actor-Director-Critic RL stack, plus a probabilistic trend m... ๐Ÿ‘‰ Read | Calendar | @mql5dev

This part extends an MQL5 replay/simulation stack by turning a SQLite helper class from โ€œrun scripts onlyโ€ into a component t
This part extends an MQL5 replay/simulation stack by turning a SQLite helper class from โ€œrun scripts onlyโ€ into a component that can execute SELECT queries and expose result sets to MQL5 code. It highlights a behavioral mismatch in MT5โ€™s built-in SQLite (Build 3815): dropping tables with active foreign-key relationships can fail when the same script is executed again shortly after, while standalone SQLite may succeed. A practical workaround is deleting the database file and recreating it from embedded SQL resources. On the implementation side, the database is built from two embedded scripts: one for schema, one for seed data. Query support is added via DatabasePrepare for prepared statements, DatabaseFinalize to release prior statements, and a separate read step to consume results, avoiding redundant queries and improving performance for trading tools. ๐Ÿ‘‰ Read | Forum | @mql5dev

MetaTrader 5 does not emit mouse events for chart apps by default to protect performance, so indicators and EAs must explicit
MetaTrader 5 does not emit mouse events for chart apps by default to protect performance, so indicators and EAs must explicitly enable only the required mouse resources and reliably disable them on shutdown. Failing to โ€œturn off what was turned onโ€ can leave a chart generating unnecessary events and degrade responsiveness. Mouse input is received through OnChartEvent, with separate handling for move and wheel actions. Mouse coordinates are reported only inside the chartโ€™s client area, using chart-local coordinates, and values often need explicit type conversion before display or logic. The article also covers controlled capture of mouse buttons and related UI controls. Developers can temporarily block built-in chart behaviors (dragging, context menu, crosshair, keyboard scrolling/zoom, ENTER symbol input) to avoid conflicts, but must restore default... ๐Ÿ‘‰ Read | Forum | @mql5dev

The SymbolInfo sample has been reworked from a single source file plus two headers into a three-file variant where each unit
The SymbolInfo sample has been reworked from a single source file plus two headers into a three-file variant where each unit now contains two functions and explicit call sites. Output rendering was also redesigned to improve readability and consistency. Nine output fields were added. Seven are standard symbol attributes, with two additional risk-related values: Margin Required (MT4 naming) and Standard Leverage. Margin Required is derived from the symbolโ€™s Margin Calc Mode, while Standard Leverage is derived from Margin Required and may differ by volume depending on broker rules. All formulas and calculation steps follow the standard MQL5 documentation. ๐Ÿ‘‰ Read | AppStore | @mql5dev