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 520 840 subscribers, ranking 149 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 520 840 subscribers.

According to the latest data from 12 July, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 10 489 over the last 30 days and by 366 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 3.33%. Within the first 24 hours after publication, content typically collects 1.88% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 17 331 views. Within the first day, a publication typically gains 9 784 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 38.
  • 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 13 July, 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.

520 840
Subscribers
+36624 hours
+3 6997 days
+10 48930 days
Posts Archive
Part 38 extends the MQL5 object editor from a floating ribbon to a full tabbed settings window for complete property coverage
Part 38 extends the MQL5 object editor from a floating ribbon to a full tabbed settings window for complete property coverage. A new CSettingsWindow (derived from CRibbon) opens from the ribbon’s Settings button, binds to the selected chart object, and reuses the existing descriptor list, engine get/set API, and shared popovers (color, width, style). The UI is organized into Style, Text, Coordinates, and Visibility tabs with a scrollable body. Level lists expand into per-level rows with visibility, ratio, color, width, and style fields. Coordinates adds exact price/time entry for anchors, plus bounded numeric chip editing. Edits preview live via a property snapshot. Closing commits by discarding the snapshot, or cancels by restoring it and redrawing the object set. 👉 Read | Signals | @mql5dev

This article turns a Takens-embedded price point cloud and distance matrix into a computable Vietoris–Rips filtration, ready
This article turns a Takens-embedded price point cloud and distance matrix into a computable Vietoris–Rips filtration, ready for persistent homology. It enumerates simplices up to dimension 2 (vertices, edges, triangles), assigns filtration values (0, pairwise distance, max edge in a triangle), and sorts by filtration with dimension tie-breaks so faces always precede cofaces. CTDARips focuses on performance: single-pass construction, amortized O(1) appends, then a global sort. Post-sort lookup tables map vertices and edges to global simplex indices in O(1), avoiding costly scans during boundary construction. CTDABoundary builds a sparse boundary matrix over Z/2 using packed buffers and per-column offsets. Each column stores face indices in ascending order so pivots are cheap to read during reduction. A small square example and combinatorial counts va... 👉 Read | Calendar | @mql5dev

Part II extends the stateful supply/demand zone framework with persistence and event-driven synchronization in MetaTrader 5.
Part II extends the stateful supply/demand zone framework with persistence and event-driven synchronization in MetaTrader 5. Polling-based chart scans are replaced by OnChartEvent(), reducing per-tick overhead and routing user actions only when object lifecycle events occur. Market processing remains in OnTick(), while manual chart interactions are handled independently to avoid accidental overwrites. The synchronization layer is decomposed into focused handlers: RegisterHybridZone() for onboarding new rectangles, UpdateZoneCoordinates() for coordinate sync and promotion from engine-managed to user-managed on manual edits, and RemoveZoneByName() for safe retirement, reverse-iteration deletion, blacklist protection, and final lifecycle capture. A structured routing layer classifies inbound platform events and dispatches them to dedicated processors, ... 👉 Read | NeuroBook | @mql5dev

Algorithmic trading optimization continues to shift toward metaheuristics when parameter counts make grid search impractical.
Algorithmic trading optimization continues to shift toward metaheuristics when parameter counts make grid search impractical. A recent implementation review covers the Artificial Atom Algorithm (A3), proposed in 2018, with atoms as candidate solutions and electrons as decision variables, using covalent and ionic bond operators. The reference paper leaves key operators underspecified, including bonding mechanics and any meaningful way to “sort electrons”. A pragmatic implementation resolves gaps with conventional population-optimizer structure: random initialization, iterative position updates, and strict range/step discretization. Core design uses a C_AO base plus S_AO_Agent state (current/previous/best/worst coordinates and fitness). A3 adds Moving() with a covalent subset biased toward global best and a remaining subset sampling interactions, plu... 👉 Read | Docs | @mql5dev

V1N1 LONNY is a multi-symbol Asian Range Breakout day-trading EA focused on London session breakouts. It places BuyStop/SellS
V1N1 LONNY is a multi-symbol Asian Range Breakout day-trading EA focused on London session breakouts. It places BuyStop/SellStop pending orders, anchored to the latest Parabolic SAR swing plus an ATR-based buffer. The pre-London Asian range, measured on real H1 bars, defines a strict no-trade zone. Buy stops are only valid above the Asian high and sell stops only below the Asian low. Trade qualification combines PSAR, MACD direction, and Stochastic to avoid overbought/oversold entries. An ADR-based filter ignores Asian ranges that are too small or too large. Stops are set at the opposite PSAR swing and bounded by ADR-derived limits. Take profit is calculated from stop distance using a fixed ratio. Management includes MACD reversal exits, trailing, break-even, scheduled flattening near New York close or symbol session close, plus daily profit/loss shutdown. ... 👉 Read | Calendar | @mql5dev

Gold FVG Finder detects fair value gaps (FVG) as market imbalance zones and marks the first retest with an arrow. Designed fo
Gold FVG Finder detects fair value gaps (FVG) as market imbalance zones and marks the first retest with an arrow. Designed for liquid instruments including XAUUSD and major FX pairs, covering M5 to H4. An FVG is formed when price moves quickly, leaving a gap between the wicks of the first and third candles that is not covered by the middle candle body. These areas are treated as unfilled liquidity, with the primary signal generated on the first return to the zone. Chart output includes green bullish zones and red bearish zones, each with a 50% Consequent Encroachment level. Arrows trigger on the first touch only to prevent repeated entries. A panel shows current RSI and active zone count. Options include an RSI filter (period, overbought/oversold thresholds), alerts, colors, and max history depth. M15 is cited as the preferred balance for XAUUSD, wi... 👉 Read | Calendar | @mql5dev

Session Boxes is an MT5 custom indicator that plots per-day rectangular ranges for the Asia, London, and New York sessions us
Session Boxes is an MT5 custom indicator that plots per-day rectangular ranges for the Asia, London, and New York sessions using internally sourced H1 data. Each box spans the session’s first-to-last H1 bar and covers the full high-low range, with configurable GMT session windows and a broker server offset parameter. Core logic converts server time to GMT via InpBrokerGMTOffset, then classifies each H1 bar with an hour-range check that supports cross-midnight sessions through IsHourInSession. A daily tracking rule ensures one rectangle per session per calendar day. Interpretation is straightforward: Asia range can act as pre-London reference levels, London often defines the primary directional range, and the London/NY overlap typically increases volatility. Lookback depth and colors are configurable. 👉 Read | VPS | @mql5dev

Part 2 replaced math analogues (cosine/sine/exponential) with a virtual 3‑qubit processor: 8‑state Hilbert space, unitary gat
Part 2 replaced math analogues (cosine/sine/exponential) with a virtual 3‑qubit processor: 8‑state Hilbert space, unitary gates, normalization, and measurement behavior. This shift targets superposition, entanglement, and non‑commuting operations that classical pipelines miss. Reported limits: LSTM ~58% accuracy, transformer noise sensitivity, ARIMA degradation, and overfitting instability. Circuit construction is data-driven: rotations parameterized by price moves, controlled-phase gates by feature correlations, Hadamard by uncertainty. Evolution order matters; decoherence strength tracks regime changes. Measurements extract Z/X statistics and two‑qubit correlations, using non-destructive reads in simulation. Hybrid output feeds classical components and transformer attention (Q/K). Implemented as an MT5 EA in MQL5. 2024–2025: +13.3% annual, 2.39%... 👉 Read | CodeBase | @mql5dev

A new MQL5 Wizard custom signal class, CSignalUKFCapsNet, targets the “noisy middle” where classic indicators and regime mode
A new MQL5 Wizard custom signal class, CSignalUKFCapsNet, targets the “noisy middle” where classic indicators and regime models struggle on fast, erratic markets. Engine 1 uses an Unscented Kalman Filter-style hidden-state estimator to treat price as a noisy measurement and produce a low-lag baseline trend without moving-average whipsaw. Engine 2 adds a Capsule Network as a structural validator, checking whether the proposed direction matches current volatility boundaries (ATR) and momentum pace (RSI). Low-confidence setups are suppressed via vector squashing. The class supports UKF-only or UKF+CapsNet testing, and offers four modes: volatility breakout, mean reversion, trend following, and consolidation squeeze—giving developers switchable logic for different intraday conditions. 👉 Read | NeuroBook | @mql5dev

This article turns candlestick charts into analyzable data by encoding each bar as a single symbol (A/G/H/E for bullish types
This article turns candlestick charts into analyzable data by encoding each bar as a single symbol (A/G/H/E for bullish types, a/g/h/e for bearish, D for doji, and “_” for unclassified). Using 1,500-bar samples of GBPUSD and XAUUSD on H1/M15/M5, an MQL5 script generates an encoded series plus per-symbol counts and percentages in a TXT report. On GBPUSD, Marubozu-like candles (A/a) dominate at ~20–22% each, while 32–36% of bars fall into the unclassified bucket, signaling where the taxonomy may need refinement. Bullish and bearish totals stay nearly symmetric across timeframes, and M5 shows a noticeable rise in doji frequency. The practical output is a reproducible market “profile” that can feed next-step modeling: two-symbol pattern frequencies and transition probabilities for systematic strategy research. 👉 Read | AppStore | @mql5dev

This article moves MT5 metric export from backtest-only CSV dumps to a live streaming pipeline that stays useful during activ
This article moves MT5 metric export from backtest-only CSV dumps to a live streaming pipeline that stays useful during active market hours. The goal is continuous observability: indicator values, session counters, and equity snapshots become an auditable stream instead of an end-of-session artifact. The design is a decoupled three-layer system: an MQL5 include that buffers rows and flushes in batches, a daily rotating CSV in the common files folder, and a Python tail daemon that reads appended rows, maintains rolling windows, and logs anomalies. Key engineering details: open-write-close I/O to avoid long-held handles, configurable buffering to control latency vs. data loss risk, midnight-UTC rotation to cap file size, and per-symbol/timeframe filenames to prevent multi-chart conflicts. A demo indicator shows gating to avoid exporting historical back... 👉 Read | Signals | @mql5dev

The logic targets sessions with high-impact (red) economic events. It counts qualifying news items for the current date, then
The logic targets sessions with high-impact (red) economic events. It counts qualifying news items for the current date, then evaluates the next scheduled release time. Before the release window, the EA places a pending order based on the configured direction, either Buy Stop/Buy Limit or Sell Stop/Sell Limit. Order placement is gated by the news count and the remaining time to the event, to avoid triggering outside the defined pre-news period. Typical safeguards include preventing duplicate pending orders for the same event, applying spread and slippage limits, and removing or disabling orders after the release if the setup is no longer valid. 👉 Read | Quotes | @mql5dev

SQLite access in MetaTrader 5 still needs defensive testing, especially around result handling. Query execution and result re
SQLite access in MetaTrader 5 still needs defensive testing, especially around result handling. Query execution and result reading are coupled: ExecRequestOfData must run before any read, because DatabaseReadBind returns rows from the last executed request. A generic wrapper around DatabaseReadBind is used to mitigate MQL5 type constraints. The binding API effectively behaves like a void reference in C/C++, so templates are used to accept varying row structures without rewriting code when result shapes change. Testing shows strict ordering rules. Field order in SELECT must match the structure used for reading, including joins. Extra columns can be returned and selectively ignored by switching structures, but mismatches between expected fields and returned columns produce unexpected output and require careful validation. 👉 Read | NeuroBook | @mql5dev

This MT5/MQL5 deep dive focuses on the last three chart object events that matter when objects interact with users: delete, c
This MT5/MQL5 deep dive focuses on the last three chart object events that matter when objects interact with users: delete, change, and end-edit. One key detail: some of these events are not generated unless explicitly enabled, so handlers can be correct yet never fire. For CHARTEVENT_OBJECT_DELETE, the article shows how to catch deletions and immediately recreate “protected” objects, including edge cases around when notifications are disabled and how UI lists lag behind recreated objects. A practical pattern is keeping an internal snapshot of object properties for reliable restoration. For CHARTEVENT_OBJECT_CHANGE, it explains why user edits don’t persist after recreation unless the EA captures updated properties itself. Since MT5 reports only the object name, developers must selectively read and store relevant properties, with strict filtering to avoid... 👉 Read | NeuroBook | @mql5dev

This CoSO implementation treats optimization like managing a research lab: “funds” act as discrete compute/iteration budget,
This CoSO implementation treats optimization like managing a research lab: “funds” act as discrete compute/iteration budget, allocated between proven agents and new entrants. AssignFunds splits budget by omegaCurrent, then distributes the main share via rank-weighted lottery so higher-ranked researchers get more opportunities without fully eliminating randomness. Diversity is injected through CreateOutsiders, which spawns a limited number of new agents, initializes coordinates within bounds (with step snapping), normalizes per-agent probability vectors, and enforces population caps with controlled growth. HireResearchers adds exploitation: funded supervisors spawn nearby variants that inherit best-known positions and bias parameters, with Gaussian perturbations to keep local search active. ComputeStdDev measures population dispersion, and UpdateOm... 👉 Read | VPS | @mql5dev

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