Multi-timeframe dashboards often emit conflicting forecasts for the same price window. Weighted voting forces agreement but provides no error guarantee.
Forecast reconciliation treats coherence as a linear constraint. When targets are linearly related by construction, an orthogonal projection can enforce consistency without increasing total squared error under the chosen metric, given a coherent truth.
An MQL5 implementation builds a summing matrix for two cases: timeframe aggregation on one symbol, and cross-currency identities in log space. Independent models per node are reconciled into a coherent set.
Weighting matters. Options range from identity and structural diagonals to MinT covariance-based schemes with correlation shrinkage. Walk-forward tests measure squared error only; results do not imply a trading edge.
π Read | AppStore | @mql5dev
Forecast reconciliation treats coherence as a linear constraint. When targets are linearly related by construction, an orthogonal projection can enforce consistency without increasing total squared error under the chosen metric, given a coherent truth.
An MQL5 implementation builds a summing matrix for two cases: timeframe aggregation on one symbol, and cross-currency identities in log space. Independent models per node are reconciled into a coherent set.
Weighting matters. Options range from identity and structural diagonals to MinT covariance-based schemes with correlation shrinkage. Walk-forward tests measure squared error only; results do not imply a trading edge.
π Read | AppStore | @mql5dev
π19β€8π₯8π€©7π¨βπ»2π1
A script exports the full trading specification for each symbol into a CSV file.
The output includes digits, point, tick size/value, volume min/max/step, contract size, stops and freeze levels, current spread, spread type (floating or fixed), allowed filling modes, execution mode, trade mode, initial margin, swap long/short, and profit currency.
These parameters commonly change between brokers or instruments and can cause Expert Advisors to fail without clear errors. Volume step, filling mode, and stops level are frequent sources of silent order rejections. A one-time export makes incompatibilities visible before placing the first trade.
Inputs cover Market Watch only or all broker symbols, optional use of the common Files folder, and a configurable file name (empty for automatic naming). Symbols not in Market Watch are added temporarily for reading, t...
π Read | Signals | @mql5dev
The output includes digits, point, tick size/value, volume min/max/step, contract size, stops and freeze levels, current spread, spread type (floating or fixed), allowed filling modes, execution mode, trade mode, initial margin, swap long/short, and profit currency.
These parameters commonly change between brokers or instruments and can cause Expert Advisors to fail without clear errors. Volume step, filling mode, and stops level are frequent sources of silent order rejections. A one-time export makes incompatibilities visible before placing the first trade.
Inputs cover Market Watch only or all broker symbols, optional use of the common Files folder, and a configurable file name (empty for automatic naming). Symbols not in Market Watch are added temporarily for reading, t...
π Read | Signals | @mql5dev
β€12π11π₯8π€©6β‘2π2
Manual Trade Pad for MT5 is a chart-based manual trading panel built as an MQL5 EA for order execution and basic position management directly from the terminal. It runs in two modes: Live Market for manual trading, and Strategy Tester for manual historical testing and workflow practice. No external DLLs, libraries, indicators, or custom GUI frameworks are required.
Core functions include BUY/SELL market orders with automatic Stop Loss and optional Take Profit based on a configurable Risk/Reward ratio. Position sizing supports fixed lot input or risk-percentage sizing, with volume normalized to broker constraints and validated against symbol stop-level rules.
Trade management covers Break-Even with offset, partial close with step/min volume checks, and closing by direction (BUY, SELL, or all managed). Scope is limited to the chart symbol and a configured Magic Nu...
π Read | Docs | @mql5dev
Core functions include BUY/SELL market orders with automatic Stop Loss and optional Take Profit based on a configurable Risk/Reward ratio. Position sizing supports fixed lot input or risk-percentage sizing, with volume normalized to broker constraints and validated against symbol stop-level rules.
Trade management covers Break-Even with offset, partial close with step/min volume checks, and closing by direction (BUY, SELL, or all managed). Scope is limited to the chart symbol and a configured Magic Nu...
π Read | Docs | @mql5dev
β€24π11π€©8π₯4π2π2
AI agents and other automated systems execute trades at machine speed, while platform safety settings can miss operational errors. AgentGuard adds an independent risk layer by polling all open positions every five seconds and enforcing four hard limits.
Controls include maximum total volume, maximum position count, mandatory stop-loss on every position, and a daily-loss circuit breaker that closes all positions and remains locked until the next trading day.
The tool operates alongside any EA, manual trading, or AI agent. It evaluates compliance only, regardless of how a position was opened. A status panel and intervention alerts provide visibility, with a monitor-only mode for calibration. No DLLs. Free. Risk management only; no signal generation.
π Read | VPS | @mql5dev
Controls include maximum total volume, maximum position count, mandatory stop-loss on every position, and a daily-loss circuit breaker that closes all positions and remains locked until the next trading day.
The tool operates alongside any EA, manual trading, or AI agent. It evaluates compliance only, regardless of how a position was opened. A status panel and intervention alerts provide visibility, with a monitor-only mode for calibration. No DLLs. Free. Risk management only; no signal generation.
π Read | VPS | @mql5dev
β€18π₯11π9π€©4π2
Broker Basket Preflight is a standalone MT5 script intended to verify a brokerβs multi-symbol setup before portfolio EA work. It reads the exact symbols currently selected in Market Watch and writes a diagnostic report to the Experts journal. The source includes an MIT license and relies on no external libraries, DLLs, or network calls.
The script is installed by copying BrokerBasketPreflight.mq5 into MQL5/Scripts, compiling, then running it from a separate chart. InpSymbols can be left empty to test the chart symbol, or set to a 1β64 entry comma-separated basket using broker-exact names. Unknown, unselected, empty, and duplicate entries are skipped independently.
Output covers symbol specification and quote integrity: contract size, volume limits/step, point/tick sizes, digits, stops/freeze distances, calc/trade modes, execution and filling policies, p...
π Read | Forum | @mql5dev
The script is installed by copying BrokerBasketPreflight.mq5 into MQL5/Scripts, compiling, then running it from a separate chart. InpSymbols can be left empty to test the chart symbol, or set to a 1β64 entry comma-separated basket using broker-exact names. Unknown, unselected, empty, and duplicate entries are skipped independently.
Output covers symbol specification and quote integrity: contract size, volume limits/step, point/tick sizes, digits, stops/freeze distances, calc/trade modes, execution and filling policies, p...
π Read | Forum | @mql5dev
β€19π13π€©5π₯2
Portfolio Allocation Planner is a free open-source MT5 utility for checking whether target weights are feasible under broker minimum lots. It converts an explicit notional budget and percentage weights into a dashboard showing minimum-lot notional, lots rounded down, resulting allocation, target shortfall, and per-row status. Snapshots can be recalculated on demand, inspected via hover details, paginated for larger baskets, and optionally exported to CSV.
Setup: copy PortfolioAllocationPlanner.mq5 to MQL5/Experts, compile, select exact broker symbols in Market Watch, then attach to a separate chart. Configure InpBudget, InpBudgetCurrency, InpSymbols, and matching InpWeightsPct (not normalized; total > 0 and <= 100). It is an interface EA with no trading; no account data is read and no orders are sent.
Notional is computed as Ask Γ contract size with explici...
π Read | AlgoBook | @mql5dev
Setup: copy PortfolioAllocationPlanner.mq5 to MQL5/Experts, compile, select exact broker symbols in Market Watch, then attach to a separate chart. Configure InpBudget, InpBudgetCurrency, InpSymbols, and matching InpWeightsPct (not normalized; total > 0 and <= 100). It is an interface EA with no trading; no account data is read and no orders are sent.
Notional is computed as Ask Γ contract size with explici...
π Read | AlgoBook | @mql5dev
β€19π11π€©9π₯4
SEW ResNet concepts were implemented for MQL5 time-series work using a spiking ResNeXt baseline with energy-balanced learning. The design targets bursty market streams by using discrete spikes, adaptive thresholds, and gating to reduce sensitivity to noise while staying responsive under volatility.
Core modules include Spike ResNeXt Bottleneck and Spike ResNeXt Residual blocks, assembled via programmatic layer creation with convolution, normalization, spiking activation, and grouped convolutions. A zero-input check skips compute during low-activity intervals.
To capture cross-feature dependencies, a second Bottleneck operates on a transposed tensor per time step, while residual usage is limited to avoid over-amplification. Multi-stream fusion avoids element-wise multiplication due to blocked gradients; normalized summation plus spiking activation ...
π Read | AppStore | @mql5dev
Core modules include Spike ResNeXt Bottleneck and Spike ResNeXt Residual blocks, assembled via programmatic layer creation with convolution, normalization, spiking activation, and grouped convolutions. A zero-input check skips compute during low-activity intervals.
To capture cross-feature dependencies, a second Bottleneck operates on a transposed tensor per time step, while residual usage is limited to avoid over-amplification. Multi-stream fusion avoids element-wise multiplication due to blocked gradients; normalized summation plus spiking activation ...
π Read | AppStore | @mql5dev
π₯10π9β€8π€©2
Part V adds persistence to the Supply/Demand Zone Manager so zone state survives EA or terminal restarts per symbol+timeframe.
A plain-data snapshot (SZonePersist) stores identity, geometry/timing, scores/telemetry, lifecycle flags, interaction history, and user anchors. Runtime behavior stays in CZone; persistence only captures durable state.
Startup flow restores saved properties, rebuilds CZone instances from records, runs existing relevance checks, then reconciles chart rectangles. User zones restore left anchor and price bounds; right edge remains framework-managed and extends at runtime.
Persistence uses Terminal\Common\Files\DynamicSR\V5 with filenames derived from symbol+timeframe. Changes mark a dirty flag; SavePersistState writes snapshots via CZonePersistence.
Scope note: restart-safe only. No atomic writes, checksums, or crash-safe transact...
π Read | NeuroBook | @mql5dev
A plain-data snapshot (SZonePersist) stores identity, geometry/timing, scores/telemetry, lifecycle flags, interaction history, and user anchors. Runtime behavior stays in CZone; persistence only captures durable state.
Startup flow restores saved properties, rebuilds CZone instances from records, runs existing relevance checks, then reconciles chart rectangles. User zones restore left anchor and price bounds; right edge remains framework-managed and extends at runtime.
Persistence uses Terminal\Common\Files\DynamicSR\V5 with filenames derived from symbol+timeframe. Changes mark a dirty flag; SavePersistState writes snapshots via CZonePersistence.
Scope note: restart-safe only. No atomic writes, checksums, or crash-safe transact...
π Read | NeuroBook | @mql5dev
β€16π11π€©7π₯6
Part 86 extends the double-bottom pattern tool with library-wide validation. A new VALIDATE ALL action reuses the existing ValidateDoubleBottom() rule engine to classify every stored sample into INVALID, CANDIDATE, CONFIRMED, or FAILED, while keeping single-sample validation and chart rendering separate for accurate visual review.
The batch run works on stored candle arrays (symbol/timeframe included), supports non-consecutive sample IDs, and produces a consolidated UTF-8 CSV without modifying original SAMPLE_<ID>.csv files. The report embeds totals, validator settings, schema/revision metadata, and one detailed row per sample (indices, prices, score, reason), preserving 17-digit floating-point precision.
Export adds defensive engineering: per-run filenames, temp-file write + byte-for-byte readback verification, explicit status accounting, and error diagnos...
π Read | Quotes | @mql5dev
The batch run works on stored candle arrays (symbol/timeframe included), supports non-consecutive sample IDs, and produces a consolidated UTF-8 CSV without modifying original SAMPLE_<ID>.csv files. The report embeds totals, validator settings, schema/revision metadata, and one detailed row per sample (indices, prices, score, reason), preserving 17-digit floating-point precision.
Export adds defensive engineering: per-run filenames, temp-file write + byte-for-byte readback verification, explicit status accounting, and error diagnos...
π Read | Quotes | @mql5dev
π11β€10π€©4π₯2π1
This article implements Variational Mode Decomposition (VMD) for MetaTrader 5 as a rigorously causal tool, not a hindsight-heavy chart smoother. It contrasts VMD with MAs, FFT, and EMD, then frames VMD as an explicit optimization solved by ADMM: K modes that sum to price, each constrained to be narrowband around an estimated center frequency.
Key engineering details: FFT is done once in/out of the loop; ADMM updates are closed-form Wiener filters in the frequency domain; windows are mirrored to reduce boundary discontinuities; analytic-signal handling is implemented correctly; log-prices and mean removal prevent the DC spike from corrupting modes; rolling buffers keep memory small enough for per-bar execution.
The indicator plots a denoised signal, trend mode, and a βrandom wanderβ band, plus per-mode periods, energy shares, and solve-quality flags. Cruci...
π Read | AlgoBook | @mql5dev
Key engineering details: FFT is done once in/out of the loop; ADMM updates are closed-form Wiener filters in the frequency domain; windows are mirrored to reduce boundary discontinuities; analytic-signal handling is implemented correctly; log-prices and mean removal prevent the DC spike from corrupting modes; rolling buffers keep memory small enough for per-bar execution.
The indicator plots a denoised signal, trend mode, and a βrandom wanderβ band, plus per-mode periods, energy shares, and solve-quality flags. Cruci...
π Read | AlgoBook | @mql5dev
π10β€8π₯6π2π€©2
MITP (Multi-Indicator Trend Painter) is a trend-following indicator that aggregates up to 32 independent signals, including ALMA, AO, MACD (line and histogram), PPO (line and histogram), RSI MA, CCI MA, Fisher, KAMA, True Strength Index, Trend Strength Index, RCI Ribbon, Chop Zone, and others. Each component can be enabled or disabled in inputs.
Each enabled indicator maintains its own trigger. When it turns bullish, the candle high is stored as a buy trigger; when bearish, the candle low becomes a sell trigger. A state flips to BUY or SELL only after a candle closes beyond the stored trigger while the condition remains valid. If the indicator reverses, the pending trigger is dropped and recreated on a subsequent flip. Neutral readings keep the current state.
A general trigger is created only when all enabled indicators align in BUY or SELL on a clos...
π Read | Signals | @mql5dev
Each enabled indicator maintains its own trigger. When it turns bullish, the candle high is stored as a buy trigger; when bearish, the candle low becomes a sell trigger. A state flips to BUY or SELL only after a candle closes beyond the stored trigger while the condition remains valid. If the indicator reverses, the pending trigger is dropped and recreated on a subsequent flip. Neutral readings keep the current state.
A general trigger is created only when all enabled indicators align in BUY or SELL on a clos...
π Read | Signals | @mql5dev
π14π₯7β€6
This article frames price, returns, and equity curves as random processes: functions indexed by time, where a chart is just one sample path. The practical goal is separating structure from noise using definitions that make assumptions explicit and testable.
It introduces cross-sections, trajectories, and finite-dimensional distributions as the core way to reason about increments, autocovariance, and autocorrelation without βinfinite-dimensionalβ machinery. Key diagnostics become time-dependent functions: mean, variance, covariance, and correlation.
The classification focuses on what matters for modeling: discrete vs continuous time, discrete vs continuous state space, stationarity (strict vs wide-sense), stationary/independent/uncorrelated increments, ergodicity as a justification for backtests, and Markov structure as βmemory length,β including the tric...
π Read | AlgoBook | @mql5dev
It introduces cross-sections, trajectories, and finite-dimensional distributions as the core way to reason about increments, autocovariance, and autocorrelation without βinfinite-dimensionalβ machinery. Key diagnostics become time-dependent functions: mean, variance, covariance, and correlation.
The classification focuses on what matters for modeling: discrete vs continuous time, discrete vs continuous state space, stationarity (strict vs wide-sense), stationary/independent/uncorrelated increments, ergodicity as a justification for backtests, and Markov structure as βmemory length,β including the tric...
π Read | AlgoBook | @mql5dev
π19β€9π₯5π€©3
RiskLotCalculator is an MT5 script that calculates position size so a stop loss hit matches a defined account risk percentage. After attaching it to a chart, set risk percent and stop loss distance in points; a chart panel displays the computed lot size along with money at risk and required margin.
The script uses OrderCalcProfit() to estimate the loss for 1.0 lot from entry to stop loss, relying on platform handling of tick value, contract size, and account currency. This keeps the logic consistent across forex, gold, indices, and crypto without per-symbol parameters.
Risk amount is derived from the selected base (equity, balance, or free margin) multiplied by the risk percent. The resulting volume is floored to the symbolβs volume step and constrained to min/max lot to avoid exceeding the requested risk. Warnings are shown if broker minimum volume imp...
π Read | NeuroBook | @mql5dev
The script uses OrderCalcProfit() to estimate the loss for 1.0 lot from entry to stop loss, relying on platform handling of tick value, contract size, and account currency. This keeps the logic consistent across forex, gold, indices, and crypto without per-symbol parameters.
Risk amount is derived from the selected base (equity, balance, or free margin) multiplied by the risk percent. The resulting volume is floored to the symbolβs volume step and constrained to min/max lot to avoid exceeding the requested risk. Warnings are shown if broker minimum volume imp...
π Read | NeuroBook | @mql5dev
β€14π10π₯6π€©4π¨βπ»2β1β‘1
This piece adds a proper feature-screening stage to MT5-style pipelines, focusing on overlapping forward returns where standard permutation tests break. Shuffling the target assumes observations are exchangeable; with 20-bar overlapping labels and persistent features, it produces extreme false positives even on true nulls.
A calibrated null is built with resampling that preserves dependence: circular shifts (optionally constrained to hour-of-day) behave near the nominal error rate, while stationary bootstrap requires explicitly chosen block lengths and can be badly oversized.
The implemented three-gate screen separates concerns: (1) stationarity via paired ADF+KPSS to avoid single-test blind spots, plus rolling stability diagnostics; (2) entropy as a cheap variance filter to save compute; (3) mutual information with WestfallβYoung family-wise correct...
π Read | NeuroBook | @mql5dev
A calibrated null is built with resampling that preserves dependence: circular shifts (optionally constrained to hour-of-day) behave near the nominal error rate, while stationary bootstrap requires explicitly chosen block lengths and can be badly oversized.
The implemented three-gate screen separates concerns: (1) stationarity via paired ADF+KPSS to avoid single-test blind spots, plus rolling stability diagnostics; (2) entropy as a cheap variance filter to save compute; (3) mutual information with WestfallβYoung family-wise correct...
π Read | NeuroBook | @mql5dev
π12β€5π₯4
Option chains contain more information than a single implied volatility: the volatility smile encodes a full risk-neutral terminal distribution, often with far fatter tails than lognormal. The article turns that into actionable percentiles by recovering density from call-price curvature (BreedenβLitzenberger), then publishing the 5β95% band.
Because second derivatives amplify bad quotes, the pipeline focuses on robustness: derive the forward from put-call parity (median near-ATM), convert to a Black-76 forward framework, fit a smooth IV curve in log-moneyness, reprice a dense strike grid, then finite-difference to density. It reports diagnostics instead of hiding flaws: negative probability mass, convexity violations, parity spread, and strike coverage.
Implementation is split cleanly: Python writes a small JSON feed per ETF; MQL5 reads it to draw lev...
π Read | Forum | @mql5dev
Because second derivatives amplify bad quotes, the pipeline focuses on robustness: derive the forward from put-call parity (median near-ATM), convert to a Black-76 forward framework, fit a smooth IV curve in log-moneyness, reprice a dense strike grid, then finite-difference to density. It reports diagnostics instead of hiding flaws: negative probability mass, convexity violations, parity spread, and strike coverage.
Implementation is split cleanly: Python writes a small JSON feed per ETF; MQL5 reads it to draw lev...
π Read | Forum | @mql5dev
β€12π9π₯5π€©2
MetaTrader 5 tick volume is a per-bar quote-change counter. It reflects time-of-day effects, is incomplete mid-bar, and loses intra-bar timing. A more direct activity measure can be built from inter-quote durations.
The approach uses time between consecutive quote changes, removes the diurnal profile in fixed time bins with interpolation, then models remaining clustering via an Engle-Russell ACD recursion. The output is a per-quote activity ratio: 1 equals normal for that hour, 2 implies double the expected quote pace, 0.5 half.
Implementation details include folding same-millisecond bursts into one event and resetting after long gaps (default 5 minutes). Calibration is pure MQL5 and reports out-of-sample likelihood gains versus a rhythm-only baseline across EURUSD, GBPUSD, USDJPY, XAUUSD, US30, SPX500, with modest but statistically significant inc...
π Read | Docs | @mql5dev
The approach uses time between consecutive quote changes, removes the diurnal profile in fixed time bins with interpolation, then models remaining clustering via an Engle-Russell ACD recursion. The output is a per-quote activity ratio: 1 equals normal for that hour, 2 implies double the expected quote pace, 0.5 half.
Implementation details include folding same-millisecond bursts into one event and resetting after long gaps (default 5 minutes). Calibration is pure MQL5 and reports out-of-sample likelihood gains versus a rhythm-only baseline across EURUSD, GBPUSD, USDJPY, XAUUSD, US30, SPX500, with modest but statistically significant inc...
π Read | Docs | @mql5dev
β€14π10π₯3π€©3
Bridging βdraw this level/pitchfork/fibβ from natural language to deterministic EA logic hinges on one contract: a native chart object with a structured, unique name. Producer programs (indicators/scripts) create standard MT5 objects and encode direction, event type (TOUCH/BREAK/ZONE), role, and an ID in the object name so AIObjectTrader can recognize and evaluate them.
Two lifecycles are compared: one-shot scripts that place an HLINE or FIBOTIMES and exit, and a persistent indicator that maintains an OBJ_PITCHFORK while preserving a stable object identity during anchor updates.
AIObjectTrader scans chart objects, performs partial name recognition, dispatches supported geometry (HLINE/TREND/PITCHFORK/RECTANGLE), and tracks per-bar signals. Key boundaries remain: incomplete protocol validation, weak cross-restart identity/ownership, timing approximations, an...
π Read | Signals | @mql5dev
Two lifecycles are compared: one-shot scripts that place an HLINE or FIBOTIMES and exit, and a persistent indicator that maintains an OBJ_PITCHFORK while preserving a stable object identity during anchor updates.
AIObjectTrader scans chart objects, performs partial name recognition, dispatches supported geometry (HLINE/TREND/PITCHFORK/RECTANGLE), and tracks per-bar signals. Key boundaries remain: incomplete protocol validation, weak cross-restart identity/ownership, timing approximations, an...
π Read | Signals | @mql5dev
π16β€9π€©5β‘4π₯3
This stage extends the double-bottom toolkit from reviewing recorded examples to scanning chart history using reference-guided matching. A candidate must pass strict geometry (separation, depth, symmetry, neckline) and also resemble previously validated library samples.
The search normalizes the price path between the two lows into a fixed-length close/low profile, resampled to a set number of points and scaled by pattern depth. Similarity is computed via RMSE and converted to a bounded score; the mean of the top neighbors must exceed a configurable threshold. Results are labeled CANDIDATE/CONFIRMED/FAILED based on post-formation closes, not trade outcomes.
The EA scans completed bars on the attached symbol/timeframe, filters duplicates, renders selected detections on-chart, and exports REFERENCE_MATCHES.csv with settings, counts, structural metrics, and th...
π Read | AlgoBook | @mql5dev
The search normalizes the price path between the two lows into a fixed-length close/low profile, resampled to a set number of points and scaled by pattern depth. Similarity is computed via RMSE and converted to a bounded score; the mean of the top neighbors must exceed a configurable threshold. Results are labeled CANDIDATE/CONFIRMED/FAILED based on post-formation closes, not trade outcomes.
The EA scans completed bars on the attached symbol/timeframe, filters duplicates, renders selected detections on-chart, and exports REFERENCE_MATCHES.csv with settings, counts, structural metrics, and th...
π Read | AlgoBook | @mql5dev
π24π€©15β€14π₯11π2π¨βπ»1π1
S3CE-Net reframes streaming data as sparse, asynchronous events rather than uniform time samples, making it a strong fit for markets where the decisive signals are rare bursts: volume spikes, liquidity shocks, abrupt order-book shifts.
The pipeline bins events into fixed windows with polarity channels, then uses a lightweight spiking SEW-ResNet with residual connections to extract stable spatiotemporal features efficiently without losing the event-driven nature.
Its core upgrade is SSAM: causal spike-guided attention that links current events only to the past, adding learnable relative positional bias to preserve spatial relationships. A companion STFS sampling strategy trains on feature subsets to reduce memorization and improve regime robustnessβuseful for adaptive, real-time MT5 systems.
π Read | Forum | @mql5dev
The pipeline bins events into fixed windows with polarity channels, then uses a lightweight spiking SEW-ResNet with residual connections to extract stable spatiotemporal features efficiently without losing the event-driven nature.
Its core upgrade is SSAM: causal spike-guided attention that links current events only to the past, adding learnable relative positional bias to preserve spatial relationships. A companion STFS sampling strategy trains on feature subsets to reduce memorization and improve regime robustnessβuseful for adaptive, real-time MT5 systems.
π Read | Forum | @mql5dev
π20π₯18β€15π€©15
MQL5 Algo Forge runs Forgejo behind MQL5.com auth. The version endpoint is public and reports Forgejo 16.x with a +gitea-* compatibility suffix. Feature availability depends on instance settings; checks were revalidated through 12 Oct 2026.
CI (Actions) works with real runners. Webhooks and the package registry work. Branch/tag protection, Git LFS, mirrors, and migration are enabled. SSH clone and platform-wide code search are disabled; per-repo code search works.
MetaQuotes additions include βOpen with MetaEditorβ via metaeditor5://checkout?repo= and a README Translate control for 15 languages, changing how documentation should be structured.
Releases enforce attachment limits and block .mq5/.mqh/.ex5/.set uploads. Workarounds: zip artifacts or publish binaries in the generic package registry and link them as external assets.
π Read | Calendar | @mql5dev
CI (Actions) works with real runners. Webhooks and the package registry work. Branch/tag protection, Git LFS, mirrors, and migration are enabled. SSH clone and platform-wide code search are disabled; per-repo code search works.
MetaQuotes additions include βOpen with MetaEditorβ via metaeditor5://checkout?repo= and a README Translate control for 15 languages, changing how documentation should be structured.
Releases enforce attachment limits and block .mq5/.mqh/.ex5/.set uploads. Workarounds: zip artifacts or publish binaries in the generic package registry and link them as external assets.
π Read | Calendar | @mql5dev
β€29π€©21π20π₯19π3β1π¨βπ»1
VelaMayor MTF is a multi-timeframe visualization indicator for MetaTrader 5, aimed at workflows based on multi-timeframe analysis, SMC, price action, and ICT.
It renders the last X candles from a selected higher timeframe (H1/H4/D1) directly on the active execution chart (M1/M5/M15), reducing the need to switch charts while keeping higher-timeframe structure visible.
Rendering supports independent border and fill colors for candle bodies, improving contrast across light and dark themes. Periods are drawn as separate boxes limited to the candles that formed within each timeframe interval, avoiding full-block stretches and preserving spacing between periods.
Wicks are centered and detached to maintain clean boundaries. Candle 0 updates tick-by-tick. Auto-recovery uses chart events and a timer to restore objects after timeframe changes or reconnects. O...
π Read | AlgoBook | @mql5dev
It renders the last X candles from a selected higher timeframe (H1/H4/D1) directly on the active execution chart (M1/M5/M15), reducing the need to switch charts while keeping higher-timeframe structure visible.
Rendering supports independent border and fill colors for candle bodies, improving contrast across light and dark themes. Periods are drawn as separate boxes limited to the candles that formed within each timeframe interval, avoiding full-block stretches and preserving spacing between periods.
Wicks are centered and detached to maintain clean boundaries. Candle 0 updates tick-by-tick. Auto-recovery uses chart events and a timer to restore objects after timeframe changes or reconnects. O...
π Read | AlgoBook | @mql5dev
β€21π15π€©11π₯5π1