Classic indicators such as RSI, MACD, and moving-average crossovers have lost statistical edge as markets adapted to widely shared signals. Reported win rates for simple MA crossover systems shifted from 65β70% in the 1990s to ~52% by 2010, nearing 50% in recent conditions.
Early neural nets improved nonlinearity but struggled with sequence context; RNN/LSTM designs faced vanishing gradients on long histories. Standard Transformers improved long-range handling but introduced O(NΒ²) attention cost and frequent overfitting on continuous market series.
PatchTST reframes time-series input into fixed patches (often 16 bars) and uses multi-channel features such as price change and log volume. This reduces compute, preserves local structure, and supports hierarchical attention across intraday and multi-session dependencies.
π Read | Calendar | @mql5dev
Early neural nets improved nonlinearity but struggled with sequence context; RNN/LSTM designs faced vanishing gradients on long histories. Standard Transformers improved long-range handling but introduced O(NΒ²) attention cost and frequent overfitting on continuous market series.
PatchTST reframes time-series input into fixed patches (often 16 bars) and uses multi-channel features such as price change and log volume. This reduces compute, preserves local structure, and supports hierarchical attention across intraday and multi-session dependencies.
π Read | Calendar | @mql5dev
β€27π3π2
This part extends candlestick encoding from single bars to ordered two-candle sequences, using an MQL5 script that builds overlapping pairs, counts occurrences, and ranks them by frequency across GBPUSD and XAUUSD on M5, M15, and H1.
A key finding is that the most common pairs often include an unclassified β_β candle (especially β__β), showing the classifier leaves many bars outside defined types. Filtering those out reveals the real structure: fully classified pairs are dominated by Marubozu transitions (A and a).
Across timeframes and both symbols, the top classified patterns are consistently Aa, aA, aa, and AA, with spinning-top transitions (G/g) appearing far less. The output is best used to shortlist candidate transitions for later return/testing, not as signals by itself.
π Read | VPS | @mql5dev
A key finding is that the most common pairs often include an unclassified β_β candle (especially β__β), showing the classifier leaves many bars outside defined types. Filtering those out reveals the real structure: fully classified pairs are dominated by Marubozu transitions (A and a).
Across timeframes and both symbols, the top classified patterns are consistently Aa, aA, aa, and AA, with spinning-top transitions (G/g) appearing far less. The output is best used to shortlist candidate transitions for later return/testing, not as signals by itself.
π Read | VPS | @mql5dev
β€18π3π3π2
This article replaces lagging indicator filters with a rule-driven βorder blockβ engine that detects imbalance zones: the last opposite candle before an impulse that breaks nearby structure (MSS), then keeps the zone valid until a retest mitigates it.
The logic validates zones via displacement intensity, a full close beyond the structural high/low, and mitigation on closed bars only (shift=1). Zones are tracked using the base candleβs OHLC and removed immediately after a wick retest on a completed candle.
Engineering focus: a reusable OrderBlock_Engine.mqh class shared by both an indicator and an EA, using heap allocation with pointer checks and safe deletion. Ind_OrderBlock visualizes zones efficiently with prev_calculated and EMPTY_VALUE handling; EA_OrderBlock adds a new-bar gate, CTrade execution, and notes netting vs hedging position selection.
π Read | NeuroBook | @mql5dev
The logic validates zones via displacement intensity, a full close beyond the structural high/low, and mitigation on closed bars only (shift=1). Zones are tracked using the base candleβs OHLC and removed immediately after a wick retest on a completed candle.
Engineering focus: a reusable OrderBlock_Engine.mqh class shared by both an indicator and an EA, using heap allocation with pointer checks and safe deletion. Ind_OrderBlock visualizes zones efficiently with prev_calculated and EMPTY_VALUE handling; EA_OrderBlock adds a new-bar gate, CTrade execution, and notes netting vs hedging position selection.
π Read | NeuroBook | @mql5dev
β€21π12π¨βπ»2π1
The key new feature of MetaTrader 5 Beta Build 6030 is built-in support for the Model Context Protocol (MCP) and agentic AI.
The terminal and MetaEditor now include an integrated AI Assistant that can help analyze markets and trading activity, develop MQL5 applications, explain code, identify errors, and automate complex tasks.
Another important addition is Passkey support β a modern technology for securing trading accounts. Passkeys provide an additional authentication factor during sign-in, protecting users against phishing attacks and unauthorized access.
For developers, we've significantly enhanced MetaEditor. The editor now includes the long-awaited code folding and 'highlight all occurrences' features, making it much easier to work with large projects.
Learn more...
The terminal and MetaEditor now include an integrated AI Assistant that can help analyze markets and trading activity, develop MQL5 applications, explain code, identify errors, and automate complex tasks.
Another important addition is Passkey support β a modern technology for securing trading accounts. Passkeys provide an additional authentication factor during sign-in, protecting users against phishing attacks and unauthorized access.
For developers, we've significantly enhanced MetaEditor. The editor now includes the long-awaited code folding and 'highlight all occurrences' features, making it much easier to work with large projects.
Learn more...
β€51π11π₯9π7
FoxWave P/L Calendar converts closed-trade history into a monthly profit/loss calendar view, providing a daily breakdown without generating separate reports. The grid follows a MonβSun layout and scales to the exact number of weeks in each month, avoiding unused rows.
Daily cells are color-coded with intensity tied to magnitude, making larger gains and losses immediately visible. The current day is highlighted, and month navigation is handled via a single control for quick back/forward review.
The panel detects the account deposit currency and presents figures accordingly. A summary bar aggregates monthly P/L, counts profit and loss days, and identifies best and worst sessions. An optional single-symbol filter limits results to one instrument or keeps the view account-wide.
History is read on a periodic timer rather than per tick, keeping runtime ov...
π Read | AppStore | @mql5dev
Daily cells are color-coded with intensity tied to magnitude, making larger gains and losses immediately visible. The current day is highlighted, and month navigation is handled via a single control for quick back/forward review.
The panel detects the account deposit currency and presents figures accordingly. A summary bar aggregates monthly P/L, counts profit and loss days, and identifies best and worst sessions. An optional single-symbol filter limits results to one instrument or keeps the view account-wide.
History is read on a periodic timer rather than per tick, keeping runtime ov...
π Read | AppStore | @mql5dev
β€30π6π4π2π₯1
Local trade copier setup for MT5/MT4 uses a Go transport bridge and a C# WPF dashboard, with master/slave EAs attached per terminal. The dashboard provides a unified view of copied trades and bridge logs.
MT5 archived DLL-based routing uses a ZeroMQ bridge. Start T5Copier_Bridge.exe from C:\T5Copier\Go_bridge\ and confirm ports 5567 (master in), 5568 (slave out), 5569 (dashboard logs). Run CSharpDashboard.exe from C:\T5Copier\Dashboard\ and connect to MT5 on port 5569. Attach T5Copier_Master with DLL imports and Algo Trading enabled, address tcp://localhost:5567. Attach T5Copier_Slave with lot mode, multiplier, and optional reverse copy.
MT5 DLL-free mode uses native TCP sockets via T5Copier_Bridge.exe on port 5580. Dashboard connects to port 5580. Master/Slave EAs require Algo Trading only, with server 127.0.0.1 and port 5580.
MT4 mode uses a ZeroMQ bridg...
π Read | Signals | @mql5dev
MT5 archived DLL-based routing uses a ZeroMQ bridge. Start T5Copier_Bridge.exe from C:\T5Copier\Go_bridge\ and confirm ports 5567 (master in), 5568 (slave out), 5569 (dashboard logs). Run CSharpDashboard.exe from C:\T5Copier\Dashboard\ and connect to MT5 on port 5569. Attach T5Copier_Master with DLL imports and Algo Trading enabled, address tcp://localhost:5567. Attach T5Copier_Slave with lot mode, multiplier, and optional reverse copy.
MT5 DLL-free mode uses native TCP sockets via T5Copier_Bridge.exe on port 5580. Dashboard connects to port 5580. Master/Slave EAs require Algo Trading only, with server 127.0.0.1 and port 5580.
MT4 mode uses a ZeroMQ bridg...
π Read | Signals | @mql5dev
β€25π7β‘2π€2π1
The Expert Advisor uses an equity-based portfolio model, avoiding broker-side SL/TP and managing exits through internal equity thresholds per cycle.
Entry checks run once per bar using Close[1] and Open[0] against indicator buffers. Cycle 1 is MA-based: buys require both prices strictly above the MA, sells require both strictly below. Cycles 2 and 3 use Envelopes as breakout filters: buys require both prices above the upper band, sells require both below the lower band. Cycle 3 mirrors Cycle 2 with its own magic number and deviation.
Risk control snapshots Account Equity on the first trade of a cycle and computes monetary target and risk levels from percent inputs. On every tick, floating P/L plus swap and commission are aggregated per magic number; breaching either threshold closes all positions for that cycle and resets state. A noted anomaly applies /100...
π Read | Forum | @mql5dev
Entry checks run once per bar using Close[1] and Open[0] against indicator buffers. Cycle 1 is MA-based: buys require both prices strictly above the MA, sells require both strictly below. Cycles 2 and 3 use Envelopes as breakout filters: buys require both prices above the upper band, sells require both below the lower band. Cycle 3 mirrors Cycle 2 with its own magic number and deviation.
Risk control snapshots Account Equity on the first trade of a cycle and computes monetary target and risk levels from percent inputs. On every tick, floating P/L plus swap and commission are aggregated per magic number; breaching either threshold closes all positions for that cycle and resets state. A noted anomaly applies /100...
π Read | Forum | @mql5dev
β€14β4π4π1
An Expert Advisor design based on four independent trading cycles (Cycle 1β4), each isolated by its own Magic Number, indicator stack, entry triggers, and money management rules.
Cycle 1 uses MA/RSI/WPR confluence with a binary c1_signal gate to invalidate conflicting signals. MA entries require prior close and current open on the same side of the MA. RSI and WPR use configurable overbought/oversold thresholds, with optional reverse-signal flipping and a one-trade-per-bar constraint via a stored bar open price.
Cycle 2 trades Envelopes breakouts (close and open beyond upper/lower band). Cycle 3 reuses Envelopes but executes the opposite side for mean reversion. Cycle 4 adds a point-distance filter versus Envelopes to enforce minimum displacement before acting.
Exits avoid per-trade SL/TP and instead track per-cycle equity baselines on the first position, t...
π Read | VPS | @mql5dev
Cycle 1 uses MA/RSI/WPR confluence with a binary c1_signal gate to invalidate conflicting signals. MA entries require prior close and current open on the same side of the MA. RSI and WPR use configurable overbought/oversold thresholds, with optional reverse-signal flipping and a one-trade-per-bar constraint via a stored bar open price.
Cycle 2 trades Envelopes breakouts (close and open beyond upper/lower band). Cycle 3 reuses Envelopes but executes the opposite side for mean reversion. Cycle 4 adds a point-distance filter versus Envelopes to enforce minimum displacement before acting.
Exits avoid per-trade SL/TP and instead track per-cycle equity baselines on the first position, t...
π Read | VPS | @mql5dev
β€23π7β‘4π1
Part III tightens a MetaTrader 5 supply/demand framework into a consistent decision pipeline: quantitative zone admission, event-driven lifecycle monitoring, and deterministic interaction resolution. Logging stays observational, but records every state transition with enough metadata to reconstruct behavior later.
Automatic zones now enter the system only after AnalyzeZoneCandidate() assigns a normalized 0β100 score from three signals: relative tick-volume spike, ATR-normalized departure strength over a lookahead window, and local swing symmetry. The result drives tiering (Elite/High/Moderate/Low) and a MinZoneScore gate to keep weak pivots out.
After passing the gate, TryCreateAutoZone() performs integrity checks (wrong-side levels, duplicates, blacklists, clustering) then registers a fully initialized zone for MonitorZoneLifecycle(). Manual zones b...
π Read | Quotes | @mql5dev
Automatic zones now enter the system only after AnalyzeZoneCandidate() assigns a normalized 0β100 score from three signals: relative tick-volume spike, ATR-normalized departure strength over a lookahead window, and local swing symmetry. The result drives tiering (Elite/High/Moderate/Low) and a MinZoneScore gate to keep weak pivots out.
After passing the gate, TryCreateAutoZone() performs integrity checks (wrong-side levels, duplicates, blacklists, clustering) then registers a fully initialized zone for MonitorZoneLifecycle(). Manual zones b...
π Read | Quotes | @mql5dev
β€22π5π1
This MT5 project builds an implied-volatility surface indicator directly in the terminal. It loads an option chain from native MT5 option symbols or a CSV file, converts mid prices to implied vols, arranges them into a strike-by-expiry grid, then renders a shaded, rotatable 3D surface via the built-in DirectX layer.
The numerical core uses BlackβScholes plus a robust implied-vol solver: Newton-Raphson when vega is reliable, with bracketed bisection fallback to handle deep ITM/OTM quotes and ensure convergence. Invalid quotes (below intrinsic) are rejected.
Data handling turns scattered contracts into a regular mesh-ready grid, fills missing cells with conservative forward/backward carries, and tracks min/max IV for scaling and coloring. Practical result: live skew and term structure visualization from real quotes inside MT5.
π Read | AlgoBook | @mql5dev
The numerical core uses BlackβScholes plus a robust implied-vol solver: Newton-Raphson when vega is reliable, with bracketed bisection fallback to handle deep ITM/OTM quotes and ensure convergence. Invalid quotes (below intrinsic) are rejected.
Data handling turns scattered contracts into a regular mesh-ready grid, fills missing cells with conservative forward/backward carries, and tracks min/max IV for scaling and coloring. Practical result: live skew and term structure visualization from real quotes inside MT5.
π Read | AlgoBook | @mql5dev
β€32π6β‘2π1
Many Forex EAs still execute trades using legacy indicators despite low signal-to-noise, long dependencies, and regime shifts that break stationarity assumptions.
An N-BEATS pipeline was implemented in MQL5 from scratch: matrix tensors with gradient storage, SiLU with stable exponent bounds, Adam, quantile loss for uncertainty, robust median/MAD normalization, anomaly handling, and hysteresis to prevent signal churn. Production concerns included caching on OnTick(), memory control, profiling, continuous training, and concept-drift monitoring with automated response.
Backtests on JanβAug 2025 did not produce stable profitability, unlike prior Mamba and PatchTST variants. Key gaps were market noise, missing microstructure effects, and unfavorable compute-to-edge ratio, while the engineering stack remains reusable for further research.
π Read | NeuroBook | @mql5dev
An N-BEATS pipeline was implemented in MQL5 from scratch: matrix tensors with gradient storage, SiLU with stable exponent bounds, Adam, quantile loss for uncertainty, robust median/MAD normalization, anomaly handling, and hysteresis to prevent signal churn. Production concerns included caching on OnTick(), memory control, profiling, continuous training, and concept-drift monitoring with automated response.
Backtests on JanβAug 2025 did not produce stable profitability, unlike prior Mamba and PatchTST variants. Key gaps were market noise, missing microstructure effects, and unfavorable compute-to-edge ratio, while the engineering stack remains reusable for further research.
π Read | NeuroBook | @mql5dev
β€36π5β2π€2π€―2π1
KCI Volatility Distance is an adaptive quantitative engine designed to measure momentum and trend direction using a matrix-based calculation. It focuses on filtering market noise and outputting a standalone directional strength value suitable for systematic decision-making. The codebase uses an OOP core intended to stay lightweight on VPS deployments and stable across multi-asset workloads.
Core components include a Matrix Momentum Engine to evaluate internal price dynamics for early directional strength, a Dynamic Noise Filter that recalibrates to reduce consolidation spikes and false triggers, and a Directional Strength Output that can drive entries, continuation validation, or position sizing.
Integration into automated systems is supported via two paths: embedding the OOP class directly in an EA for lower overhead and easier data collection, o...
π Read | Docs | @mql5dev
Core components include a Matrix Momentum Engine to evaluate internal price dynamics for early directional strength, a Dynamic Noise Filter that recalibrates to reduce consolidation spikes and false triggers, and a Directional Strength Output that can drive entries, continuation validation, or position sizing.
Integration into automated systems is supported via two paths: embedding the OOP class directly in an EA for lower overhead and easier data collection, o...
π Read | Docs | @mql5dev
β€21π5π¨βπ»5β3π2
KCI-Directional Matrix (KCI-DX) is a quantitative directional indicator that models market βkinematicsβ via price path length variance and energy-weighted movement scoring. It applies dynamic Z-Score normalization plus Sigmoid scaling, keeping outputs bounded in a stable 0β100 range and avoiding distortion from historical extremes.
The matrix exposes three signals: KCI Main (trend/compression strength), +KDI (bullish directional dominance), and -KDI (bearish directional dominance). Typical zones: below 20 indicates compression/no-trade conditions, 20β80 signals trend expansion where direction follows +KDI vs -KDI, and above 80 flags exhaustion risk and potential correction.
For automation, entry logic is based on +KDI/-KDI crossovers gated by KCI Main > 20, with exit or tighter trailing behavior when KCI Main approaches 80. Parameters can be adjusted...
π Read | CodeBase | @mql5dev
The matrix exposes three signals: KCI Main (trend/compression strength), +KDI (bullish directional dominance), and -KDI (bearish directional dominance). Typical zones: below 20 indicates compression/no-trade conditions, 20β80 signals trend expansion where direction follows +KDI vs -KDI, and above 80 flags exhaustion risk and potential correction.
For automation, entry logic is based on +KDI/-KDI crossovers gated by KCI Main > 20, with exit or tighter trailing behavior when KCI Main approaches 80. Parameters can be adjusted...
π Read | CodeBase | @mql5dev
β€20π4π¨βπ»4π1
Fixed-window correlation matrices in multi-symbol EAs lag regime shifts. With a 60-bar window, pre-shift data contaminates estimates for the full 60 bars, degrading hedges and risk budgets when covariance changes fastest.
Exponentially weighted covariance updates every bar, overweights recent returns, and uses constant memory. Each cell updates recursively with decay factor lambda and current return products, avoiding history buffers and re-scans.
MQL5 runtime sizing limits require storing an NΓN matrix as a flat 1D array. Production code needs warm-up gating, near-zero variance guards for correlation normalization, and clamping to [-1, 1]. A live heatmap renderer must pack colors as 0x00BBGGRR and skip correlation calls during cold start to avoid log storms.
π Read | NeuroBook | @mql5dev
Exponentially weighted covariance updates every bar, overweights recent returns, and uses constant memory. Each cell updates recursively with decay factor lambda and current return products, avoiding history buffers and re-scans.
MQL5 runtime sizing limits require storing an NΓN matrix as a flat 1D array. Production code needs warm-up gating, near-zero variance guards for correlation normalization, and clamping to [-1, 1]. A live heatmap renderer must pack colors as 0x00BBGGRR and skip correlation calls during cold start to avoid log storms.
π Read | NeuroBook | @mql5dev
β€16π10π1
Multi-strategy MT5 accounts can hide strategy-level risk behind aggregate account metrics. Terminal reports remain account-wide and do not provide attribution, date filtering, or cross-strategy correlation.
A standalone EA, Portfolio Analyzer, reads deal history, reconstructs closed positions, attributes them by magic number or normalized comment, and renders a dashboard without modifying any trading EA.
Architecture centers on a self-contained CPortfolioAnalyzer class with explicit setters instead of direct access to global inputs. Closed positions are paired from DEAL_POSITION_ID, sorted by exit time for equity and drawdown, and filtered via tokenized comment normalization.
UI uses CCanvas with manual ARGB blending and DPI scaling. Analytics include portfolio stats, an equity curve, and a Pearson correlation matrix based on daily strategy returns.
π Read | CodeBase | @mql5dev
A standalone EA, Portfolio Analyzer, reads deal history, reconstructs closed positions, attributes them by magic number or normalized comment, and renders a dashboard without modifying any trading EA.
Architecture centers on a self-contained CPortfolioAnalyzer class with explicit setters instead of direct access to global inputs. Closed positions are paired from DEAL_POSITION_ID, sorted by exit time for equity and drawdown, and filtered via tokenized comment normalization.
UI uses CCanvas with manual ARGB blending and DPI scaling. Analytics include portfolio stats, an equity curve, and a Pearson correlation matrix based on daily strategy returns.
π Read | CodeBase | @mql5dev
β€27π5π4π2π1
Part 4 moves from UT Bot Alerts signals to an MQL5 Expert Advisor that can execute trades reliably.
Execution is gated by new-bar detection. Signals are read only from buffer index 1 (last closed candle), using CopyBuffer() with timeseries arrays to avoid acting on unstable values from the forming bar and to prevent repeated triggers inside one candle.
Position control is single-direction. Opposite positions are closed before opening a new one, filtered by a magic number. Trade direction is configurable (buy, sell, both). Optional risk controls use ATR from the last closed bar for stop-loss, and take-profit is computed from risk via a reward-to-risk ratio. Trade actions are isolated into buy/sell functions for testable, modular logic.
π Read | Calendar | @mql5dev
Execution is gated by new-bar detection. Signals are read only from buffer index 1 (last closed candle), using CopyBuffer() with timeseries arrays to avoid acting on unstable values from the forming bar and to prevent repeated triggers inside one candle.
Position control is single-direction. Opposite positions are closed before opening a new one, filtered by a magic number. Trade direction is configurable (buy, sell, both). Optional risk controls use ATR from the last closed bar for stop-loss, and take-profit is computed from risk via a reward-to-risk ratio. Trade actions are isolated into buy/sell functions for testable, modular logic.
π Read | Calendar | @mql5dev
β€34π4β‘3π1
MetaTrader 5 file handling in MQL5 is constrained by the sandbox and by function choice. FileSave/FileLoad operate on whole-file buffers, which is safe for small data but unsuitable for random access and partial updates.
A common symptom is unexpected overwrite: two consecutive FileSave calls to the same name keep only the second payload. Another issue is unwanted NUL bytes when treating binary-style strings as plain text.
A practical pattern is read-modify-write: load the existing file into a buffer, append new lines, then save once. For repeated runs, either delete the file in a synchronized sandbox context, or use a static flag to clear on first write while appending afterward.
π Read | Signals | @mql5dev
A common symptom is unexpected overwrite: two consecutive FileSave calls to the same name keep only the second payload. Another issue is unwanted NUL bytes when treating binary-style strings as plain text.
A practical pattern is read-modify-write: load the existing file into a buffer, append new lines, then save once. For repeated runs, either delete the file in a synchronized sandbox context, or use a static flag to clear on first write while appending afterward.
π Read | Signals | @mql5dev
β€18π6π1
MetaTrader 5 replication/simulation stack moves to component integration: Expert Advisor, Mouse Study, Chart Trade, and a dedicated position indicator.
The position indicator is no longer user-attached. The EA dynamically adds and removes one indicator instance per open position, while keeping the indicator decoupled from EA code to allow shared updates without recompiling multiple EAs.
Indicator changes include parameters supplied by the EA and additional validation: confirm the position exists and prevent duplicate instances via object-name checks.
EA changes are minimal but highlight a common defect: attaching indicators for all open positions without filtering by the chartβs effective symbol. In multi-symbol setups, this can surface only in live trading. A safe fix should leverage existing terminal symbol resolution without breaking encapsulation in C...
π Read | Signals | @mql5dev
The position indicator is no longer user-attached. The EA dynamically adds and removes one indicator instance per open position, while keeping the indicator decoupled from EA code to allow shared updates without recompiling multiple EAs.
Indicator changes include parameters supplied by the EA and additional validation: confirm the position exists and prevent duplicate instances via object-name checks.
EA changes are minimal but highlight a common defect: attaching indicators for all open positions without filtering by the chartβs effective symbol. In multi-symbol setups, this can surface only in live trading. A safe fix should leverage existing terminal symbol resolution without breaking encapsulation in C...
π Read | Signals | @mql5dev
π12β€8β1π1
MetaTrader 5 charts remain symbol-centric, which limits visibility into correlated moves across related instruments. A practical workaround is a synthetic custom symbol built from multiple markets by averaging aligned OHLC bars.
An MQL5 Expert Advisor can load OHLCV for selected source symbols, match candles by timestamp, and compute per-bar averages for open, high, low, close, and optionally volume. Only bars present across all sources are included to avoid skew from missing sessions.
The EA then creates or reuses a custom symbol, copies formatting from a template symbol, disables trading mode, clears prior history, and writes the reconstructed series. Live synchronization is handled via a timer that recalculates only the most recent bars to keep updates lightweight.
π Read | Quotes | @mql5dev
An MQL5 Expert Advisor can load OHLCV for selected source symbols, match candles by timestamp, and compute per-bar averages for open, high, low, close, and optionally volume. Only bars present across all sources are included to avoid skew from missing sessions.
The EA then creates or reuses a custom symbol, copies formatting from a template symbol, disables trading mode, clears prior history, and writes the reconstructed series. Live synchronization is handled via a timer that recalculates only the most recent bars to keep updates lightweight.
π Read | Quotes | @mql5dev
β€20π6β‘1π1
Trend and breakout EAs often assume returns are always predictable. When the series is near-random, signals become noise and performance degrades through spreads and commissions. Standard MQL5 indicators track price, momentum, volatility, or volume, but do not quantify predictability of returns.
Approximate Entropy (ApEn) is presented as a native MQL5 measure of short-term serial structure on closed-bar log-returns. It is implemented as a standalone CApEnCalculator class, plus a subwindow indicator that marks regime zones via configurable thresholds, and a test script for synthetic validation.
ApEn is positioned as a gating filter, not a trade trigger. EAs can read it via iCustom/CopyBuffer with shift=1 and disable directional entries when ApEn exceeds an upper threshold. Parameters m=2, r=0.2Β·SD, and window sizes around 50β200 balance stability a...
π Read | Calendar | @mql5dev
Approximate Entropy (ApEn) is presented as a native MQL5 measure of short-term serial structure on closed-bar log-returns. It is implemented as a standalone CApEnCalculator class, plus a subwindow indicator that marks regime zones via configurable thresholds, and a test script for synthetic validation.
ApEn is positioned as a gating filter, not a trade trigger. EAs can read it via iCustom/CopyBuffer with shift=1 and disable directional entries when ApEn exceeds an upper threshold. Parameters m=2, r=0.2Β·SD, and window sizes around 50β200 balance stability a...
π Read | Calendar | @mql5dev
β€17π8π2β1
This indicator implements a volatility breakout model using two independent envelopes around a moving-average baseline. The inner envelope defines the normal range, while the outer envelope models expanded volatility for target placement.
Entry logic uses Envelope 1 as the trigger. A long setup occurs when a candle closes above the inner upper band after the prior candle closed at or below that band. A short setup occurs when a candle closes below the inner lower band after the prior candle closed at or above that band.
Exit logic uses Envelope 2 as a dynamic take-profit. Positions are closed when price touches the corresponding outer band, treating the higher deviation as a statistically consistent exhaustion zone.
Risk is controlled with a structural stop at the prior barβs opposite inner band. A return through the full inner channel invalidates the...
π Read | Calendar | @mql5dev
Entry logic uses Envelope 1 as the trigger. A long setup occurs when a candle closes above the inner upper band after the prior candle closed at or below that band. A short setup occurs when a candle closes below the inner lower band after the prior candle closed at or above that band.
Exit logic uses Envelope 2 as a dynamic take-profit. Positions are closed when price touches the corresponding outer band, treating the higher deviation as a statistically consistent exhaustion zone.
Risk is controlled with a structural stop at the prior barβs opposite inner band. A return through the full inner channel invalidates the...
π Read | Calendar | @mql5dev
β€21π7π3π€‘2π¨βπ»2