Price action systems often fail on breakout filtering, with liquidity sweeps creating false continuation signals. A structured model is required to locate likely resting orders, validate breaks, and keep risk rules consistent.
An MQL5 automation is outlined for order block trading in consolidation zones, using higher-timeframe swing structure as the trend filter. Setups require inducement first, then break of structure, with fair value gap alignment inside the impulse leg.
Implementation details cover enums for trade mode, FVG state, trailing type, and mitigated-zone handling. Core structs track OB metadata, FVG links, and open-trade trailing state, plus chart rendering utilities for zones, labels, BoS lines, and mitigation marks. Swing and consolidation functions drive detection, followed by zone creation, mitigation tracking, and risk-based execu...
π Read | Docs | @mql5dev
#MQL5 #MT5 #AlgoTrading
An MQL5 automation is outlined for order block trading in consolidation zones, using higher-timeframe swing structure as the trend filter. Setups require inducement first, then break of structure, with fair value gap alignment inside the impulse leg.
Implementation details cover enums for trade mode, FVG state, trailing type, and mitigated-zone handling. Core structs track OB metadata, FVG links, and open-trade trailing state, plus chart rendering utilities for zones, labels, BoS lines, and mitigation marks. Swing and consolidation functions drive detection, followed by zone creation, mitigation tracking, and risk-based execu...
π Read | Docs | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€19β3π2
MetaTrader 5 keeps trade history inside the terminal, so external analytics need an explicit export path. This article completes that link by adding a lightweight EA that emits a trade record the moment a position is closed.
The core design is event-driven: OnTradeTransaction filters only βdeal addedβ events that represent exits, avoiding fragile OnTick polling and ensuring only final, complete trades are sent.
The EA reconstructs a full trade by pairing the closing deal with its opening deal, normalizes enums (reason, direction) into readable strings, builds JSON manually (no native MQL5 JSON), then POSTs it via WebRequest to a versioned Flask API endpoint.
Local testing covers server startup, MT5 WebRequest URL whitelisting, and verifying 200 responses and server logs. Known gaps include no retries, no payload validation, and no local queueing for outa...
π Read | AppStore | @mql5dev
#MQL5 #MT5 #EA
The core design is event-driven: OnTradeTransaction filters only βdeal addedβ events that represent exits, avoiding fragile OnTick polling and ensuring only final, complete trades are sent.
The EA reconstructs a full trade by pairing the closing deal with its opening deal, normalizes enums (reason, direction) into readable strings, builds JSON manually (no native MQL5 JSON), then POSTs it via WebRequest to a versioned Flask API endpoint.
Local testing covers server startup, MT5 WebRequest URL whitelisting, and verifying 200 responses and server logs. Known gaps include no retries, no payload validation, and no local queueing for outa...
π Read | AppStore | @mql5dev
#MQL5 #MT5 #EA
β€17π―5π3π3
MQL5 EAs often persist input changes by rewriting a single settings file, which removes history and makes past test results hard to reproduce.
A practical alternative is an append-only binary log. Each parameter snapshot is stored as a fixed-size struct record, enabling fast reads of the latest configuration while keeping prior versions intact.
The struct is typically split into metadata (version, timestamp), adjustable trading inputs, and an integrity field. A checksum is computed only from adjustable inputs so timestamps, counters, and performance metrics do not trigger new versions.
On startup, create version 1 only if the file is empty. On later runs, read the last record, recompute the checksum from current inputs, and append a new record only when the checksum differs.
π Read | CodeBase | @mql5dev
#MQL5 #MT5 #EA
A practical alternative is an append-only binary log. Each parameter snapshot is stored as a fixed-size struct record, enabling fast reads of the latest configuration while keeping prior versions intact.
The struct is typically split into metadata (version, timestamp), adjustable trading inputs, and an integrity field. A checksum is computed only from adjustable inputs so timestamps, counters, and performance metrics do not trigger new versions.
On startup, create version 1 only if the file is empty. On later runs, read the last record, recompute the checksum from current inputs, and append a new record only when the checksum differs.
π Read | CodeBase | @mql5dev
#MQL5 #MT5 #EA
β€25π4π3π3
A confluence detector identifies price zones where Fibonacci retracement levels from multiple swing pairs align.
The algorithm selects 4β5 significant swing points, calculates 38.2%, 50%, 61.8%, and 78.6% levels for each swing pair, then scans for clusters where two or more levels converge within a configurable tolerance. Zones are ranked by density, with more overlapping levels treated as higher strength.
Confluence areas are rendered as shaded rectangles and color-coded by strength: yellow for 2 matches, orange for 3, and red for 4 or more. Labels list the contributing levels, while individual Fibonacci lines can be enabled or hidden. An alert triggers when price enters a strong zone.
Runs on all timeframes, with typical use on H1, H4, and D1.
π Read | Docs | @mql5dev
#MQL4 #MT4 #Indicator
The algorithm selects 4β5 significant swing points, calculates 38.2%, 50%, 61.8%, and 78.6% levels for each swing pair, then scans for clusters where two or more levels converge within a configurable tolerance. Zones are ranked by density, with more overlapping levels treated as higher strength.
Confluence areas are rendered as shaded rectangles and color-coded by strength: yellow for 2 matches, orange for 3, and red for 4 or more. Labels list the contributing levels, while individual Fibonacci lines can be enabled or hidden. An alert triggers when price enters a strong zone.
Runs on all timeframes, with typical use on H1, H4, and D1.
π Read | Docs | @mql5dev
#MQL4 #MT4 #Indicator
β€24π5π2π€1
Daily Risk Monitor Lite is a free, open-source MT5 indicator that renders intraday account risk directly on the chart with a small, explainable feature set. The panel shows Daily Realized P/L, Floating P/L, Daily Total, and current drawdown percent, plus SAFE/WARNING/DANGER status via configurable colors.
Daily Realized P/L counts only exit deals within the active day range, with optional commission and swap inclusion. Floating P/L uses the current result of all open positions, optionally including swap. Daily Total is realized plus floating. Drawdown is max((Balance-Equity)/Balance*100, 0), or N/A when Balance<=0.
Day boundaries can follow broker 00:00 or a manual server-hour start. This is read-only: no auto-close, no trade blocking, no enforcement engine. Intended as a lightweight sample for monitoring and further development.
π Read | Quotes | @mql5dev
#MQL5 #MT5 #Indicator
Daily Realized P/L counts only exit deals within the active day range, with optional commission and swap inclusion. Floating P/L uses the current result of all open positions, optionally including swap. Daily Total is realized plus floating. Drawdown is max((Balance-Equity)/Balance*100, 0), or N/A when Balance<=0.
Day boundaries can follow broker 00:00 or a manual server-hour start. This is read-only: no auto-close, no trade blocking, no enforcement engine. Intended as a lightweight sample for monitoring and further development.
π Read | Quotes | @mql5dev
#MQL5 #MT5 #Indicator
β€17π₯1
Self-Aware Trend System (SATS) is a multi-engine SuperTrend for MT5 built around four parts: adaptive ATR SuperTrend bands, a Trend Quality Index (TQI), composite signal scoring, and on-chart risk levels (entry, SL, TP1βTP3).
Band width adapts with Kaufman Efficiency Ratio: tighter in directional moves, wider in chop. TQI (0β1) combines efficiency, volatility regime (ATR vs baseline), pivot-based structure, and momentum persistence. A character-flip module flags sharp TQI drops during an active trend as an early warning before a line flip.
Signals are gated by a configurable score (momentum, ER, volume Z-score, RSI zone, pivots). The dashboard tracks TQI components plus rolling win rate, average R, drawdown, streaks, and cumulative R. Optional auto-calibration adjusts βQuality Influenceβ from recent R results. Non-repainting uses confirmed closed bar...
π Read | Freelance | @mql5dev
#MQL5 #MT5 #Indicator
Band width adapts with Kaufman Efficiency Ratio: tighter in directional moves, wider in chop. TQI (0β1) combines efficiency, volatility regime (ATR vs baseline), pivot-based structure, and momentum persistence. A character-flip module flags sharp TQI drops during an active trend as an early warning before a line flip.
Signals are gated by a configurable score (momentum, ER, volume Z-score, RSI zone, pivots). The dashboard tracks TQI components plus rolling win rate, average R, drawdown, streaks, and cumulative R. Optional auto-calibration adjusts βQuality Influenceβ from recent R results. Non-repainting uses confirmed closed bar...
π Read | Freelance | @mql5dev
#MQL5 #MT5 #Indicator
β€28π₯2
Options theory is framed around clear mechanics (call/put rights vs seller obligations), key parameters (underlying, strike, premium, expiration), and exercise/settlement styles. Pricing is anchored to Black-Scholes for European options, with practical caveats: shifting volatility, non-lognormal returns, and limited fit for American exercise. Sensitivities are handled via Greeks, especially Delta for replication.
The core idea is emulating options by trading the underlying to match an option portfolioβs Delta, enabling synthetic contracts with custom strikes/expirationsβeven when listed options donβt exist or are illiquid. Delta-hedged rebalancing (time-based or delta-step) keeps the synthetic payoff aligned, but requires systematic automation, low friction costs, and continuous monitoring to avoid tracking error and missed adjustments.
π Read | Signals | @mql5dev
#MQL5 #MT5 #EA
The core idea is emulating options by trading the underlying to match an option portfolioβs Delta, enabling synthetic contracts with custom strikes/expirationsβeven when listed options donβt exist or are illiquid. Delta-hedged rebalancing (time-based or delta-step) keeps the synthetic payoff aligned, but requires systematic automation, low friction costs, and continuous monitoring to avoid tracking error and missed adjustments.
π Read | Signals | @mql5dev
#MQL5 #MT5 #EA
β€20
CAPM emerged from Markowitzβs 1952 portfolio theory and the efficient frontier. In 1964, Sharpe reduced the computational burden of covariance-heavy optimization into a market equilibrium model; Lintner and Mossin reached similar results. By the 1970s, CAPM became standard for cost of capital estimates.
Classical CAPM links expected return to the risk-free rate and beta, with beta defined via covariance with the market over market variance. Assumptions include frictionless markets, shared expectations, and diversified portfolios pricing only systematic risk.
A MetaTrader 5 adaptation for FX replaces beta with a volatility-driven dynamic risk premium, uses unbiased variance, handles low-data cases, and annualizes volatility with a 252 factor. Two buffers expose expected return and risk premium, using CopyClose for efficient data access. Limitations includ...
π Read | NeuroBook | @mql5dev
#MQL5 #MT5 #Indicator
Classical CAPM links expected return to the risk-free rate and beta, with beta defined via covariance with the market over market variance. Assumptions include frictionless markets, shared expectations, and diversified portfolios pricing only systematic risk.
A MetaTrader 5 adaptation for FX replaces beta with a volatility-driven dynamic risk premium, uses unbiased variance, handles low-data cases, and annualizes volatility with a 252 factor. Two buffers expose expected return and risk premium, using CopyClose for efficient data access. Limitations includ...
π Read | NeuroBook | @mql5dev
#MQL5 #MT5 #Indicator
β€32π4π3π―1
AI agents expanded quickly in early 2026, with mature automation on the crypto side. MetaTrader 5 remains largely unsupported by agent toolchains, despite visible demand in OpenClaw feature requests and trader forums.
A practical approach is an MCP (Model Context Protocol) server that bridges AI clients to MT5 via stdio. MCP standardizes tool discovery and typed calls, avoiding per-client plugin formats while keeping execution local.
The proposed Python design uses the official MetaTrader5 library plus FastMCP, exposing 14 tools across account, market data, positions, orders, and history. A wrapper layer manages initialization, login checks, timeouts, constant mapping, and order request normalization for mt5.order_send().
π Read | VPS | @mql5dev
#MQL5 #MT5 #AI
A practical approach is an MCP (Model Context Protocol) server that bridges AI clients to MT5 via stdio. MCP standardizes tool discovery and typed calls, avoiding per-client plugin formats while keeping execution local.
The proposed Python design uses the official MetaTrader5 library plus FastMCP, exposing 14 tools across account, market data, positions, orders, and history. A wrapper layer manages initialization, login checks, timeouts, constant mapping, and order request normalization for mt5.order_send().
π Read | VPS | @mql5dev
#MQL5 #MT5 #AI
β€18π2π1
MetaTrader 5 canvas work can exceed static rendering by adding a timer-driven animation state machine. A four-phase sequence can progressively draw the parametric outline (t from 0 to 12Ο), fade in wing fills, fade in veins/scales/body, then switch to continuous flight.
Flight motion can be composed from independent oscillators: sine-based wing flap scaling on X toward the body axis, vertical bobbing and horizontal sway offsets, and a small tilt shear. Visual enhancements can include multi-pass glow strokes and per-frame HSV hue rotation.
Implementation in MQL5 typically adds an animation enum, input groups for speeds/amplitudes, and global accumulators for phase, opacity, oscillator phases, and hue shift. Core helpers include ShiftHue (RGBβHSV), glow pixel falloff, a single ApplyFlyingTransform, and centralized point collection feeding outlines, ...
π Read | CodeBase | @mql5dev
#MQL5 #MT5 #AlgoTrading
Flight motion can be composed from independent oscillators: sine-based wing flap scaling on X toward the body axis, vertical bobbing and horizontal sway offsets, and a small tilt shear. Visual enhancements can include multi-pass glow strokes and per-frame HSV hue rotation.
Implementation in MQL5 typically adds an animation enum, input groups for speeds/amplitudes, and global accumulators for phase, opacity, oscillator phases, and hue shift. Core helpers include ShiftHue (RGBβHSV), glow pixel falloff, a single ApplyFlyingTransform, and centralized point collection feeding outlines, ...
π Read | CodeBase | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€21π1
ARCH/GARCH models handle volatility clustering but are symmetric by construction. Squared shocks remove sign, so rallies and drawdowns have identical impact on forward variance. Empirical data shows leverage effects where negative returns increase conditional risk more than positive returns.
Two common fixes are GJR-GARCH and TARCH. GJR-GARCH adds an indicator term that activates on negative returns, scaling shock impact via an asymmetry parameter. TARCH applies the threshold idea to conditional standard deviation, using absolute shocks with a sign-dependent slope.
An MQL5 volatility library can implement both as CGarchProcess derivatives, selectable through an ENUM_VOLATILITY_MODEL flag. Example scripts and an indicator can recalibrate on a rolling window and emit one-step forecasts plus a volatility z-score for anomaly detection.
Model choice is pract...
π Read | Quotes | @mql5dev
#MQL5 #MT5 #GARCH
Two common fixes are GJR-GARCH and TARCH. GJR-GARCH adds an indicator term that activates on negative returns, scaling shock impact via an asymmetry parameter. TARCH applies the threshold idea to conditional standard deviation, using absolute shocks with a sign-dependent slope.
An MQL5 volatility library can implement both as CGarchProcess derivatives, selectable through an ENUM_VOLATILITY_MODEL flag. Example scripts and an indicator can recalibrate on a rolling window and emit one-step forecasts plus a volatility z-score for anomaly detection.
Model choice is pract...
π Read | Quotes | @mql5dev
#MQL5 #MT5 #GARCH
β€29π1
Manual horizontal support and resistance remains effective, but it is static and requires continuous chart watching. This creates a monitoring gap on fast markets or multi-chart setups.
An MQL5 Expert Advisor can track manually drawn OBJ_HLINE levels in real time, compare bid price to each level, and classify events as touch, breakout, reversal, and retest. Levels are treated as discrete prices for deterministic checks, with per-line state (side, touched, breakout flags) to avoid duplicate alerts.
Implementation uses OnInit/OnDeinit for setup and cleanup, OnChartEvent for sync and deletion handling, and OnTick as the main loop. UI buttons manage sync and reset. Signals include labels, arrows with cooldown and one-per-bar rules, plus alerts and optional candlestick reversal pattern filters.
π Read | Calendar | @mql5dev
#MQL5 #MT5 #EA
An MQL5 Expert Advisor can track manually drawn OBJ_HLINE levels in real time, compare bid price to each level, and classify events as touch, breakout, reversal, and retest. Levels are treated as discrete prices for deterministic checks, with per-line state (side, touched, breakout flags) to avoid duplicate alerts.
Implementation uses OnInit/OnDeinit for setup and cleanup, OnChartEvent for sync and deletion handling, and OnTick as the main loop. UI buttons manage sync and reset. Signals include labels, arrows with cooldown and one-per-bar rules, plus alerts and optional candlestick reversal pattern filters.
π Read | Calendar | @mql5dev
#MQL5 #MT5 #EA
β€12π3π2π2
This article replaces Comment()/Print() output with a reusable full-screen console-style dialog for MetaTrader 5 charts. The goal is readable, structured, multi-line text with proper font control and scrollable navigation, without polluting the journal.
The core is CConsoleDialog, derived from CAppDialog, using CCanvas to render monospaced text (Consolas) suitable for table-like layouts. It supports vertical/horizontal scrolling via mouse wheel (Shift for horizontal), font scaling with Ctrl+wheel, programmatic font/color settings, and automatic resizing when the chart dimensions change.
Implementation details include splitting incoming text into lines, tracking longest line for scroll bounds, measuring character size for layout, and freeing canvas resources on minimize/maximize. Integration into an EA requires including ConsoleDialog.mqh, creating the dial...
π Read | Freelance | @mql5dev
#MQL5 #MT5 #EA
The core is CConsoleDialog, derived from CAppDialog, using CCanvas to render monospaced text (Consolas) suitable for table-like layouts. It supports vertical/horizontal scrolling via mouse wheel (Shift for horizontal), font scaling with Ctrl+wheel, programmatic font/color settings, and automatic resizing when the chart dimensions change.
Implementation details include splitting incoming text into lines, tracking longest line for scroll bounds, measuring character size for layout, and freeing canvas resources on minimize/maximize. Integration into an EA requires including ConsoleDialog.mqh, creating the dial...
π Read | Freelance | @mql5dev
#MQL5 #MT5 #EA
β€18π3π3
Backtests often fail live when volatility expands and position sizing stays static, especially when volatility estimates arrive late due to costly sliding-window scans. On low timeframes or multi-symbol EAs, even small VPS delays can translate into oversized lots during spikes, worse slippage, and deeper drawdowns.
A zero-lag money-management module for MT5 addresses this by computing Donchian-style highs/lows with a monotonic deque: amortized O(1) per update, O(N) total. It avoids repeated CopyHigh/CopyLow loops and uses min(x) = -max(-x) to reuse the same max-queue logic for lows.
Lots are inversely scaled by current range versus a baseline, then normalized to broker min/max/step. An optional RBF gate multiplies volume by a 0β1 quality score using volatility plus indicators (e.g., RSI), reducing risk in anomalous regimes.
Strategy Tester comparison on...
π Read | Docs | @mql5dev
#MQL5 #MT5 #AlgoTrading
A zero-lag money-management module for MT5 addresses this by computing Donchian-style highs/lows with a monotonic deque: amortized O(1) per update, O(N) total. It avoids repeated CopyHigh/CopyLow loops and uses min(x) = -max(-x) to reuse the same max-queue logic for lows.
Lots are inversely scaled by current range versus a baseline, then normalized to broker min/max/step. An optional RBF gate multiplies volume by a 0β1 quality score using volatility plus indicators (e.g., RSI), reducing risk in anomalous regimes.
Strategy Tester comparison on...
π Read | Docs | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€30π3π1
Post-2008 and post-2020 policy expanded central bank toolkits beyond rates into QE, credit facilities, swaps, and fiscal backstops. Balance sheets became primary telemetry for liquidity regimes and FX repricing.
A practical workflow aggregates Fed, ECB, BOJ, and PBoC series into a composite global liquidity index, then models relative momentum to explain cross rates when expansions occur in parallel.
A modular system design separates ingestion/standardization (frequency sync, FX conversion, interpolation, reliability scoring) from forecasting. Features combine liquidity lags with technical indicators; Random Forest captures non-linear effects.
Execution connects signals to MetaTrader 5, with sub-indices for short/long horizons plus acceleration and volatility. Known constraints include PBoC data gaps and shock-driven model failure modes.
π Read | AppStore | @mql5dev
#MQL5 #MT5 #AlgoTrading
A practical workflow aggregates Fed, ECB, BOJ, and PBoC series into a composite global liquidity index, then models relative momentum to explain cross rates when expansions occur in parallel.
A modular system design separates ingestion/standardization (frequency sync, FX conversion, interpolation, reliability scoring) from forecasting. Features combine liquidity lags with technical indicators; Random Forest captures non-linear effects.
Execution connects signals to MetaTrader 5, with sub-indices for short/long horizons plus acceleration and volatility. Known constraints include PBoC data gaps and shock-driven model failure modes.
π Read | AppStore | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€27π1
The CalculateLot function computes position volume using a fixed risk percentage of account balance, producing a lot size aligned with broker limits and symbol specifics.
Inputs typically include the risk percent, with internal reads for ACCOUNT_BALANCE, SYMBOL_TRADE_TICK_VALUE, plus VOLUME_MIN, VOLUME_MAX, and VOLUME_STEP for the current symbol.
Processing flow: derive the risk amount in deposit currency, convert it to volume using tick value, then normalize the result by rounding to the nearest VOLUME_STEP.
Validation clamps the final value to VOLUME_MIN/VOLUME_MAX. If the raw calculation is outside limits, the function returns the nearest allowed minLot or maxLot.
Typical usage patterns include direct calls from an Expert Advisor and script execution with explicit error checking and parameter validation.
π Read | Docs | @mql5dev
#MQL5 #MT5 #EA
Inputs typically include the risk percent, with internal reads for ACCOUNT_BALANCE, SYMBOL_TRADE_TICK_VALUE, plus VOLUME_MIN, VOLUME_MAX, and VOLUME_STEP for the current symbol.
Processing flow: derive the risk amount in deposit currency, convert it to volume using tick value, then normalize the result by rounding to the nearest VOLUME_STEP.
Validation clamps the final value to VOLUME_MIN/VOLUME_MAX. If the raw calculation is outside limits, the function returns the nearest allowed minLot or maxLot.
Typical usage patterns include direct calls from an Expert Advisor and script execution with explicit error checking and parameter validation.
π Read | Docs | @mql5dev
#MQL5 #MT5 #EA
β€12π2π€¨2π1
Frontend EA A is a single MT5 EA that focuses on chart UI cleanup plus a compact quick-trading layer. Default grid, volumes, ticker bar, and the native one-click panel are hidden on load, replaced by larger custom price and time scales designed for readability.
The price scale uses round-number steps (1/2/2.5/5 Γ 10^k). The time scale prints the date once per day at 00:00 and shows time elsewhere. A compact tiled mode limits labels to 5 price levels and 3 time labels. Auto-padding around Bid and endpoint labels is in progress.
Trading controls include top-left BUY/SELL with an editable volume box persisted via GlobalVariable. Open positions render as entry-price plates with price, signed volume, and live PnL including swap and commission, refreshed at 1 Hz. Plates merge for overlapping entries and support one-click close per cluster.
Included indicators: H1...
π Read | Forum | @mql5dev
#MQL5 #MT5 #EA
The price scale uses round-number steps (1/2/2.5/5 Γ 10^k). The time scale prints the date once per day at 00:00 and shows time elsewhere. A compact tiled mode limits labels to 5 price levels and 3 time labels. Auto-padding around Bid and endpoint labels is in progress.
Trading controls include top-left BUY/SELL with an editable volume box persisted via GlobalVariable. Open positions render as entry-price plates with price, signed volume, and live PnL including swap and commission, refreshed at 1 Hz. Plates merge for overlapping entries and support one-click close per cluster.
Included indicators: H1...
π Read | Forum | @mql5dev
#MQL5 #MT5 #EA
β€16π2π€2π1
This article builds a Liquidity Spectrum Volume Profile indicator for MetaTrader 5 that shows where volume concentrates across price, not just per bar. The design makes clear assumptions: binning uses candle close to assign volume, prefers tick volume with a fallback to real volume, and always operates on explicitly copied history for consistent recalculation.
Implementation centers on three engineering problems. First, reliably collecting a fixed lookback dataset via CopyHigh/CopyLow/CopyClose and CopyTickVolume, with safety checks for missing history. Second, scanning that window for the highest high/lowest low, splitting the range into equal price bins, accumulating volume per bin (with slight bin overlap to avoid boundary misses), then normalizing widths against the maximum bin. Third, rendering stable chart objects: rectangles for bins and horizont...
π Read | Calendar | @mql5dev
#MQL5 #MT5 #Indicator
Implementation centers on three engineering problems. First, reliably collecting a fixed lookback dataset via CopyHigh/CopyLow/CopyClose and CopyTickVolume, with safety checks for missing history. Second, scanning that window for the highest high/lowest low, splitting the range into equal price bins, accumulating volume per bin (with slight bin overlap to avoid boundary misses), then normalizing widths against the maximum bin. Third, rendering stable chart objects: rectangles for bins and horizont...
π Read | Calendar | @mql5dev
#MQL5 #MT5 #Indicator
β€17π3β2π1π1
Recurrence Quantification Analysis (RQA) brings nonlinear dynamics into MetaTrader 5 by measuring whether price revisits prior states and how those recurrences are structured. It converts closes into time-delay embedded vectors, builds a thresholded recurrence matrix using selectable distance norms (Euclidean, Chebyshev, Manhattan), then derives metrics like RR, DET, LAM, ENTR, and TREND to quantify similarity, determinism, consolidation, complexity, and drift.
The implementation focuses on reuse: a modular MQL5 library plus a facade API, a rolling-window engine that outputs a time series of metrics, and an indicator that plots live values on-chart for any symbol/timeframe.
A key engineering feature is automatic epsilon selection, including a target-recurrence-rate method using bisection with subsampled distance estimates, avoiding repeated full m...
π Read | Docs | @mql5dev
#MQL5 #MT5 #AlgoTrading
The implementation focuses on reuse: a modular MQL5 library plus a facade API, a rolling-window engine that outputs a time series of metrics, and an indicator that plots live values on-chart for any symbol/timeframe.
A key engineering feature is automatic epsilon selection, including a target-recurrence-rate method using bisection with subsampled distance estimates, avoiding repeated full m...
π Read | Docs | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€38π7π2