Web appOpen in Telegram
MMQL5 Algo Trading

MQL5 Algo Trading

✅ High trust
@mql5dev · channel · Crypto · indexed since 2026-06-29
562 220subscribers
13 482average post reach
2.4%ER — reach to subscribers
267posts in 30 days
M
MQL5 Algo Trading
Photo
click to show
Most MQL5 position sizers ask for a risk number that is independent of strategy quality. Fixed percent rules size the same whether win rate and payoff are favorable or not. Kelly sizing derives the risk fraction from the strategy edge: win probability and average win versus loss. A CKelly class can measure these from closed deal history (net of costs), refuse to act on small samples, and return zero sizing when no edge is detected. Monte Carlo sweeps show the key trade-off: growth peaks at full Kelly, while drawdown and large-loss frequency keep rising. Fractional Kelly, often half or quarter, retains most growth while materially reducing drawdown and ruin risk. The code is native MQL5: one reusable class plus a sweep script that outputs CSV. Limits remain: edge is estimated, non-stationary, and correlation or overlapping positions are not covered. 👉 Read | AppStore | @mql5dev
7 · 6.7K ·
MQL5 Algo Trading
Photo
click to show
“Historical volatility” hides a real implementation choice: close-only, range-based, or full OHLC estimators embed different assumptions. This study benchmarks five variance estimators (Close-to-Close, Parkinson, Garman-Klass, Rogers-Satchell, Yang-Zhang) under a strict persistence forecast: today’s rolling variance becomes tomorrow’s forecast. Targets are next-session realized-variance proxies built from chronological M1 closes plus the close-to-open jump, with hard rules for session boundaries, gap limits, and endpoint checks. A common target mask ensures every estimator is scored on the same 1,472 EURUSD sessions (2020–2025), avoiding sample drift. The MQL5 toolkit emphasizes reproducibility: shared OHLC transforms, formula validation, strict chronology safeguards, and paired moving-block bootstrap to test whether observed QLIKE differences (notab... 👉 Read | NeuroBook | @mql5dev
8 · 6.2K ·
Photo
click to show
This article replaces clock-based bars with intrinsic time: the market “ticks” only when price reverses by a chosen threshold. An online MQL5 directional-change operator tracks extremes, confirms turns, and splits each move into a directional-change leg plus an overshoot, building a measurable “coastline” from raw ticks. Using 17.8M EUR/USD ticks, a multi-threshold sweep reproduces key power-law relationships and shows the mean overshoot is roughly the threshold at fine resolutions. A volatility-matched random walk produces nearly identical exponents, suggesting these laws are robust but not a reliable market-structure detector. The Alpha Engine is then implemented as an MT5 Expert Advisor: a contrarian cascade/de-cascade scheme that adds in fixed steps at intrinsic events, trims on reversals, and controls trend risk with asymmetric thresholds and ... 👉 Read | AppStore | @mql5dev
5 · 6.2K ·
Photo
click to show
A non-repainting swing high/low indicator for chart structure and backtesting. Swings are confirmed only after the required bars to the right have closed. The current forming bar is excluded, so confirmed marks remain unchanged on future candles. Logic: a swing high is a bar whose high is above the highs of N bars on the left and not below the highs of N bars on the right. Swing lows apply the mirrored rule. This design adds an unavoidable lag of N bars, which is the trade-off for non-repainting behavior. Key inputs: InpStrength (N, default 5), InpMaxBars (scan depth, default 2000, 0 = all), optional popup alert and mobile push on confirmation. EA integration: Buffer 0 returns swing high price, Buffer 1 returns swing low price, with EMPTY_VALUE otherwise. Suitable as a neutral building block for BOS/CHoCH logic, not a trading signal. 👉 Read | Forum | @mql5dev
9 · 5.7K ·
Photo
click to show
Part 9 extends the MT5 MicroStructure Foundation to fix a key weakness in EMA-stack micro-trend scoring: “trend-aligned” bars can be either fresh breakouts or late retracements, yet both look equally strong. The solution adds a strategy-neutral pullback depth metric using rolling Fibonacci retracement over the last 20 bars, plus a PULLBACK_QUALITY enum and PullbackAnalysis struct. Depth is filtered by ATR-normalized EMA(5/13) alignment to avoid scoring when no trend exists, and it flags structure as strong/healthy/warning/deep/broken based on how much of the prior swing has been given back. Two context layers improve signal quality: a 60-bar rolling high/low proxy for H1 range position, and lag-1 return autocorrelation to detect brief momentum persistence. An empirical run on 514 NQ M1 NY sessions finds most bars are shallow pullbacks, while autocorr... 👉 Read | AppStore | @mql5dev
12 · 6.1K ·
Photo
click to show
Price Action Volumetric Order Blocks MT5 is an open-source indicator for market structure and order block visualisation in MetaTrader 5. It marks confirmed swing pivots, BOS/MSB events, and tracks active bullish and bearish order blocks projected forward on the chart. The tool estimates buy/sell participation inside each active zone using bar data and tick volume where needed. These figures are analytical estimates rather than exchange-grade order-flow and should be treated accordingly. Signals are confirmation-based: pivots, structure breaks, and blocks are only shown after the configured confirmation bars close, reducing repaint-style noise from in-progress candles. A compact panel summarises active zones with price range, buy/sell percentages, and volume. Key inputs cover pivot sensitivity, maximum active zones, projection length, colour palette,... 👉 Read | Quotes | @mql5dev
7 · 5.8K ·
Photo
click to show
Most EA templates still assume one-symbol decision loops. A multi-symbol basket requires explicit data alignment, shared-bar processing, and leg-level execution control. A basket EA can be built by standardizing each symbol’s close series, running PCA via MQL5 matrix/SVD, and selecting the lowest-variance component as a weight vector. The synthetic spread is the dot product of standardized prices and weights, with deviation expressed as a rolling z-score. Execution must map basket direction to each leg using weight sign, size each order by abs(weight), and enforce per-symbol min/max/step rules. Orders are sequential, with compensating closes on failure; retcodes must be checked, not only CTrade booleans. PCA alone does not validate mean reversion, cointegration, or tradability; separate testing is required. 👉 Read | AlgoBook | @mql5dev
8 · 6.4K ·
Photo
click to show
NeonDesk is a manual trading panel for MT5. It does not execute automated entries; orders are sent only via BUY/SELL, and each action requires confirmation before submission. The panel provides a multi-timeframe bias view (M1, M30, H4, D1), a candle countdown timer selectable independently from the chart timeframe (M1 to D1), current Bid/Ask and candle OHLC, plus an ATR-based SL/TP suggestion for reference only. Trade controls include lot size and SL/TP as direct price levels in the chart’s format, plus a trailing stop in pips that only tightens risk. BUY, SELL, and CLOSE ALL are limited to the panel’s own trades via a dedicated magic number, isolating other positions. Safety checks include a one-time risk acknowledgement, pre-trade confirmation showing full order details, validation of SL/TP side and broker minimum stop distance, and warnings on existing ... 👉 Read | VPS | @mql5dev
7 · 6.5K ·
Photo
click to show
Price charts give quick visual context, but an EA only sees OHLC series. Market context must be derived from swing sequences, not isolated pivots. A Market Behavior Analyzer can convert detected swing highs/lows into structured objects with metadata: HH/LH/HL/LL label, move length, bar count, retracement, and links to adjacent swings. Processing is split into stages: swing detection and enrichment, story evaluation, then rendering. The evaluation focuses on the latest confirmed structure, classifies moves as impulse vs pullback relative to that structure, and marks structure as Intact or Threatened using a retracement threshold. Visualization stays passive: it reads the evaluated state and displays a compact dashboard plus interactive inspection, without re-running analysis. 👉 Read | Calendar | @mql5dev
7 · 7.6K ·
Photo
click to show
PropGuard 1.02 is an account-level risk manager for prop-firm accounts. A single instance on any chart monitors all positions on the account, regardless of whether they were opened manually or by other EAs, and enforces daily and maximum loss limits by closing positions and deleting pending orders. Version 1.02 adds money-based exposure caps, an enforced stop-loss requirement, and a per-position risk cap. In testing against real trade logs, two recurring gaps were highlighted: trades left without a stop loss, and single trades consuming most of the daily loss budget. The new rules can close no-SL positions after a grace period and can tighten stops to a fixed monetary risk per trade. Maximum loss can be measured as static (initial balance), trailing equity (high watermark), or trailing daily balance (floor updated only at daily reset). Exposure limits are e... 👉 Read | AlgoBook | @mql5dev
8 · 8K ·
Photo
click to show
ST-Expert reframes market forecasting as a regime-adaptive problem, addressing how correlation structures collapse during shocks like COVID-era shifts and policy cycles. Instead of fitting one stable dependency graph, it maintains multiple specialized “experts” that each represent a distinct market behavior. Regimes are extracted by splitting history into time intervals that maximize structural dissimilarity using Kendall’s tau, solved via dynamic programming (MSGD). Each interval trains an expert graphon: a probabilistic graph generator that models links between assets as connection probabilities, sampled with Gumbel-Softmax to reduce noisy edges. Training uses episodic learning: one expert forecasts while a gating network learns to mix the remaining experts to reproduce the active regime. At inference, the gate weights experts from live signals,... 👉 Read | Calendar | @mql5dev
5 · 8.1K ·
Photo
click to show
This article builds an MQL5 dashboard to answer a practical question: how trade holding time relates to net profit in a specific account, beyond aggregate win rate. A script extracts every closed trade, recovers true open time via position ID, computes duration in minutes, and calculates net P/L including swap and commission. Results are plotted as a CCanvas scatter plot (one dot per trade), colored by symbol, with a per-symbol summary table. It overlays a least-squares regression (slope, intercept, R²) to quantify the overall duration-profit trend, and adds a simple short/medium/long bucket analysis to surface ranges that outperform even when a single line is misleading. A log-scaled duration axis keeps long-tail hold times readable while preserving “profit per minute” on linear data. 👉 Read | NeuroBook | @mql5dev
6 · 7.7K ·
Photo
click to show
APARCH support is added to the MQL5 volatility library as CAparchProcess under CVolatilityProcess, targeting cases where fixing the power term delta constrains estimation. Standard ARCH-family models predefine the exponent, which can mask better-fitting transformations and interact with asymmetry terms. APARCH jointly estimates delta with omega, alpha, beta, and gamma. Delta governs whether dynamics align closer to squared or absolute residuals, consistent with the Taylor effect evidence that intermediate powers often retain stronger autocorrelation than squares. Gamma is bounded in (-1, 1) to keep the shifted shock term valid under fractional powers. Implementation details include VOL_APARCH registration, new ArchParameters fields (aparch_delta, aparch_common_asym), a dedicated aparch_recursion() using raw residuals, repacking logic for fixed delta or... 👉 Read | AppStore | @mql5dev
6 · 7.3K ·
Photo
click to show
Market behavior rarely fits a single variable; meaningful models require joint distributions that capture how multiple assets and factors move together. The article lays out multivariate CDF/PDF mechanics, emphasizing that marginals are only projections: knowing each series’ standalone distribution cannot reconstruct dependence. Singular joint structures matter in practice because they reveal hard constraints, including deterministic links between instruments. Dependence is formalized via factorization: independence holds only when the joint distribution equals the product of marginals, making conditional and unconditional distributions identical. This reframes independence as “context adds no information.” Conditional distributions lead directly to conditional expectation as the regression function. Many forecasting and ML models can be viewed as approxima... 👉 Read | Calendar | @mql5dev
3 · 7.2K ·
M
Photo
click to show
Price windows can be compressed into fixed-length words to enable indexing and large-scale comparisons without revisiting raw series. SAX typically does this via z-normalization, PAA averages, and a shared Gaussian breakpoint table, but the bit budget w·log2(a) is rarely evaluated for efficiency. SFA replaces PAA with low-frequency DFT coefficients and replaces the shared bin table with Multiple Coefficient Binning, learning per-position quantiles so each letter is used. This avoids collapsing low-variance coefficients into a single symbol and supports three bin modes, including a Gaussian ablation. A full similarity harness compares MinDist, ApproxDist, and TrueDist, validating a sound lower bound with the required factor-of-two from conjugate symmetry. Results show SFA gains when the alphabet is deep over few positions, shrinking as bits spread across many po... 👉 Read | Freelance | @mql5dev
6 · 7.3K ·
MQL5 Algo Trading
Photo
click to show
Impulse candles can be formalized instead of identified visually. This indicator flags momentum bars with fixed rules and draws arrows: green below bullish impulses and red above bearish impulses. A bar is marked when its body is at least ATR(InpAtrPeriod) * InpImpulseAtrMult, the body is at least InpMinBodyRatio of the full range, and the close is located in the top or bottom segment of the bar based on InpMinCloseLoc. Optional confirmation requires tick volume to exceed InpVolumeMult times the average of the prior InpVolumePeriod bars. Signals are stable after close because calculations use only the current bar. The active bar can repaint until it closes; automation should read shift 1. For EAs, buffer 0 is bullish and buffer 1 bearish; non-zero values hold the arrow price via iCustom/CopyBuffer. Defaults target M1–M15 on volatile symbols. On H1+ ... 👉 Read | Freelance | @mql5dev
9 · 5.1K ·
Photo
click to show
Stormbreaker ADX is an MT5 Expert Advisor that trades only on completed candles, combining a Supertrend trend filter with ADX strength and the +DI/−DI relationship. Signals are evaluated once per new H4 bar using the previous bar’s indicator values, then orders are sent with an ATR-derived stop. Default parameters use Supertrend ATR(10) factor 3.0, ADX(14) with entry at 23 and exit at 18. Buy requires bullish Supertrend, ADX ≥ 23, and +DI > −DI. Sell requires bearish Supertrend, ADX ≥ 23, and −DI > +DI. Exits occur on ADX < 18, Supertrend reversal, or an opposite qualifying signal; no fixed take-profit is used. Position sizing targets 0.5% equity risk via OrderCalcProfit against the proposed stop, with volume rounded to broker steps and margin checked. Realized risk can differ due to spread, gaps, and execution. The source is provided for testing and modificatio... 👉 Read | NeuroBook | @mql5dev
6 · 4.8K ·
M
Photo
click to show
The updated MT5 walk-forward auto-optimizer focuses on speed, multi-asset runs, and lower memory usage by removing mutex-based report generation and reducing expensive file operations. A new date auto-complete window splits a chosen period into alternating historical and forward windows: historical ranges can overlap, forward ranges are continuous, and both use fixed step sizes. The calculation is isolated behind a singleton data model and event-driven updates, with tools to bulk-clear and reapply ranges via a sub-window wrapper. ReportManager.dll adds a user-defined optimization coefficient, keeps compatibility with older reports, and extends sorting options. On the MQL5 side, robots can supply this coefficient via a callback passed into the uploader. Report export is accelerated by buffering passes in C# and writing the full report in one shot, ... 👉 Read | Forum | @mql5dev
4 · 4.2K ·
MQL5 Algo Trading
Photo
click to show
Inversion Fair Value Gaps adds automated fair value gap detection with bar-close confirmation and no repaint behavior. Gaps are tracked until a candle body closes through the zone, marking an inversion event. After inversion, the tool monitors for bounce reactions off the inverted area and generates signals. Options include a midline, filled-zone removal, and adjustable color settings for zones and markers. Alert routing is supported via popup, sound, push notification, e-mail, and Telegram. 👉 Read | Docs | @mql5dev
10 · 17K ·
M
Photo
click to show
Entry/exit points remain the core problem in algorithmic trading because recognizable patterns are usually visible only after the move. Trend and flat regimes are easy to label visually, but unreliable as predictive signals without quantified probabilities. Price formation can be described via market vs limit orders. Limit orders populate the order book, market orders consume it. Spread is the gap between best bid/ask. Stop Loss/Take Profit placement creates distributed trigger levels that can amplify acceleration or reversal. From a probabilistic view, discrete ticks imply a random process where expected payoff for random entries converges to zero, excluding spread. Expected value and profit factor can be expressed through conditional events: closing by stops vs signals, with nested probabilities per stop configuration. Regime detection can be fr... 👉 Read | AlgoBook | @mql5dev
9 · 20K ·
MQL5 Algo Trading
Photo
click to show
ZoneUS30 is a simplified Expert Advisor focused on the US30 index and limited to SELL-only execution. The logic targets overextended upside moves where price may revert toward a prior reference area, triggering entries when internal conditions align. The model combines mean-reversion behavior with the practical impact of swap. When a broker pays positive overnight swap on US30 shorts, holding positions across multiple sessions can add carry while waiting for a correction, without treating swap as the primary edge. Trading is closer to swing or position holding than scalping, with some trades lasting days. The public build exposes only two inputs: lot size and the signal timeframe; remaining parameters are fixed. Key risk: this is counter-trend selling in strong uptrends, with potential for extended adverse movement. Swap terms can change by broker rules an... 👉 Read | CodeBase | @mql5dev
8 · 9.3K ·
Photo
click to show
RSI Exhaustion Reversal - EURUSD is an open-source MQL5 Expert Advisor built for strategy research, historical testing, and education. It is restricted to the MetaTrader 5 Strategy Tester and will not place trades when attached to a regular chart. Full source code is included for inspection and modification. The strategy targets EURUSD on M5 with SELL-only logic. It watches RSI(14) for an overbought exhaustion condition around level 65 during the 14:00–18:00 broker/server-time session. Before entry, spread is checked against volatility using a max Spread/ATR ratio of 0.15. Risk controls use ATR(14) to size SL and TP at 4x ATR, cap position duration to 96 candles, and enforce a single concurrent position. User inputs are limited to internal timeframe, fixed lot size, and magic number. Backtests are recommended on real ticks where available; results vary by broke... 👉 Read | VPS | @mql5dev
11 · 8.2K ·
Photo
click to show
An Adaptive Kalman Trend Filter indicator is designed to reduce short-term price noise and present a clearer view of the underlying trend. It applies Kalman-style state estimation to smooth input data while retaining enough responsiveness to reflect meaningful movement. The adaptive component modifies the filter’s sensitivity as volatility and market structure change. In lower-noise phases it can prioritize smoothness; during faster moves it can react sooner to shifts in direction. Typical usage focuses on trend bias, momentum change points, and timing confirmations when combined with risk rules and other signals. As with any filter, parameter selection and out-of-sample checks remain critical to avoid overfitting. 👉 Read | Signals | @mql5dev
6 · 6.9K ·
Photo
click to show
A specification panel reflects the broker’s current contract report. Broker Contract Change Watch logs when selected contract properties differ from the last saved observation, with a baseline stored per account server, login, and chart symbol. Watched fields include digits, point size, minimum tick, contract size, volume min/max/step and directional limit, stops and freeze levels. It also tracks trading and execution modes, filling flags and allowed order flags, plus swap mode, long/short swap values, and the triple-swap weekday. After reattachment or terminal restart, the next valid observation is compared to the saved baseline. A compact panel shows the latest change, volume settings, and stop restrictions. CSV output records local time, property, previous value, and new value. Spread and currency-converted tick value are excluded to avoid routine marke... 👉 Read | CodeBase | @mql5dev
3 · 5.8K ·
M
Photo
click to show
MetaTrader 5 EAs often keep critical strategy state only in RAM (grid depth, recovery steps, daily counters, online-trained model weights). After a terminal restart, the EA can mismanage existing positions because its internal context is gone. A common persistence bug is overwriting the live state file: a crash mid-write truncates it, leaving “valid-looking” but wrong data. The proposed fix is atomic-style saving: write to a temporary file, flush/close it, then replace the live file using FileMove, without DLLs. To detect silent damage from edits or partial copies, the file includes a header with a magic identifier, a format version, and a checksum. On load, the store rebuilds a canonical body and verifies the checksum, returning an empty state if integrity fails. Beyond scalars, the utility persists double arrays, making it practical to restore rolling statisti... 👉 Read | Forum | @mql5dev
5 · 3.9K ·

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · What we do not do · Remove a page · Catalog · Search · How we count