MQL5 Algo Trading
The best publications of the largest community of algotraders. Subscribe to stay up-to-date with modern technologies and trading programs development.
Показати більше📈 Аналітичний огляд Telegram-каналу MQL5 Algo Trading
Канал MQL5 Algo Trading (@mql5dev) у мовному сегменті Англійська є активним учасником. На даний момент спільнота об'єднує 512 939 підписників, посідаючи 152 місце в категорії Технології та додатки та 5 місце у регіоні Об'єднане королівство.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 512 939 підписників.
За останніми даними від 22 червня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 8 985, а за останні 24 години на 619, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 3.44%. Протягом перших 24 годин після публікації контент зазвичай збирає 1.79% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 17 646 переглядів. Протягом першої доби публікація в середньому набирає 9 192 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 40.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як indicator, chart, mql5, candle, range.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“The best publications of the largest community of algotraders.
Subscribe to stay up-to-date with modern technologies and trading programs development.”
Завдяки високій частоті оновлень (останні дані отримано 23 червня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
Триває завантаження даних...
| Дата | Залучення підписників | Згадування | Канали | |
| 23 червня | +70 | |||
| 22 червня | +619 | |||
| 21 червня | +142 | |||
| 20 червня | +54 | |||
| 19 червня | +393 | |||
| 18 червня | +287 | |||
| 17 червня | +95 | |||
| 16 червня | +468 | |||
| 15 червня | +635 | |||
| 14 червня | +309 | |||
| 13 червня | +57 | |||
| 12 червня | +366 | |||
| 11 червня | +203 | |||
| 10 червня | +373 | |||
| 09 червня | +291 | |||
| 08 червня | +713 | |||
| 07 червня | +238 | |||
| 06 червня | +72 | |||
| 05 червня | +96 | |||
| 04 червня | +492 | |||
| 03 червня | +641 | |||
| 02 червня | +521 | |||
| 01 червня | +143 |
| 2 | 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 | 3 666 |
| 3 | 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 | 7 581 |
| 4 | 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 | 14 663 |
| 5 | 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 | 13 219 |
| 6 | 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 | 15 020 |
| 7 | 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 | 12 687 |
| 8 | 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 | 11 303 |
| 9 | 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 | 10 657 |
| 10 | 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 | 9 725 |
| 11 | 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 | 9 059 |
| 12 | 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 | 8 740 |
| 13 | 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 | 8 561 |
| 14 | CoSO (Community of Scientists Optimization) is an optimization algorithm published in 2012 by A. Milani and V. Santucci. It models a research community: agents publish to journals, compete for limited funds, form local groups, and keep diversity via funded outsiders. Population size can change during runtime.
Each agent maintains position x, velocity v, personal best b, funds m, strategy s, and journal selection probabilities ρ. Velocity update combines inertia, cognitive pull to b, and a weighted social term from journal entries; position updates as x(t)=x(t-1)+v(t).
Journals act as shared memory, storing the top-k solutions, updated only when a submission improves the worst entry. Funds are redistributed by rank roulette; inactive agents drop out when m reaches zero. Outsider share Ω adapts using fitness standard deviation, while successful agent...
👉 Read | Calendar | @mql5dev | 10 458 |
| 15 | Standard indicators capture level, range, and volatility, but miss trajectory shape. Two EURUSD windows can match mean close, average range, and realized volatility while producing different phase-space paths: an elongated arc versus a closed loop.
Topological Data Analysis focuses on invariants across scales and represents signal as birth-death pairs in a persistence diagram. The prerequisite step is converting a 1D series into a higher-dimensional point cloud, then defining a distance metric over that cloud.
Takens time-delay embedding constructs vectors (x[i], x[i+tau], …) with user-controlled embDim and delay. The implementation uses CTDAPointCloud as a flat buffer for cache-friendly access.
CTDADistance builds an NxN symmetric distance matrix under Euclidean, Manhattan, or Chebyshev norms, tracking max distance for later filtrations.
👉 Read | CodeBase | @mql5dev | 10 187 |
| 16 | Chart objects can now be edited after placement via a floating property ribbon. The update replaces fixed-at-creation styles with descriptor-driven editing and a snapshot-based preview/rollback model.
Four components back the system: per-tool property descriptors, engine get/set by string ID, widget renderers per property type, and a ribbon that binds widgets to the selected object and applies changes live.
Descriptors define type, label, range, defaults, and visibility for ribbon vs settings. Composite types cover compact rows, per-level lists for Fibonacci/Gann, and action entries.
Engine property access resolves object ID, dispatches by property ID, supports per-level arrays, and rejects non-applicable properties cleanly. Changes can be previewed immediately and reverted on cancel.
👉 Read | Forum | @mql5dev | 9 935 |
| 17 | Part 71’s weekend-gap marker is upgraded into a rule-based, automatable signal model for MT5. The indicator defines each gap using Friday close and Monday open, filters by minimum tradable size, and only confirms entries on candle close (optionally requiring a price offset), keeping signals non-repainting.
Bullish logic: after a gap-down, a bullish close back above the gap low triggers a buy. Bearish logic: after a gap-up, a bearish close back below the gap high triggers a sell. Take-profit targets the opposite gap boundary; stop-loss anchors to the current week’s swing extreme with an optional buffer.
Implementation focuses on EA integration: six CopyBuffer-readable outputs (buy/sell arrows plus TP/SL for each), historical signal reconstruction, and a structured pipeline from gap detection to live updates and cleanup.
👉 Read | NeuroBook | @mql5dev | 10 026 |
| 18 | This article turns the NLMS-based SAMA from a textbook update rule into a production-grade MQL5 indicator designed to behave predictably in live charts. The implementation avoids common pitfalls: it never trains on the still-forming candle, seeds weights to a neutral 1/N prior to prevent startup instability, and enforces a warm-up phase to reduce session-to-session re-render differences.
Robustness is handled explicitly: NLMS energy normalization is protected with an epsilon floor, extreme one-bar shocks are capped via ATR-based error clamping, and weight leakage adds controlled forgetting. An optional constraint normalizes weights to sum to 1.0, keeping outputs on the price scale.
Tuning is practical: inputs support PRICE/DIFF/RET training, an Efficiency-Ratio adaptive learning rate, and guidance to keep μ ≤ 1.0 for stable tracking. Limitations are ...
👉 Read | Docs | @mql5dev | 10 209 |
| 19 | High-volatility trading exposes a gap in accessibility: no standard hands-free, low-latency input path for MQL5 tools that works under motor impairments and market stress. Mouse, keyboard macros, hotkeys, and voice pipelines add delay or fail in noisy environments.
A gesture-controlled system is presented using a webcam with MediaPipe Hands and OpenCV in Python, sending gesture codes to MetaTrader via MQL5 Global Variables. An EA polls every 10 ms and executes via CTrade, using a busy-flag and neutral reset to avoid repeated orders.
Benchmarks on an i7-1165G7 laptop (30 FPS, 640×480, confidence 0.7) show mean end-to-end latency and accuracy over 100 runs: Buy (index) 68 ms, 97.2%; Sell (thumbs-up) 72 ms, 96.8%; Close-all (fist) 85 ms, 95.4%. 95th percentile stays within 110 ms.
👉 Read | CodeBase | @mql5dev | 10 603 |
| 20 | AFML-style microstructure features are ported from Python to MetaTrader 5 as a single include file, CMicrostructureFeatures.mqh, so EAs can compute seven bar-level signals directly from OHLCV without external dependencies. It implements Roll spread/impact, Corwin–Schultz spread and intraday volatility, plus Kyle, Amihud, and Hasbrouck lambdas.
A key constraint is MT5 “tick volume”: it counts price updates, not trades. Lambda estimators therefore use a bar-close tick rule and tick volume as approximations, making them best for regime ranking rather than broker-comparable impact levels. Roll and Corwin–Schultz remain volume-free and robust.
The design emphasizes single-pass running sums (no temp arrays), strict new-bar execution to avoid look-ahead, and clean accessors for EA/ONNX pipelines. A companion MicrostructureViewer indicator plots all features wi...
👉 Read | VPS | @mql5dev | 10 323 |
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
