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.

Username
@mql5dev
Category
Technologies
Country
United Kingdom
Created
, 2 years
Subscribers561,761+281 in 1 day
Avg views per post, 7d7,966last 7 days
ERR1.42%last 7 days

Subscribers, 30 days

Sep 27 – Sep 28+281 (+0.1%)

Show as table
DateSubscribers
Sep 27, 2026561,480
Sep 28, 2026561,761

Average views per post by day

By publication day

Show as table
DateAvg views per post
Sep 25, 202610,375
Sep 26, 20268,048
Sep 27, 20268,602
Sep 28, 20262,003

Most viewed this month

  1. 01
    Views12.5K
    Forwards5
    Reactions34
    Comments—
  2. 02
    Views12K
    Forwards6
    Reactions40
    Comments—
  3. 03
    Views11.3K
    Forwards5
    Reactions31
    Comments—
  4. 04
    Views11.1K
    Forwards5
    Reactions29
    Comments—
  5. 05
    Views10.6K
    Forwards4
    Reactions27
    Comments—

Latest posts

#4247Photo

Convolutional neural networks are adapted from image recognition to price charts to improve pattern detection under shifts and scaling. The core idea is alternating convolution (feature extraction via learned kernels) and subsampling (dimension reduction and noise suppression), then feeding the resulting feature vector into a fully connected perceptron for decisions. The article details MQL5-style implementation: virtualized neuron classes with dispatch logic so feed-forward, gradient computation, and weight updates work across fully connected, convolution, and subsample layers. Subsampling uses windowed averaging (or max) with no trainable weights. Training follows backprop with CNN-specific gradient flow: pooling gradients are routed to max locations or evenly distributed for averaging, while convolution gradients use padding plus convolution with a 180°-rotate... 👉 Read | Calendar | @mql5dev

Open in Telegram
Views1,840−77%vs avg
Forwards4
Reactions6
Comments—
#4246Photo

Many execution errors in manual trading come from arithmetic. A lot size computed mentally, combined with a wider stop than intended, often pushes realized risk far beyond the plan. This panel focuses on risk calculation only and never opens trades without a button press. It displays current risk percent and its value in account currency, stop distance (fixed points or ATR-based), the lot size that matches the selected risk, plus spread, open volume, and floating P/L. BUY/SELL sends a market order with stop and optional target attached; target is a stop multiple (2R default). Lot sizing is rounded down to the volume step, capped by broker limits and free margin, and avoids server rejections. Stops respect trade stops and freeze levels, widened by spread. Netting-mode opposite orders are blocked with a warning to prevent unattached stops. Inputs cover rules ... 👉 Read | AlgoBook | @mql5dev

Open in Telegram
Views2,803−65%vs avg
Forwards5
Reactions13
Comments—
#4245Photo

RegimeRouter is an EA structure built around explicit regime classification plus per-regime performance accounting. The classifier runs on each closed bar and combines three independent signals: ADX for directional strength, Hurst exponent on log returns for persistence vs anti-persistence, and lag-1 autocorrelation for continuation vs snapback. Each voter assigns trend, range, or abstains; the regime is committed only when the summed votes clear a configurable minimum, otherwise the system stays neutral and does not trade. Routing is split into two modules. TREND trades N-bar breakouts only when fast/slow EMAs agree on direction. RANGE trades mean reversion by fading a stretched z-score versus a moving average. NEUTRAL places no orders. Trades are stamped via magic numbers that include the regime id, and a startup rebuilds a ledger from deal histor... 👉 Read | CodeBase | @mql5dev

Open in Telegram
Views1,291−84%vs avg
Forwards4
Reactions3
Comments—
#4244Photo

Backtests often flatten multiple entry conditions into one profit factor, which hides where losses originate. Splitting results by setup type can change the conclusion: on USDCAD M1 one side produced most of the drawdown while the other was near flat. A small MT5 ledger can tag each order with a setup id by encoding it into the magic number at send time. After positions close, it aggregates by DEAL_POSITION_ID to avoid partial-close double counting, and reports per-setup wins/losses plus net P/L including swap and commission. Beyond raw win rate, the report adds a Wilson score lower bound and compares it to the breakeven rate implied by the reward ratio. This keeps early samples honest and prevents “trusted” labels based on a handful of trades. Key constraints: registration order becomes a data format, new setups must be appended, and stacked entries into o... 👉 Read | Signals | @mql5dev

Open in Telegram
Views2,078−74%vs avg
Forwards1
Reactions12
Comments—
#4243Photo

MetaTrader 5 strategy optimization typically relies on brute-force sweeps or the built-in genetic algorithm, but GA behavior varies with implementation details. The article builds an alternative optimizer around Particle Swarm Optimization, treating EA inputs as coordinates and iteratively updating particle positions using inertia plus attraction to each particle’s best state and the best state within its social group. Because EA parameters are discrete, particle coordinates are rounded to configured steps. To avoid wasting passes on repeated parameter sets, each candidate point is hashed (CRC64 over the parameter bytes) and tracked in a binary search tree for fast “seen/not seen” checks. The PSO core is decoupled from any EA via a Functor interface returning a user-selected trading metric, then validated against benchmark functions. For parallel t... 👉 Read | Docs | @mql5dev

Open in Telegram
Views9,097+14%vs avg
Forwards5
Reactions—
Comments—
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h298
13 h9,097
  1. Total to date9,097
#4242Photo

Many lot size calculators hardcode pip value assumptions that break on gold, indices, JPY crosses, and non-USD account currencies. A sizing routine should use the tick and volume properties the trade server publishes per symbol, then compute risk from those inputs. CalcLots() takes risk in account currency plus entry and stop prices, then returns the trade volume and the actual risk after broker constraints. Volume is always rounded down to the volume step. If requested risk is below the minimum lot, the minimum is returned, clamped_min is set, and the higher real risk is reported. The function is direction-agnostic and also provides stop distance in points and point value per 1.00 lot. The sizing math is isolated in Calc.mqh with no terminal state. It consumes a SymbolSpec struct and can be tested offline. SpecFromSymbol() is the only live-data bridge and... 👉 Read | NeuroBook | @mql5dev

Open in Telegram
Views8,107+2%vs avg
Forwards7
Reactions5
Comments—
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
1 h1,121
15 h8,107
  1. After 1 hour1,121
  2. Total to date8,107
#4241Photo

Multi-symbol EAs that size trades from a correlation matrix often show unstable weights across adjacent rebalance windows. With N symbols and T bars, correlation estimates become dominated by sampling error when T is not much larger than N, even if market structure is unchanged. Random Matrix Theory offers a practical filter. Using the Marchenko–Pastur upper edge with Q=T/N, eigenvalues at or below lambda_max are treated as noise; only eigenvalues above the edge are retained as signal. A native MQL5 implementation can run without ALGLIB or DLLs by using a symmetric Jacobi eigendecomposition and a flat-buffer matrix class. Noise eigenvalues are replaced by their average to preserve the trace, then the cleaned matrix is reconstructed for downstream sizing. A useful runtime check is Frobenius distance between consecutive windows: denoised matrices ty... 👉 Read | VPS | @mql5dev

Open in Telegram
Views8,239+3%vs avg
Forwards4
Reactions16
Comments—
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
4 h2,135
21 h8,239
  1. After 6 hours2,135
  2. After 24 hours8,239
  3. Total to date8,239
#4240Photo

Maximum drawdown reports miss a key variable: time underwater. Two systems can share the same 15% max drawdown and still differ materially in recovery duration. A dashboard script reconstructs an equity curve from closed deals by summing profit, swap, and commission per exit, sorting by deal time, then folding into a running balance. A single-pass analyzer segments drawdowns into start, trough, and recovery, flags still-open episodes, and computes duration in calendar days. Summary stats report deepest depth, longest duration, average recovery time (closed only), and open count. Output includes a CCanvas timeline with shaded drawdown bands and alternating-row labels, plus a terminal table sorted by duration so long shallow drawdowns surface first. 👉 Read | Signals | @mql5dev

Open in Telegram
Views7,822−2%vs avg
Forwards9
Reactions25
Comments—
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
6 h3,103
23 h7,822
  1. After 6 hours3,103
  2. After 24 hours7,822
  3. Total to date7,822
#4239Photo

Serial autocorrelation can remain hidden behind a clean equity curve. Lag-1 checks are insufficient; dependence often shows up at higher lags or across a block of lags. The Ljung-Box portmanteau test addresses this by aggregating sample autocorrelations through horizon h into a single Q statistic and chi-square p-value. Residual diagnostics matter: if ARIMA/GARCH residuals remain autocorrelated, the model is leaving structure unmodeled, and downstream stats assuming independence can be biased. An MQL5 toolkit (no external deps) implements ACF, Ljung-Box Q, df adjustment, and p-values via the regularized incomplete gamma function (MQL5 lacks a chi-square CDF). Inputs support three data sources: closed-bar price returns, closing-deal P/L sequences, or external residual files, with guards for zero variance, invalid df, and malformed lag sets. 👉 Read | AlgoBook | @mql5dev

Open in Telegram
Views7,712−3%vs avg
Forwards5
Reactions24
Comments—
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
8 h4,237
25 h7,712
  1. After 6 hours4,237
  2. After 24 hours7,712
  3. Total to date7,712
#4238Photo

SAGDFN targets spatio-temporal forecasting bottlenecks by reducing redundant edges early. Significant Neighbors Sampling builds a sparse neighborhood per node using similarity-ranked candidates plus random picks to preserve diversity and limit overfitting. Sparse Spatial Multi-Head Attention operates on the sparse graph and prunes weak links more aggressively via Entmax-style normalization. In practice, Sparse-SoftMax can replace iterative α-Entmax to avoid τ search overhead while keeping hard sparsity. OneStepFastGConv consolidates spatial aggregation into a single step. Implementation details center on GPU SpMM and its backward pass: local reductions, guarded indexing, and separate gradients for sparse weights and dense inputs, integrated into a recurrent GRU-like block with explicit intermediate buffers. 👉 Read | Quotes | @mql5dev

Open in Telegram
Views7,749−3%vs avg
Forwards4
Reactions15
Comments—
Views growthHide views growth

Views growth

Hours after publication

Show as table
Hours after publicationViews
0 h0
10 h5,187
27 h7,749
  1. After 24 hours7,749
  2. Total to date7,749

All posts

Connections