DoEasy extends its indicator framework by adding concrete classes for each MT5 standard indicator (38 planned). Each descendant wraps metadata (type, symbol, timeframe, names) plus a structured parameter list, enabling consistent creation and access to indicator handles and properties.
The base indicator class is upgraded with an ENUM_INDICATOR type property, searchable/sortable in collections, and a readable type description derived from values like IND_MACD.
A new IndicatorsCollection centralizes lifecycle management: factory-style creation by indicator type, typed helpers (e.g., AC, Alligator), and retrieval of indicator lists filtered and sorted by type, symbol, and timeframe. Pointers to this collection are injected into Engine, TimeSeriesCollection, and BuffersCollection, preparing unified data updates and future event tracking across all indic...
π Read | NeuroBook | @mql5dev
The base indicator class is upgraded with an ENUM_INDICATOR type property, searchable/sortable in collections, and a readable type description derived from values like IND_MACD.
A new IndicatorsCollection centralizes lifecycle management: factory-style creation by indicator type, typed helpers (e.g., AC, Alligator), and retrieval of indicator lists filtered and sorted by type, symbol, and timeframe. Pointers to this collection are injected into Engine, TimeSeriesCollection, and BuffersCollection, preparing unified data updates and future event tracking across all indic...
π Read | NeuroBook | @mql5dev
β€55π11π4π4π¨βπ»4π3π1
Utility for MT5 that closes a defined basket of positions as soon as floating loss reaches a configured limit. The limit can be fixed money, percent of balance, or percent of equity; percent-based limits remain consistent as account size and basket costs change.
Basket scope is selectable: all positions, current chart symbol, or a magic-number list. Magic 0 includes manual trades. Optional basket take-profit is supported in money or percent of balance and is disabled by default.
On trigger, it snapshots the basket and closes only those tickets, preventing interference with trades opened later by other EAs. Close attempts are retried on a 500 ms timer without blocking, using the correct filling mode per symbol and validating server return codes. Retries pause during disconnects, market closure, or disabled autotrading; persistent rejection stops after 40 swe...
π Read | Quotes | @mql5dev
Basket scope is selectable: all positions, current chart symbol, or a magic-number list. Magic 0 includes manual trades. Optional basket take-profit is supported in money or percent of balance and is disabled by default.
On trigger, it snapshots the basket and closes only those tickets, preventing interference with trades opened later by other EAs. Close attempts are retried on a 500 ms timer without blocking, using the correct filling mode per symbol and validating server return codes. Retries pause during disconnects, market closure, or disabled autotrading; persistent rejection stops after 40 swe...
π Read | Quotes | @mql5dev
β€34π8π2π2
A lightweight chart indicator implements a candle countdown using a 1-second timer plus calculation refresh. Initialization sets EventSetTimer(1) and creates a single OBJ_TEXT object with configurable color, font, size, and anchor, while keeping it non-selectable and hidden from the objects list.
The countdown is derived from iTime(symbol, period, 0) and PeriodSeconds(period), then compared with TimeCurrent() to compute remaining seconds. Output is formatted as mm:ss or hh:mm:ss and updated on every tick and timer event.
Text placement is tied to the current bar time and live Bid via ObjectMove, followed by ChartRedraw. Deinitialization cleans up by killing the timer and deleting the object, avoiding orphaned UI artifacts.
π Read | AppStore | @mql5dev
The countdown is derived from iTime(symbol, period, 0) and PeriodSeconds(period), then compared with TimeCurrent() to compute remaining seconds. Output is formatted as mm:ss or hh:mm:ss and updated on every tick and timer event.
Text placement is tied to the current bar time and live Bid via ObjectMove, followed by ChartRedraw. Deinitialization cleans up by killing the timer and deleting the object, avoiding orphaned UI artifacts.
π Read | AppStore | @mql5dev
β€14β‘5π4π2π₯1
Drawdown analysis is often reduced to a single worst-case depth, but that is the least actionable metric. A practical view tracks three dimensions: depth, duration (time from prior peak to a new peak), and frequency (how often episodes occur). Duration is typically what breaks execution, even when depth is unchanged.
A history-only script is available to measure these on closed P/L. It does not place or modify trades and does not require algorithmic trading to be enabled. InpStartBalance switches reporting between currency and percent from the equity peak. InpTopN limits listed episodes. InpExportCSV saves DrawdownEpisodes.csv to MQL5\Files. The CURRENT line indicates whether a new peak is in place or an episode remains open and how it ranks versus past episodes.
Two implementation points affect results: commissions are included at the deal where charge...
π Read | NeuroBook | @mql5dev
A history-only script is available to measure these on closed P/L. It does not place or modify trades and does not require algorithmic trading to be enabled. InpStartBalance switches reporting between currency and percent from the equity peak. InpTopN limits listed episodes. InpExportCSV saves DrawdownEpisodes.csv to MQL5\Files. The CURRENT line indicates whether a new peak is in place or an episode remains open and how it ranks versus past episodes.
Two implementation points affect results: commissions are included at the deal where charge...
π Read | NeuroBook | @mql5dev
β€26π6π¨βπ»3π2
An MT5 Expert Advisor applies Chaos Theory with quantitative momentum logic to gate entries by market regime.
A real-time Largest Lyapunov Exponent (LLE) is computed from reconstructed phase space using configurable lookback, embedding dimension, and projection steps. Nearest-neighbor divergence is tracked to classify conditions as structured versus high-entropy, with trading disabled when instability rises.
Execution is limited to EMA fast/slow crossovers that pass the chaos filter. Risk controls include balance-based position sizing by risk percentage, ATR-driven stop placement, and ATR-derived profit targets. Signal evaluation runs once per bar at the new open to reduce churn and avoid intra-bar noise.
Positioned as a regime-filtering component for systematic portfolio deployment.
π Read | Forum | @mql5dev
A real-time Largest Lyapunov Exponent (LLE) is computed from reconstructed phase space using configurable lookback, embedding dimension, and projection steps. Nearest-neighbor divergence is tracked to classify conditions as structured versus high-entropy, with trading disabled when instability rises.
Execution is limited to EMA fast/slow crossovers that pass the chaos filter. Risk controls include balance-based position sizing by risk percentage, ATR-driven stop placement, and ATR-derived profit targets. Signal evaluation runs once per bar at the new open to reduce churn and avoid intra-bar noise.
Positioned as a regime-filtering component for systematic portfolio deployment.
π Read | Forum | @mql5dev
β€29π4π2π¨βπ»2
An on-chart risk management and execution panel for MT5 focuses on reducing position-size errors and improving execution speed during fast price moves.
It includes an equity-based risk calculator that derives lot size from a configurable risk percent and the current Stop Loss distance in pips. Buy/Sell actions place orders with Stop Loss and Take Profit attached at entry.
Management functions include Close All for positions filtered by Magic Number, plus a breakeven action that shifts Stop Loss to entry for winning trades. An optional trailing stop engine updates stops using configurable distance and step values.
Key inputs cover risk percent, default SL/TP pips, trailing stop settings, and panel X/Y placement. Usage is straightforward: attach to a chart, verify calculated sizing, then execute or manage positions via the panel.
π Read | Forum | @mql5dev
It includes an equity-based risk calculator that derives lot size from a configurable risk percent and the current Stop Loss distance in pips. Buy/Sell actions place orders with Stop Loss and Take Profit attached at entry.
Management functions include Close All for positions filtered by Magic Number, plus a breakeven action that shifts Stop Loss to entry for winning trades. An optional trailing stop engine updates stops using configurable distance and step values.
Key inputs cover risk percent, default SL/TP pips, trailing stop settings, and panel X/Y placement. Usage is straightforward: attach to a chart, verify calculated sizing, then execute or manage positions via the panel.
π Read | Forum | @mql5dev
π19β€14π3β‘1
Aggregate metrics like win rate and profit factor miss conditional risk: whether loss probability changes based on the previous tradeβs outcome or sizing decision.
Neural Loss-Pattern Auditor runs that check directly on closed-deal history. It builds an eight-feature dataset per deal and prints diagnostics to the Experts tab: validation accuracy uplift versus a majority-class baseline, a calibration table by probability bins, and permutation feature importance ranked by accuracy loss after shuffling each feature. Results are summarized into an AβF composite grade with recommendations.
With InpUseDemoData=true, 480 synthetic deals are generated with an injected βlarger size after lossβ pattern for immediate visibility. Set InpUseDemoData=false to analyze real history via HistorySelect() and HistoryDealGet*() with no files.
Network, validation split, calibration, ...
π Read | AlgoBook | @mql5dev
Neural Loss-Pattern Auditor runs that check directly on closed-deal history. It builds an eight-feature dataset per deal and prints diagnostics to the Experts tab: validation accuracy uplift versus a majority-class baseline, a calibration table by probability bins, and permutation feature importance ranked by accuracy loss after shuffling each feature. Results are summarized into an AβF composite grade with recommendations.
With InpUseDemoData=true, 480 synthetic deals are generated with an injected βlarger size after lossβ pattern for immediate visibility. Set InpUseDemoData=false to analyze real history via HistorySelect() and HistoryDealGet*() with no files.
Network, validation split, calibration, ...
π Read | AlgoBook | @mql5dev
β€11π7π₯3β2π2
Financial time series remain unstable, with trends, cycles, noise, and structural breaks. Classic linear baselines often miss regime changes, while large neural models add overfitting risk and weak interpretability.
KΒ²VAE combines Koopman linearization in latent space, a stabilized Kalman correction step, and a VAE for probabilistic forecasts. The output is a distribution over latent states with uncertainty estimates, not a single trajectory.
In an ActorβDirectorβCritic stack, KΒ²VAE acts as an environment-state encoder. The pipeline includes normalization, extended patching with derivative features and timestamps, adaptive per-channel convolutions, RoPE positional encoding, and tensor reshaping for sequence processing.
A TimeMoEAttention layer aggregates latent samples to keep end-to-end gradients. Multi-horizon forecast heads map latent dynamics...
π Read | Forum | @mql5dev
KΒ²VAE combines Koopman linearization in latent space, a stabilized Kalman correction step, and a VAE for probabilistic forecasts. The output is a distribution over latent states with uncertainty estimates, not a single trajectory.
In an ActorβDirectorβCritic stack, KΒ²VAE acts as an environment-state encoder. The pipeline includes normalization, extended patching with derivative features and timestamps, adaptive per-channel convolutions, RoPE positional encoding, and tensor reshaping for sequence processing.
A TimeMoEAttention layer aggregates latent samples to keep end-to-end gradients. Multi-horizon forecast heads map latent dynamics...
π Read | Forum | @mql5dev
β€20π11π₯1π€©1π1
MQL5 ships without unit testing tools, so many EAs rely on manual log inspection. That approach misses βcorrect-lookingβ math bugs that only appear with specific inputs, quietly skewing risk and sizing over time.
The article builds a native, zero-dependency test framework as a script: assertion macros capture file/line via __FILE__/__LINE__, suites are isolated behind an ITestSuite interface, and a central runner aggregates STestResult records and prints a clean pass/fail report to the Experts tab.
It targets common utility failures: floating-point comparisons (ASSERT_NEAR with tolerance), lot-step normalization direction, symbol/digit edge cases, and silent overflow/underflow via sentinel flags (ASSERT_THROWS). The design keeps production math utilities separate from tests, making regression checks practical for traders and MT5 developers.
π Read | Calendar | @mql5dev
The article builds a native, zero-dependency test framework as a script: assertion macros capture file/line via __FILE__/__LINE__, suites are isolated behind an ITestSuite interface, and a central runner aggregates STestResult records and prints a clean pass/fail report to the Experts tab.
It targets common utility failures: floating-point comparisons (ASSERT_NEAR with tolerance), lot-step normalization direction, symbol/digit edge cases, and silent overflow/underflow via sentinel flags (ASSERT_THROWS). The design keeps production math utilities separate from tests, making regression checks practical for traders and MT5 developers.
π Read | Calendar | @mql5dev
β€18π8π2π₯1
Manual Oops gap reversal marking breaks down when gap size, time validity, and first-fill-only rules must be tracked across long histories. The article implements a custom MQL5 indicator that enforces those rules consistently on completed bars, plotting bullish and bearish arrows via two output buffers.
Detection starts with a βgap barβ opening outside the prior barβs range by a configurable minimum (points scaled by _Point). Confirmation requires a bar close back through the prior boundary; intrabar touches are ignored. Signals can confirm on the gap bar or within a max validity window, but only the first qualifying fill is accepted to prevent duplicates.
The indicator architecture separates an initial historical scan that maps all past signals from an incremental update that recalculates only the latest closed bar, avoiding full-history recomputati...
π Read | NeuroBook | @mql5dev
Detection starts with a βgap barβ opening outside the prior barβs range by a configurable minimum (points scaled by _Point). Confirmation requires a bar close back through the prior boundary; intrabar touches are ignored. Signals can confirm on the gap bar or within a max validity window, but only the first qualifying fill is accepted to prevent duplicates.
The indicator architecture separates an initial historical scan that maps all past signals from an incremental update that recalculates only the latest closed bar, avoiding full-history recomputati...
π Read | NeuroBook | @mql5dev
β€17π5π₯4β‘2π2π€‘2
News spikes can make an MT5 EA fire dozens of OrderSend calls per second, hitting undocumented broker rate limits and causing silent delays or retcode failures. A fixed cooldown avoids this but also suppresses legitimate signals.
CTradeThrottle addresses the problem with a token-bucket limiter: allow short bursts up to a configured capacity, then cap sustained flow by a refill rate. When tokens run out, requests are queued instead of discarded, then released via OnTimer() as tokens return, using priority ordering with FIFO tie-breaks.
The design exposes a clear interface (Submit/Cancel/GetStatus) and separates pacing from execution concerns. It also handles broker-specific filling modes by selecting a supported FOK/IOC/RETURN mode per symbol, while leaving validation, price refresh, and fill tracking to a dedicated execution layer via OnTradeTransaction().
π Read | NeuroBook | @mql5dev
CTradeThrottle addresses the problem with a token-bucket limiter: allow short bursts up to a configured capacity, then cap sustained flow by a refill rate. When tokens run out, requests are queued instead of discarded, then released via OnTimer() as tokens return, using priority ordering with FIFO tie-breaks.
The design exposes a clear interface (Submit/Cancel/GetStatus) and separates pacing from execution concerns. It also handles broker-specific filling modes by selecting a supported FOK/IOC/RETURN mode per symbol, while leaving validation, price refresh, and fill tracking to a dedicated execution layer via OnTradeTransaction().
π Read | NeuroBook | @mql5dev
β€17π7π₯3π€©3π€‘3π2
The indicator search panel is extended from βfind and attachβ to βconfigure then attach,β removing the detour into MetaTraderβs properties window. After selecting an indicator, a parameter dialog appears first, then the indicator is created with those inputs.
The core design is metadata-driven: each input is described by a parameter definition (name, type, defaults, ranges, enum text/codes). A centralized repository maps ENUM_INDICATOR values to arrays of these definitions, covering 30+ built-ins and cleanly handling indicators with zero inputs.
A single dynamic dialog builds controls at runtime from metadata, reads user edits, validates ranges, and converts values into an MqlParam array. The chart launcher is updated with an AttachIndicator overload that accepts MqlParam, preserving existing default behavior and improving workflow for traders and MT...
π Read | Calendar | @mql5dev
The core design is metadata-driven: each input is described by a parameter definition (name, type, defaults, ranges, enum text/codes). A centralized repository maps ENUM_INDICATOR values to arrays of these definitions, covering 30+ built-ins and cleanly handling indicators with zero inputs.
A single dynamic dialog builds controls at runtime from metadata, reads user edits, validates ranges, and converts values into an MqlParam array. The chart launcher is updated with an AttachIndicator overload that accepts MqlParam, preserving existing default behavior and improving workflow for traders and MT...
π Read | Calendar | @mql5dev
β€59π16β5π¨βπ»5π4π₯2π€1
A breakout indicator for XAUUSD based on the Asian session range (00:00β06:00) and subsequent London volatility has been released for free use.
The tool marks the overnight consolidation with blue rectangles and plots the range boundaries with light blue lines. Entry levels are calculated as dotted lines: green for buy (upper bound + buffer) and red for sell (lower bound β buffer). Breakout signals are printed as up/down arrows, with an on-chart label showing range width in points/pips.
Key parameters include range start/end time (server-adjustable), a trading window for valid breakouts (default until 10:00), breakout buffer size, and optional sound/push alerts.
A typical ruleset is M15 on XAUUSD: trade only after the range completes, filter days where the range is roughly 300β2,000 points, take the first breakout only, place stop at the opposite boun...
π Read | Signals | @mql5dev
The tool marks the overnight consolidation with blue rectangles and plots the range boundaries with light blue lines. Entry levels are calculated as dotted lines: green for buy (upper bound + buffer) and red for sell (lower bound β buffer). Breakout signals are printed as up/down arrows, with an on-chart label showing range width in points/pips.
Key parameters include range start/end time (server-adjustable), a trading window for valid breakouts (default until 10:00), breakout buffer size, and optional sound/push alerts.
A typical ruleset is M15 on XAUUSD: trade only after the range completes, filter days where the range is roughly 300β2,000 points, take the first breakout only, place stop at the opposite boun...
π Read | Signals | @mql5dev
β€35π15π¨βπ»4π2π€2π€©1
An MT5 Expert Advisor focused on managed recovery entries using RSI filtering and ATR-based spacing. Entry logic includes market structure validation via LL/LH and support conditions, with optional news blocking through the MQL5 calendar, a CSV schedule, or both.
Risk controls cover fixed-lot and balance-based compounding sizing, adaptive recovery distance, and basket-level profit management with a target plus trailing. Basket handling also supports smart trimming to reduce exposure during recovery cycles.
Operational safeguards include spread and slippage limits, equity loss thresholds, crash-move detection with pause behavior, and dashboard monitoring for current recovery state and system status. Inputs are fully configurable, including magic number, ATR/RSI modes, recovery parameters, profit targets, trailing rules, news settings, and panel placement.
R...
π Read | Freelance | @mql5dev
Risk controls cover fixed-lot and balance-based compounding sizing, adaptive recovery distance, and basket-level profit management with a target plus trailing. Basket handling also supports smart trimming to reduce exposure during recovery cycles.
Operational safeguards include spread and slippage limits, equity loss thresholds, crash-move detection with pause behavior, and dashboard monitoring for current recovery state and system status. Inputs are fully configurable, including magic number, ATR/RSI modes, recovery parameters, profit targets, trailing rules, news settings, and panel placement.
R...
π Read | Freelance | @mql5dev
β€21π10π₯4π2
Volume Profile Levels reframes chart context by aggregating traded activity by price, not by time. A recent lookback window is split into equal price rows, volume is tallied per row, and the result is rendered as a horizontal histogram anchored at the latest bar.
Key references are derived from the same profile: Point of Control (highest-volume row) and Value Area High/Low, built outward from the POC to contain a configurable share of total volume rather than using a fixed range percentage. Each row is also classified by whether volume came mainly from up-closing or down-closing bars to show directional dominance at that price.
Inputs cover lookback length, row count, tick vs real volume, value area percent, update frequency (per bar or per tick), visibility toggles, sidebar width scaling, and line/colors. The implementation assigns each barβs full...
π Read | VPS | @mql5dev
Key references are derived from the same profile: Point of Control (highest-volume row) and Value Area High/Low, built outward from the POC to contain a configurable share of total volume rather than using a fixed range percentage. Each row is also classified by whether volume came mainly from up-closing or down-closing bars to show directional dominance at that price.
Inputs cover lookback length, row count, tick vs real volume, value area percent, update frequency (per bar or per tick), visibility toggles, sidebar width scaling, and line/colors. The implementation assigns each barβs full...
π Read | VPS | @mql5dev
β€23π11π2β‘1π€©1
Anomaly-detection logic from the deterministic Dendritic Cell Algorithm is repurposed for continuous optimization by treating dendritic cells as search agents and antigens as candidate solutions. Solution quality is converted into βdangerβ and βsafeβ signals via population-normalized fitness, then combined into a context value that steers behavior.
A deterministic, uniformly distributed lifespan gives agents different observation windows, smoothing decisions over time and improving stability. Context is accumulated and averaged to reduce noise, then selects among three moves: local mutation for exploitation, movement toward the current best with exploration noise, or full random reinitialization when the region looks consistently poor.
The implementation outlines an MQL5-style class design with explicit signal computation, boundary control, and modu...
π Read | VPS | @mql5dev
A deterministic, uniformly distributed lifespan gives agents different observation windows, smoothing decisions over time and improving stability. Context is accumulated and averaged to reduce noise, then selects among three moves: local mutation for exploitation, movement toward the current best with exploration noise, or full random reinitialization when the region looks consistently poor.
The implementation outlines an MQL5-style class design with explicit signal computation, boundary control, and modu...
π Read | VPS | @mql5dev
β€15π3π₯2π2π€©1
In MetaTrader 5 build 6180, we have significantly expanded the capabilities of the AI Assistant for working with the trading platform and Strategy Tester. The assistant can now retrieve and analyze tester reports and logs, check its current settings, help launch optimizations, add indicators to charts with specified parameters, and work with terminal and Expert Advisor logs.
For developers, we have expanded the capabilities for working with complex matrices and vectors in MQL5. Support for additional methods simplifies the processing, conversion, and validation of complex data in mathematical and analytical tasks.
The web terminal now provides improved handling of stop levels on netting accounts. When placing a new trade for an instrument that already has an open position, the terminal preserves the position's current Stop Loss and Take Profit levels, preventing them from being accidentally removed. We have also fixed data loading and quote display issues in Market Watch.
Read more...
For developers, we have expanded the capabilities for working with complex matrices and vectors in MQL5. Support for additional methods simplifies the processing, conversion, and validation of complex data in mathematical and analytical tasks.
The web terminal now provides improved handling of stop levels on netting accounts. When placing a new trade for an instrument that already has an open position, the terminal preserves the position's current Stop Loss and Take Profit levels, preventing them from being accidentally removed. We have also fixed data loading and quote display issues in Market Watch.
Read more...
π11β€6π2π€©2π2π₯1
MetaTrader 5 can open and modify trades, but it lacks a reusable pattern for what happens after entry. This article builds a Position Lifecycle Manager that decouples trade generation from trade management, so different EAs can share the same post-entry logic.
The framework discovers open positions, wraps each one in a CManagedPosition object, and drives it through explicit states: NEW, PROTECTED, BREAKEVEN, and CLOSED. State tracking preserves action history, avoiding repeated terminal queries and preventing duplicate stop or break-even operations.
A CPositionManager coordinates all managed objects, while a CRiskEngine calculates ATR-based protective stops without placing orders itself. Integration is shown with the standard MACD EA: entries stay intact; lifecycle handling becomes a reusable layer.
π Read | AlgoBook | @mql5dev
The framework discovers open positions, wraps each one in a CManagedPosition object, and drives it through explicit states: NEW, PROTECTED, BREAKEVEN, and CLOSED. State tracking preserves action history, avoiding repeated terminal queries and preventing duplicate stop or break-even operations.
A CPositionManager coordinates all managed objects, while a CRiskEngine calculates ATR-based protective stops without placing orders itself. Integration is shown with the standard MACD EA: entries stay intact; lifecycle handling becomes a reusable layer.
π Read | AlgoBook | @mql5dev
β€9π8π₯2π2
This article builds a compact MT5 position planning tool that turns Entry, Stop-Loss, and Take-Profit into interactive chart lines, so risk and sizing math updates instantly while levels are dragged.
It supports market, limit, and stop scenarios for both BUY and SELL. Market Entry auto-tracks Bid/Ask on every tick, while pending Entry stays user-controlled. Initial SL/TP spacing is derived from ATR to reflect current volatility, with a safe fallback when ATR isnβt available.
The EA validates the price structure (BUY: SL below Entry, TP above; SELL reversed) before computing stop distance, monetary risk from balance and risk %, normalized lot size using tick size/value plus min/max/step rules, reward, and risk-to-rewardβwithout placing or modifying orders.
π Read | Docs | @mql5dev
It supports market, limit, and stop scenarios for both BUY and SELL. Market Entry auto-tracks Bid/Ask on every tick, while pending Entry stays user-controlled. Initial SL/TP spacing is derived from ATR to reflect current volatility, with a safe fallback when ATR isnβt available.
The EA validates the price structure (BUY: SL below Entry, TP above; SELL reversed) before computing stop distance, monetary risk from balance and risk %, normalized lot size using tick size/value plus min/max/step rules, reward, and risk-to-rewardβwithout placing or modifying orders.
π Read | Docs | @mql5dev
β€28π15β3π€©3π2π¨βπ»2π1
Rare βoutlierβ bars break the core trading assumption that today resembles yesterday, yet they have no labels. This article implements Isolation Forest for MT5 as a compact MQL5 library that isolates points via random partitions, avoiding density modeling and handling multivariate features efficiently.
Key engineering choices make it testable and fast: a replayable 64βbit RNG (splitmix64 + xorshift64*) for deterministic forests, iterative array-based trees with in-place partitioning, and the correct truncated-depth path-length correction and normalization. A 100βtree fit on ~2.4k bars builds in ~2.4 ms; scoring one new bar is ~12 Β΅s.
Feature design is treated as the real lever: no raw prices, no lookahead, and careful column selection because isolation trees sample features uniformlyβuninformative columns directly degrade detection. Validation includes b...
π Read | Docs | @mql5dev
Key engineering choices make it testable and fast: a replayable 64βbit RNG (splitmix64 + xorshift64*) for deterministic forests, iterative array-based trees with in-place partitioning, and the correct truncated-depth path-length correction and normalization. A 100βtree fit on ~2.4k bars builds in ~2.4 ms; scoring one new bar is ~12 Β΅s.
Feature design is treated as the real lever: no raw prices, no lookahead, and careful column selection because isolation trees sample features uniformlyβuninformative columns directly degrade detection. Validation includes b...
π Read | Docs | @mql5dev
π8β€6π€©2π₯1π1
Dendritic Cell Algorithm (DCA) is a metaheuristic derived from innate immunity, originally published in 2005 for anomaly detection. The model integrates multiple signals over time and uses migration thresholds to avoid reacting to noise in single evaluations.
Optimization mapping treats high fitness as PAMP/Danger and low fitness as Safe, with Inflammation derived from population spread. Cells transform inputs into CSM, Semi, Mature via weighted sums and a shared (1+Inflammation) multiplier; migration triggers context selection (mature vs semi).
Per-solution MCAV aggregates contexts with exponential decay. MCAV drives control flow: above 0.5 triggers local mutation, otherwise either move toward best or reinitialize based on exploration rate. Implementation typically models cells, thresholds, weight matrices, agent assignment, and MCAV bookkeeping w...
π Read | AppStore | @mql5dev
Optimization mapping treats high fitness as PAMP/Danger and low fitness as Safe, with Inflammation derived from population spread. Cells transform inputs into CSM, Semi, Mature via weighted sums and a shared (1+Inflammation) multiplier; migration triggers context selection (mature vs semi).
Per-solution MCAV aggregates contexts with exponential decay. MCAV drives control flow: above 0.5 triggers local mutation, otherwise either move toward best or reinitialize based on exploration rate. Implementation typically models cells, thresholds, weight matrices, agent assignment, and MCAV bookkeeping w...
π Read | AppStore | @mql5dev
π7β€6π2π₯1