MQL5 Algo Trading
前往频道在 Telegram
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) 英语 语言赛道中的 是活跃参与者。目前社区聚集了 556 819 名订阅者,在 技术与应用 类别中位列第 140,并在 英国 地区排名第 5 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 556 819 名订阅者。
根据 17 九月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 17 265,过去 24 小时变化为 535,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 3.16%。内容发布后 24 小时内通常能获得 1.67% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 17 590 次浏览,首日通常累积 9 277 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 42。
- 主题关注点: 内容集中在 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.”
凭借高频更新(最新数据采集于 18 九月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
556 819
订阅者
+53524 小时
+3 3167 天
+17 26530 天
帖子存档
556 819
TQNet targets multivariate market forecasting by combining fast reaction to current conditions with a learned “global memory” of stable cross-asset relationships. Instead of building attention queries from raw prices, it uses trainable vectors that shift cyclically over time, while keys/values still come from the live input window. This balances persistent structure (seasonality, recurring liquidity cycles) with local shocks and noise.
Architecturally, it stays lightweight: one multi-head attention block plus a shallow MLP with residual connections, then a linear projection to any forecast horizon. RevIN normalization is used to handle distribution shifts common in finance, keeping the model focused on patterns rather than changing scale/volatility.
The article also outlines an MQL5-oriented implementation path and positions TQNet as a practical a...
👉 Read | AppStore | @mql5dev
556 819
MT5 historical demonstration on XAUUSD (RoboForex-ECN), 1 May–8 Sep 2026, using 100% real ticks. Test settings: USD 10,000 deposit, 1:100 leverage, fixed 0.01 lot, default parameters (v0.11 defaults match the demonstrated set; trading logic unchanged vs v0.10). Result is optimized history, not a forward test.
Performance summary: 220 trades, net profit USD 1,293.99, profit factor 1.67, max equity drawdown USD 203.00 (1.91%), win rate 28.64%. Both long and short sides were net positive. Low hit rate included 13 consecutive losses, with expectancy driven by larger winners.
Inputs: brick size 6.0 (price units), momentum 8, threshold 5.0, TP 10 bricks, SL 2 bricks, max hold 1440 min, cooldown 3 bricks, max spread/brick 0.35, Magic 26091043.
Operational notes: validate in Strategy Tester. Brick size is price units, not points. Virtual SL/TP require terminal uptim...
👉 Read | Forum | @mql5dev
556 819
Work continued on hardening an automated MT5 optimization pipeline rather than adding trading logic. Core library and strategy-specific project code were further separated, so new ideas can be tested by changing project parameters without editing the shared library.
Optimization tasks now support time limits to cap end-to-end runtime and stop early once enough strong candidates exist. The optimization EA UI was expanded to show stage, symbol, timeframe, elapsed/remaining time, and overall progress.
CConsoleDialog was fixed to avoid duplicated windows after restarts by correcting OnDeinit cleanup. Chart elements behind the UI were disabled to avoid font rendering issues and remove the need for window minimization, requiring small local copies of standard library dialog classes.
Next focus: running multiple instances of the final multi-currency EA across dif...
👉 Read | Forum | @mql5dev
556 819
Portfolio eigenvalues describe how total variance is split across independent risk factors, but raw spectra don’t clearly indicate whether diversification is real or just cosmetic. This workflow turns the eigenvalue proportions into a single diversification score using spectral entropy (Shannon entropy normalized to [0,1]): high values mean variance is evenly distributed; low values indicate one dominant driver.
A reusable MQL5 script computes the covariance matrix, extracts and sorts eigenvalues safely (ArraySort over unreliable vector.Sort), converts them to variance shares, then outputs H_norm, dominant-factor percentage, an ASCII bar chart, and a thresholded concentration verdict for side-by-side portfolio comparison.
A key takeaway: diversification is governed by covariance structure, not instrument labels. Adding an uncorrelated but high-vola...
👉 Read | AppStore | @mql5dev
556 819
Multi-chart EAs often act as if they are the only process in the account. The broker enforces margin, margin level, and liquidation at account scope, so individually well-sized trades can still combine into a full drawdown.
A shared PortfolioRisk.mqh moves portfolio measurement out of any single EA. It supports account-wide scope or a magic-number filter, scans positions plus pending orders, and builds currency-leg exposure without parsing symbol names.
Before opening a trade, CanOpenPosition() evaluates six limits on the “would be” state: total trades, per-symbol count, distinct symbols, margin use, floating loss, and per-currency net exposure. Pearson correlation is noted but intentionally excluded; currency decomposition is deterministic, history-free, and consistent across EAs.
👉 Read | AlgoBook | @mql5dev
556 819
This MQL5 script turns closed deal history into trade-level analytics that avoid the common win-rate trap. Deals are grouped by position into a single record per round trip, with explicit “defined” flags so missing metrics never masquerade as zeros.
The core metric, Trade Quality Score, uses expectancy but substitutes the Wilson lower bound for win rate to penalize small samples. The conservative expectancy is normalized by average loss as a risk proxy, yielding a dimensionless score comparable across symbols and account sizes.
Architecture is modular: history reader, optional hour-of-day session filter (midnight-safe), pure calculator, and a CCanvas dashboard plus Experts-tab report. A dedicated test script validates pip conversion, edge cases, Wilson math, thresholds, and session boundaries with synthetic trades.
👉 Read | NeuroBook | @mql5dev
556 819
A new MQL5 signal class, CSignalIsotonicPNN, implements a two-stage confidence model for oscillator-based entries. Seven RSI/Stochastic plus price-context interpretations output a bounded directional score in [0,1], with 0.5 as neutral.
Isotonic regression calibrates the score into an ordered probability using a rolling calibration window and forecast horizon, with safeguards against lookahead. An optional PNN then blends a posterior based on similarity to historical bullish/bearish states, controlled by PNNSamples, PNNSigma, and PNNWeight.
The design keeps each mode independently testable and separates ranking quality from calibration. Invalid inputs and degenerate computations return 0.5 to avoid accidental directional bias.
👉 Read | Signals | @mql5dev
556 819
PulseStrike is a tick-driven scalper built around burst detection, not candle close. It maintains a rolling baseline over a short window (default 4s) and treats a move as tradeable only when it is a statistical outlier versus that baseline (z-score, default 3.0). This replaced a fixed ATR-fraction trigger that over-traded normal tick noise.
Two execution modes are supported: momentum (with the burst) and reversion (against it). Symbol fit is not assumed; both modes should be tested.
Entries are gated by spread-aware TP sizing, ATR-scaled SL/TP, a max hold-time force close, plus daily trade and daily loss caps. Single-position operation is used to behave correctly on netting accounts, cycling trades with tick-level checks and a short cooldown.
Backtest (M1, every tick, random delay, 2026-01-01 to 2026-09-08, balance 10k): EURUSD PF 1.30 DD 10.33%; AUDUSD PF ...
👉 Read | NeuroBook | @mql5dev
556 819
EMTOrdersUtility.mq5 implements an on-chart trade monitor that replaces terminal scrolling with a symbol grid. Each symbol is rendered as a button plus up to three stacked label lines, refreshed via EventSetTimer at a user-defined interval.
Symbols can be loaded from Market Watch or a manual CSV list, capped by InpMaxSymbols. Display names can be abbreviated by stripping common broker suffixes, and button width can be fixed or auto-sized based on the longest label.
Runtime updates aggregate positions per symbol, split by BUY and SELL, with swap included in P&L. Pending orders are counted separately and can be highlighted via border settings. Button background reflects net P&L state (profit, loss, flat), with a selected-symbol color override.
Version notes mention alphabetical symbol ordering and removal of the hide/show toggle.
👉 Read | Signals | @mql5dev
556 819
Range volatility can be measured beyond ADR% by using an empirical percentile rank. The metric compares the current period’s range so far to the full ranges of the last N completed periods, reporting what percentage were smaller. This avoids mean-based distortion in instruments with occasional spike sessions.
Readings at or below the compression threshold (default 20) flag an unusually quiet period; readings at or above the expansion threshold (default 80) indicate a session already larger than most historical peers. A 12% value means the current range is smaller than 88% of the last 100 periods.
Key inputs include range timeframe (D1 by default), lookback (100), thresholds (20/80), and update mode (per bar or per tick). The panel includes a 0–100 gauge, uses only chart objects, and does not place or manage orders.
👉 Read | Signals | @mql5dev
556 819
Colliding Bodies Optimization (CBO, 2014) is a population metaheuristic where candidate solutions are ranked, assigned normalized masses from inverse objective values, then split into stationary (best half) and moving (worst half) sets.
Each moving body pairs by rank with a stationary body. Velocities are computed from position differences, then updated with a restitution coefficient epsilon that decreases linearly from 1 to 0 across iterations to shift from broad search to refinement.
Enhanced CBO (ECBO) adds a Colliding Memory archive to reinsert elite solutions and an optional low-probability coordinate reset step to reduce stagnation. Per-iteration cost is dominated by sorting: O(n log n).
👉 Read | Freelance | @mql5dev
556 819
Prop-firm risk limits add a second rulebook on top of the broker account: static and trailing drawdown from a fixed start, daily loss reset in the firm’s time zone, payout consistency, minimum trading days, news blackout, and weekend flat. Violations can void the account even when platform limits are not hit.
This library provides a reusable guard that compiles into any EA. It evaluates eight rules from one frozen account snapshot per pass and emits at most one directive, avoiding multiple reactions to the same event. It does not trade and can work alongside any EA, manual trading, or copied signals.
Archive contents: 24 .mqh headers, a facade class (CPropRulebook), and a demo EA (PropFirmDefense.mq5) with an on-chart panel. State is persisted across restarts, including trailing-floor anchoring and consumed budgets. Optional terminal Algo Trading switching ...
👉 Read | NeuroBook | @mql5dev
556 819
Update on the MT5 replay/simulation series focuses on why the system works: custom events are generated by indicators, routed through MetaTrader 5, and delivered to all apps on a chart via OnChartEvent.
Chart Trade, the Expert Advisor, the Position indicator, and Mouse Study remain decoupled. None of them require direct references to each other. Events are broadcast, and only modules implementing the corresponding handler react; others ignore them.
Two event categories are used: EA-originated update events after trade server replies, and UI-driven events from MT5/indicators (mouse move, click, ESC). Virtual SL/TP dragging is confirmed or canceled by subsequent events.
A requested extension is EA-controlled pause/play for the replay service. Since events are chart-scoped, the service must be reached via its control indicator by adding a custom even...
👉 Read | AlgoBook | @mql5dev
556 819
Multi-timeframe Malaysian SNR can be automated without relying on lagging indicators. MSNR KeyLevels MultiTF scans closed candles and maintains four level types: A (bullish then bearish, close of bullish candle), V (bearish then bullish, close of bearish candle), plus SBR and RBS when a level is closed through and flips.
Levels are tracked from creation. A close through refreshes and changes the type. A touch without a break marks the level as tested and, by default, removes it so the chart keeps only untested zones. The unfinished candle is ignored to avoid repaint-style behavior.
A chart HUD controls six timeframes at once, with per-timeframe level counts and instant toggling. Line style encodes timeframe, color encodes type, and labels include timeframe and price. The design avoids tick-by-tick recalculation and rebuilds cleanly after timeframe ch...
👉 Read | AlgoBook | @mql5dev
556 819
MQL5 class lifetime can differ sharply between implicit instances and pointer-managed instances.
Declaring a class variable lets the compiler decide constructor/destructor timing. In an indicator, the constructor may run before OnInit and the destructor after OnDeinit, which reduces control over chart objects.
Switching to a pointer and using new/delete moves lifecycle control into OnInit/OnDeinit. Logged output confirms constructor runs after the OnInit log line and destructor runs before the OnDeinit log line.
In scripts, local scope adds another constraint: passing class instances into routines requires pass-by-reference, otherwise compilation fails. This raises API design questions around mutability and unintended state changes.
👉 Read | CodeBase | @mql5dev
556 819
Index CFD backtests can look stable while quietly bleeding overnight financing. In MT5, swap modeling is hard to audit: brokers use POINTS (fixed points/night) or INTEREST (annual % of price), the optimizer cache doesn’t store swap per pass, and the tester applies today’s swap snapshot across the entire history.
A read-only MT5 script converts each symbol’s swap into an annualized % of position notional, making financing comparable across brokers and instruments. Real scans showed the same indices costing roughly -4.7% to -9.9% per year long, while shorts could be credited or charged depending on broker and symbol.
Deal-level analysis matters: in a multi-year swing test, swap consumed 44% of gross profit overall, and fully erased one index’s gains. Practical workflow: re-run best optimizer passes as single tests, inspect deals per symbol, distrust ...
👉 Read | NeuroBook | @mql5dev
556 819
Reinforcement learning in trading remains unstable due to non-stationary regimes, sparse rewards, high-dimensional states, and costly exploration. Classical DQN can overfit to historical volatility, then fail when markets shift, with retraining downtime not viable.
A hybrid stack is proposed: quantum state encoding + Double DQN + an LLM adapted via MIT SEAL. Quantum circuits compress 6 market inputs into 6 distribution statistics; entropy is used as a regime-instability signal.
The LLM produces direction and confidence; SEAL keeps only top-reward forecasts for periodic fine-tuning, asynchronously. A minimal Q-table agent then filters signals with 27 discretized states and 3 actions: USE, SKIP, REDUCE, enabling low-risk integration into existing trading logic.
👉 Read | Docs | @mql5dev
556 819
Replay/simulation series update: position visualization is being moved out of Expert Advisors into a dedicated indicator, with a strict separation between server linkage and chart rendering.
A stability fix is added to EA initialization: on restart, stale position objects are purged to avoid mismatches after crashes or configuration changes such as contract type switches.
Interaction is implemented via custom chart events. OnTradeTransaction in the EA emits EventChartCustom on volume changes, SL/TP updates, and closures (NETTING), while initial position creation still triggers indicator placement.
The position indicator receives and filters these events in OnChartEvent, updating or deleting HLINE objects based on current position state, keeping logic testable and minimizing duplicated code across EAs.
👉 Read | Quotes | @mql5dev
556 819
MetaTrader 5’s dataanalysis.mqh turns ALGLIB into a practical, in-terminal research stack: preprocessing, PCA, decision forests, clustering, and more, all usable directly from MQL5.
The workflow builds a supervised dataset from bars: five numeric features per bar, then a label based on the next bar’s close-to-close return (bearish/neutral/bullish with a threshold). CBdSS standardizes only the inputs and keeps training statistics for consistent live normalization, avoiding data leakage.
PCA (CPCAnalysis) is used as a structural diagnostic to detect redundant features, not as a predictor. A random forest (CDForest) is trained via the builder API, producing OOB error for sanity checks and permutation importance to rank which measurements actually drive class separation.
The script is positioned as a template for an EA pipeline (features → model → decis...
👉 Read | AppStore | @mql5dev
556 819
PropFirm account monitoring EAs often fail in three areas: inputs get reset across restarts, identical logins on different servers cause rule collisions, and invalid percentages or threshold ordering reach drawdown math.
Part 1 establishes a strict foundation before any compliance logic runs. Runtime account state is separated from persistent rule configuration, inputs are validated during OnInit with fail-fast errors, and SQLite persistence is keyed by account login plus trading server.
Implementation covers the EA lifecycle, shared enumerations, grouped Inputs, SAccountState and SAccountSettings, UpdateAccountState(), and ValidateComplianceInputs(). It then adds database globals, OpenDatabase()/CloseDatabase(), schema creation with a composite primary key, and prepared-statement helpers.
Startup order becomes: validate, read account identity, open DB, ensu...
👉 Read | NeuroBook | @mql5dev
