This article turns market structure into something an EA can reason about: validated swing highs/lows become graph nodes, and price movement becomes weighted edges. Edge costs are volatility-aware (ATR-normalized distance) and include real frictions like spread plus penalties for noisy, same-type transitions.
On each new bar, the system rebuilds the graph from unbreached swings, then runs A* to find the lowest-cost route from the node nearest current price to a directionally consistent goal capped by ATR. The resulting path is filtered by directional strength, total cost, and structural βblockersβ before any trade is allowed.
Execution uses the final node as take-profit and a prior opposite swing as a structural stop, with ATR fallback when structure is missing. Risk is position-sized from stop distance, and chart rendering shows nodes, edges, and ...
π Read | Quotes | @mql5dev
#MQL5 #MT5 #AlgoTrading
On each new bar, the system rebuilds the graph from unbreached swings, then runs A* to find the lowest-cost route from the node nearest current price to a directionally consistent goal capped by ATR. The resulting path is filtered by directional strength, total cost, and structural βblockersβ before any trade is allowed.
Execution uses the final node as take-profit and a prior opposite swing as a structural stop, with ATR fallback when structure is missing. Risk is position-sized from stop distance, and chart rendering shows nodes, edges, and ...
π Read | Quotes | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€30π3β‘1π€―1π€©1
AutoARIMA for MQL5 targets a common terminal-side constraint: ARIMA forecasting without manual (p,d,q) selection or heavyweight estimation code. Input is a single Close[] array (Close[0] newest). Output is a one-step-ahead close forecast as a double.
Pipeline is fully automated: d is chosen via a variance-change heuristic, the series is differenced, ARMA(p,q) candidates are fit by SSE minimization using gradient updates with Adam, and coefficients are clipped to [-0.99, 0.99] for stability. Model selection uses AICc over a bounded (p,q) grid (defaults such as max p/max q = 5).
Forecasting reconstructs residuals, predicts the next differenced value, inverts differencing back to price space, and rounds to tick size. Diagnostics printed include best ARIMA(p,d,q), AICc, SSE, last price, and forecast.
π Read | Docs | @mql5dev
#MQL5 #MT5 #AlgoTrading
Pipeline is fully automated: d is chosen via a variance-change heuristic, the series is differenced, ARMA(p,q) candidates are fit by SSE minimization using gradient updates with Adam, and coefficients are clipped to [-0.99, 0.99] for stability. Model selection uses AICc over a bounded (p,q) grid (defaults such as max p/max q = 5).
Forecasting reconstructs residuals, predicts the next differenced value, inverts differencing back to price space, and rounds to tick size. Diagnostics printed include best ARIMA(p,d,q), AICc, SSE, last price, and forecast.
π Read | Docs | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€48π7β‘3π1
The December 2020 TASC issue covered John Ehlersβ MyRsi with Noise Elimination Technology (NET), an RSI variant that applies a Kendall-style autocorrelation approach to reduce noisy signals.
A practical adaptation is support for configurable input prices rather than a fixed close-only feed, which can be useful when testing on typical price, median price, or custom series.
Operationally, it can be treated like a standard RSI, with an additional NET line available for confirmation. In comparative chart reviews, the NET line often shows earlier turns and cleaner transitions, while RSI provides the familiar baseline for thresholds and divergence analysis.
π Read | Forum | @mql5dev
#MQL5 #MT5 #Indicator
A practical adaptation is support for configurable input prices rather than a fixed close-only feed, which can be useful when testing on typical price, median price, or custom series.
Operationally, it can be treated like a standard RSI, with an additional NET line available for confirmation. In comparative chart reviews, the NET line often shows earlier turns and cleaner transitions, while RSI provides the familiar baseline for thresholds and divergence analysis.
π Read | Forum | @mql5dev
#MQL5 #MT5 #Indicator
β€33π2
An object-oriented FVG scanner in MQL5 starts with strict three-candle geometry: bullish gaps form when candle 3 high is below candle 1 low; bearish gaps invert that relationship. This removes indicator lag by working directly on OHLC microstructure.
The implementation centers on a CFVGScanner class that pulls data via CopyRates into an MqlRates array (series-indexed), validates bar count to avoid out-of-range crashes, and supports multiple timeframe instances without shared global state.
A mitigation pass filters stale zones by scanning forward after detection and discarding gaps already touched by later highs/lows. Performance stays near O(N) with early breaks, and the EA runs scans only on new bars, not every tick.
Rendering uses OBJ_RECTANGLE with a unique name prefix plus targeted cleanup/deletion to prevent chart-object buildup and preserve user draw...
π Read | NeuroBook | @mql5dev
#MQL5 #MT5 #EA
The implementation centers on a CFVGScanner class that pulls data via CopyRates into an MqlRates array (series-indexed), validates bar count to avoid out-of-range crashes, and supports multiple timeframe instances without shared global state.
A mitigation pass filters stale zones by scanning forward after detection and discarding gaps already touched by later highs/lows. Performance stays near O(N) with early breaks, and the EA runs scans only on new bars, not every tick.
Rendering uses OBJ_RECTANGLE with a unique name prefix plus targeted cleanup/deletion to prevent chart-object buildup and preserve user draw...
π Read | NeuroBook | @mql5dev
#MQL5 #MT5 #EA
β€32β3β‘2π1
MetaTrader 5 lacks account-level validation after trade entry. Positions can be modified, partially closed, or opened by multiple EAs and manual actions, creating gaps between intended risk and real exposure.
An enforcement engine treats risk as continuously verifiable conditions: SL present, TP defined, equity-based risk within limits, and a maintained risk-to-reward ratio. Violations trigger reporting or correction depending on mode.
Core modules: trade monitor, risk evaluator, enforcement, dashboard/alerts, and session configuration. MQL5 uses OnInit() with EventSetTimer(), OnTimer() to scan positions, broker stop-level checks, tolerance-based comparisons, lot-size reduction, and TRADE_ACTION_SLTP updates.
Modes: passive, assisted, strict. Logging and on-chart state tracking support testing and auditability.
π Read | CodeBase | @mql5dev
#MQL5 #MT5 #EA
An enforcement engine treats risk as continuously verifiable conditions: SL present, TP defined, equity-based risk within limits, and a maintained risk-to-reward ratio. Violations trigger reporting or correction depending on mode.
Core modules: trade monitor, risk evaluator, enforcement, dashboard/alerts, and session configuration. MQL5 uses OnInit() with EventSetTimer(), OnTimer() to scan positions, broker stop-level checks, tolerance-based comparisons, lot-size reduction, and TRADE_ACTION_SLTP updates.
Modes: passive, assisted, strict. Logging and on-chart state tracking support testing and auditability.
π Read | CodeBase | @mql5dev
#MQL5 #MT5 #EA
β€14π5π3π1
Candle Range Theory levels on H1/H4/D1 often disappear on execution charts, causing lower-timeframe moves to be misclassified. A practical fix is an MTF overlay that plots higher-timeframe candle range, body, and wicks directly on the active chart.
An MQL5 indicator addresses this by mapping each lower-timeframe bar to its parent HTF candle with time-accurate anchoring, confirming setups only after the HTF candle closes to avoid repainting, and rendering the full OHLC structure as persistent zones.
Implementation details include HTF data loading via Copy* calls, a binary-search index map, CRT pattern checks evaluated only on HTF-close bars, and automatic drawing of range rectangles plus entry/TP/SL lines. Optional filters handle Sundays and small-gap candles, with alerts and performance safeguards for large histories.
π Read | Freelance | @mql5dev
#MQL5 #MT5 #Indicator
An MQL5 indicator addresses this by mapping each lower-timeframe bar to its parent HTF candle with time-accurate anchoring, confirming setups only after the HTF candle closes to avoid repainting, and rendering the full OHLC structure as persistent zones.
Implementation details include HTF data loading via Copy* calls, a binary-search index map, CRT pattern checks evaluated only on HTF-close bars, and automatic drawing of range rectangles plus entry/TP/SL lines. Optional filters handle Sundays and small-gap candles, with alerts and performance safeguards for large histories.
π Read | Freelance | @mql5dev
#MQL5 #MT5 #Indicator
β€20π2
Clock-time bars encode equal information per minute, which fails under variable tick density and injects heteroscedasticity before feature generation.
AFML Chapter 1 bar types are implemented in two runtimes: a unified Python make_bars() module for batch tick histories, and an MQL5 library for event-driven bar building inside an EA. Output parity is validated on identical tick streams.
Production issues addressed include out-of-core tick loading via partitioned Parquet plus Dask, broker-feed cleanup (zero/negative spreads, duplicates, NaT timestamps), removal of zero-tick time bars, and imbalance-bar thresholds driven by O(1) EWM updates. EWM state persistence avoids resets across EA restarts.
π Read | Calendar | @mql5dev
#MQL5 #MT5 #AlgoTrading
AFML Chapter 1 bar types are implemented in two runtimes: a unified Python make_bars() module for batch tick histories, and an MQL5 library for event-driven bar building inside an EA. Output parity is validated on identical tick streams.
Production issues addressed include out-of-core tick loading via partitioned Parquet plus Dask, broker-feed cleanup (zero/negative spreads, duplicates, NaT timestamps), removal of zero-tick time bars, and imbalance-bar thresholds driven by O(1) EWM updates. EWM state persistence avoids resets across EA restarts.
π Read | Calendar | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€24π₯5π3
Five-year H1 test on US_TECH100 (AvaTrade broker feed, 29,646 bars) evaluated MACD(12,26,9) histogram crossovers with ATR(14) exits: SL 2.5 ATR, TP 3.0 ATR, 48-bar timeout. Trades normalized to R, pessimistic same-bar fills assumed.
Filter impact was measured incrementally: regime (ADX + rolling ATR percentiles), then EMA200 alignment, then a US-session window (14:00β20:00 broker time). Raw MACD: 2,213 trades, 46.5% win rate, +0.017R expectancy, PF 1.03, max DD -28.8R. Regime and HTF filters changed little and slightly degraded expectancy.
Session filtering was the primary driver: 195 trades, 50.3% win rate, +0.100R expectancy, PF 1.20, max DD -9.7R. Regime breakdown showed RANGE negative, VOLATILE positive, contradicting common filter assumptions.
π Read | VPS | @mql5dev
#MQL5 #MT5 #Indicator
Filter impact was measured incrementally: regime (ADX + rolling ATR percentiles), then EMA200 alignment, then a US-session window (14:00β20:00 broker time). Raw MACD: 2,213 trades, 46.5% win rate, +0.017R expectancy, PF 1.03, max DD -28.8R. Regime and HTF filters changed little and slightly degraded expectancy.
Session filtering was the primary driver: 195 trades, 50.3% win rate, +0.100R expectancy, PF 1.20, max DD -9.7R. Regime breakdown showed RANGE negative, VOLATILE positive, contradicting common filter assumptions.
π Read | VPS | @mql5dev
#MQL5 #MT5 #Indicator
β€25π9β2π2π1
Minute-level NQ logic around the New York open fails most often through silent numeric faults: NaN/Inf, overflow from near-zero denominators, log of non-positive prices, missing/zero closes near history edges, and unstable variance from tiny samples. These values propagate as plausible numbers and corrupt downstream signals.
A defensive MQL5 foundation layer is specified as a single include file for CopyClose/SymbolInfoDouble workflows. It enforces minimum sample sizes, validates price arrays, bounds math outputs, and provides stable statistical and spectral primitives.
Core components include guarded math (SafeDivide, SafeLog, SafeSqrt, SafeExp, SafeTanh), validated data access (ValidateSymbolV2, SafeCopyClose), two-pass and trimmed estimators, a centralized OLS slope, shared result structs with status codes, and a single radix-2 FFT reused across mod...
π Read | NeuroBook | @mql5dev
#MQL5 #MT5 #AlgoTrading
A defensive MQL5 foundation layer is specified as a single include file for CopyClose/SymbolInfoDouble workflows. It enforces minimum sample sizes, validates price arrays, bounds math outputs, and provides stable statistical and spectral primitives.
Core components include guarded math (SafeDivide, SafeLog, SafeSqrt, SafeExp, SafeTanh), validated data access (ValidateSymbolV2, SafeCopyClose), two-pass and trimmed estimators, a centralized OLS slope, shared result structs with status codes, and a single radix-2 FFT reused across mod...
π Read | NeuroBook | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€16π6π3
This refactor rebuilds an MT5 drawing tools palette that became brittle due to mixed rendering, layout, theme values, and event handling. The solution replaces the flat code with a layered, single-responsibility sidebar architecture where extending features becomes additive rather than a rewrite.
Key building blocks include a category registry (labels, icon glyphs, multi-tool flags), a theme manager that swaps full color sets for dark/light modes, and a canvas layer that owns chart bitmap labels and supports dynamic resizing.
Rendering quality is improved with supersampled CCanvas drawing: alpha blending, downsampling, and anti-aliased rounded rectangles with per-corner control for edge snapping. Practical result: a compact sidebar that snaps to chart edges, toggles theme instantly, and scales cleanly as more tool groups are registered.
π Read | AppStore | @mql5dev
#MQL5 #MT5 #Indicator
Key building blocks include a category registry (labels, icon glyphs, multi-tool flags), a theme manager that swaps full color sets for dark/light modes, and a canvas layer that owns chart bitmap labels and supports dynamic resizing.
Rendering quality is improved with supersampled CCanvas drawing: alpha blending, downsampling, and anti-aliased rounded rectangles with per-corner control for edge snapping. Practical result: a compact sidebar that snaps to chart edges, toggles theme instantly, and scales cleanly as more tool groups are registered.
π Read | AppStore | @mql5dev
#MQL5 #MT5 #Indicator
β€16π4π1
Hardcoding min_ret in tripleβbarrier labels hides the biggest source of false signal: broker- and session-specific transaction costs. A reproducible pipeline solves this by measuring costs per symbol and converting them into a labeling threshold aligned with the real execution environment.
An MQL5 script samples spread history via CopySpread(), captures swap metadata with SymbolInfoDouble(), and exports a structured CSV including spread percentiles plus hourly spread means. This makes costs session-aware instead of relying on a single average.
A Python TransactionCostModel ingests the CSV, normalizes spread, slippage, commission, and swap into fractional-return units, and exposes min_ret_for_symbol() and diagnostics. Swap handling covers broker swap modes and triple-swap days, preserving carry credits instead of forcing abs().
The same model param...
π Read | Signals | @mql5dev
#MQL5 #MT5 #AlgoTrading
An MQL5 script samples spread history via CopySpread(), captures swap metadata with SymbolInfoDouble(), and exports a structured CSV including spread percentiles plus hourly spread means. This makes costs session-aware instead of relying on a single average.
A Python TransactionCostModel ingests the CSV, normalizes spread, slippage, commission, and swap into fractional-return units, and exposes min_ret_for_symbol() and diagnostics. Swap handling covers broker swap modes and triple-swap days, preserving carry credits instead of forcing abs().
The same model param...
π Read | Signals | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€22π5π2
Manual news trading still suffers from context switching between browser calendars and the MT5 terminal. That gap creates reaction delays, inconsistent execution, and strategies that cannot be validated on historical data or scaled with repeatable rules.
A practical architecture in MT5 is a dedicated news layer built on the terminalβs Economic Calendar and MQL5 API: single data source, cache + filters, exportable history for Strategy Tester, and automatic Live/Tester switching so identical code paths stay deterministic.
Key API usage patterns: CalendarValueHistory for bulk preloading, CalendarValueLast with change_id for incremental updates, and CalendarEventById/CalendarCountryById for metadata joins. Use TimeTradeServer for consistent time windows, and handle 5200/5201 retries while avoiding 5204 by timer-based polling.
π Read | Calendar | @mql5dev
#MQL5 #MT5 #AlgoTrading
A practical architecture in MT5 is a dedicated news layer built on the terminalβs Economic Calendar and MQL5 API: single data source, cache + filters, exportable history for Strategy Tester, and automatic Live/Tester switching so identical code paths stay deterministic.
Key API usage patterns: CalendarValueHistory for bulk preloading, CalendarValueLast with change_id for incremental updates, and CalendarEventById/CalendarCountryById for metadata joins. Use TimeTradeServer for consistent time windows, and handle 5200/5201 retries while avoiding 5204 by timer-based polling.
π Read | Calendar | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€20π4π1
Prime Quantum AI is an MT5 Expert Advisor that combines a classical trend pre-filter (ADX + Alligator with DI+/DI-) with vision-based chart analysis via external AI providers.
The decision flow is two-stage. On each tick, the selected timeframe is checked for a bullish or bearish trend setup using configurable ADX thresholds and Alligator alignment. If a signal is present, the EA captures three screenshots (entry, mid, context) from adaptive timeframes derived from the TF input and submits them to the chosen provider.
The provider returns JSON: direction, confidence (0β100), stop-loss, take-profit, and reasoning. Orders are placed only when AI direction matches the pre-filter and confidence exceeds the minimum threshold, with scan cooldown controlled by InpScanIntervalSec.
Operational notes include multiple risk modes, AI or fixed SL/TP options, ATR trail...
π Read | AppStore | @mql5dev
#MQL5 #MT5 #AITrading
The decision flow is two-stage. On each tick, the selected timeframe is checked for a bullish or bearish trend setup using configurable ADX thresholds and Alligator alignment. If a signal is present, the EA captures three screenshots (entry, mid, context) from adaptive timeframes derived from the TF input and submits them to the chosen provider.
The provider returns JSON: direction, confidence (0β100), stop-loss, take-profit, and reasoning. Orders are placed only when AI direction matches the pre-filter and confidence exceeds the minimum threshold, with scan cooldown controlled by InpScanIntervalSec.
Operational notes include multiple risk modes, AI or fixed SL/TP options, ATR trail...
π Read | AppStore | @mql5dev
#MQL5 #MT5 #AITrading
β€18π6π1
GPT is broken down into a decoder-only Transformer: stacked blocks with multi-head self-attention and a two-layer feed-forward module, trained via large-scale unsupervised pretraining and smaller supervised fine-tuning. The key constraint is compute and memory, which shapes implementation choices.
The article implements a flexible GPT-style block for MetaTrader 5 using OpenCL. It replaces hard-coded attention threads with parameterized heads and layers, stores Q/K/V in a single combined tensor, and parallelizes all heads inside kernels to scale without rewriting code.
The feed-forward path is organized as a top-level loop over blocks, calling helper kernels for QKV projection, score computation with causal restriction, attention output folding, residual connections, and normalization, then a 2-layer feed-forward stage. Practical focus: managing GPU objects and bu...
π Read | Calendar | @mql5dev
#MQL5 #MT5 #AI
The article implements a flexible GPT-style block for MetaTrader 5 using OpenCL. It replaces hard-coded attention threads with parameterized heads and layers, stores Q/K/V in a single combined tensor, and parallelizes all heads inside kernels to scale without rewriting code.
The feed-forward path is organized as a top-level loop over blocks, calling helper kernels for QKV projection, score computation with causal restriction, attention output folding, residual connections, and normalization, then a 2-layer feed-forward stage. Practical focus: managing GPU objects and bu...
π Read | Calendar | @mql5dev
#MQL5 #MT5 #AI
β€50π4β‘2π2π1
Interactive correlation matrix dashboards can reduce guesswork by showing cross-symbol relationships directly on the chart. A live heatmap highlights positive and negative correlations with high-contrast colors, while also displaying exact Pearson coefficients to separate weak alignment from near-lockstep movement.
Usability focuses on trading workflows: the panel can be dragged to avoid obscuring price, and a one-click minimize mode keeps only the title bar visible. Timeframe switching across D1, H4, H1, and M15 helps distinguish structural correlation from short-lived intraday effects.
Practical applications include managing exposure when multiple positions share the same underlying driver, identifying negatively correlated pairs for hedging during volatility, and validating moves across related markets such as gold versus AUDUSD. The matrix can al...
π Read | Quotes | @mql5dev
#MQL5 #MT5 #Indicator
Usability focuses on trading workflows: the panel can be dragged to avoid obscuring price, and a one-click minimize mode keeps only the title bar visible. Timeframe switching across D1, H4, H1, and M15 helps distinguish structural correlation from short-lived intraday effects.
Practical applications include managing exposure when multiple positions share the same underlying driver, identifying negatively correlated pairs for hedging during volatility, and validating moves across related markets such as gold versus AUDUSD. The matrix can al...
π Read | Quotes | @mql5dev
#MQL5 #MT5 #Indicator
β€20π4β‘1π1
Swap Monitor Panel is a lightweight MT5 indicator that overlays a live swap dashboard on the chart. It reads every symbol from the MarketWatch list and displays long swap, short swap, and estimated daily and weekly costs side by side in a compact table.
Swap conversion supports all MT5 swap modes, including points, currency variants, and interest-based calculations using current or open price. Monetary estimates are derived from symbol contract specs, tick value, and a configurable reference lot size.
The panel refreshes on a 5-second timer and can also be refreshed with a click. Sorting is configurable by symbol, best long swap, best short swap, or best daily cost. Optional highlighting marks the most favorable long or short swap for faster carry comparison.
Layout controls include minimize and close buttons, X/Y positioning, font settings, and tog...
π Read | Freelance | @mql5dev
#MQL5 #MT5 #Indicator
Swap conversion supports all MT5 swap modes, including points, currency variants, and interest-based calculations using current or open price. Monetary estimates are derived from symbol contract specs, tick value, and a configurable reference lot size.
The panel refreshes on a 5-second timer and can also be refreshed with a click. Sorting is configurable by symbol, best long swap, best short swap, or best daily cost. Optional highlighting marks the most favorable long or short swap for faster carry comparison.
Layout controls include minimize and close buttons, X/Y positioning, font settings, and tog...
π Read | Freelance | @mql5dev
#MQL5 #MT5 #Indicator
β€26π5β‘1π1
WaterMark MT5 is a lightweight MT5 indicator focused on chart annotation and layout consistency. It renders a dynamic label for the active symbol and timeframe, updating immediately on chart changes and supporting both default and custom timeframes.
Two additional text fields are available for user-defined labels such as strategy notes, desk identifiers, or internal reminders. Placement is controlled via corner selection plus X/Y offsets, with configurable font family, size, and color to match existing templates across light and dark themes.
Implementation is positioned as CPU-efficient and designed to coexist cleanly with Expert Advisors without adding terminal overhead. Usage is straightforward: attach to any chart and adjust inputs to standardize presentation for analysis notes and shared screenshots.
π Read | Signals | @mql5dev
#MQL5 #MT5 #Indicator
Two additional text fields are available for user-defined labels such as strategy notes, desk identifiers, or internal reminders. Placement is controlled via corner selection plus X/Y offsets, with configurable font family, size, and color to match existing templates across light and dark themes.
Implementation is positioned as CPU-efficient and designed to coexist cleanly with Expert Advisors without adding terminal overhead. Usage is straightforward: attach to any chart and adjust inputs to standardize presentation for analysis notes and shared screenshots.
π Read | Signals | @mql5dev
#MQL5 #MT5 #Indicator
β€36π1π€‘1
Multi-symbol tick storage is extended to support real-time growth of per-symbol tick series, not only initial history loads. A per-instrument cap (default 200,000 ticks) is added to bound memory, with automatic eviction of the oldest ticks when limits are exceeded.
Tick updates handle batch arrivals by tracking the last tick timestamp in milliseconds and copying from last_time + 1 ms via CopyTicksRange(). The same add-object logic is reused for both initial series creation and incremental refresh. Current symbol updates run in OnTick(), while non-chart symbols are refreshed via a dedicated library timer.
Symbol objects gain DOM subscription state and lifecycle management. MarketBookAdd() is called on demand, and MarketBookRelease() is enforced in the destructor to guarantee matched unsubscribe behavior.
π Read | NeuroBook | @mql5dev
#MQL5 #MT5 #AlgoTrading
Tick updates handle batch arrivals by tracking the last tick timestamp in milliseconds and copying from last_time + 1 ms via CopyTicksRange(). The same add-object logic is reused for both initial series creation and incremental refresh. Current symbol updates run in OnTick(), while non-chart symbols are refreshed via a dedicated library timer.
Symbol objects gain DOM subscription state and lifecycle management. MarketBookAdd() is called on demand, and MarketBookRelease() is enforced in the destructor to guarantee matched unsubscribe behavior.
π Read | NeuroBook | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€47π2π2
Weekend gap reversion is often treated as a certainty, but results depend on instrument-specific statistics. A Weekend Gap Statistics & Distribution Analyzer measures how frequently gaps close, expected favorable movement, and the adverse movement typically seen before closure.
The tool separates results into three windows: last 5 gaps, last 12 months, and full history. It tracks gap size plus MFE and MAE to quantify reward versus required drawdown. Percentile-based TP levels show how many points 95/70/50/25% of gaps reached, while SL survival percentiles show the heat tolerated by gaps that eventually closed.
Configuration includes a minimum gap size in points and a capped bar lookback for performance. Output is shown in a small lower-left dashboard with automatic light/dark text for chart readability.
π Read | Freelance | @mql5dev
#MQL5 #MT5 #Indicator
The tool separates results into three windows: last 5 gaps, last 12 months, and full history. It tracks gap size plus MFE and MAE to quantify reward versus required drawdown. Percentile-based TP levels show how many points 95/70/50/25% of gaps reached, while SL survival percentiles show the heat tolerated by gaps that eventually closed.
Configuration includes a minimum gap size in points and a capped bar lookback for performance. Output is shown in a small lower-left dashboard with automatic light/dark text for chart readability.
π Read | Freelance | @mql5dev
#MQL5 #MT5 #Indicator
β€22π4π1
Packing an MQL5 EA into OnTick scales into a fragile monolith where UI, filters, execution, and logging collide. MetaTrader 5 is event-based, so logic should follow the platformβs model: OnInit/OnDeinit for lifecycle hygiene, OnTick for market reactions, OnTimer for periodic background work, OnChartEvent for UI and inter-module messaging, OnTradeTransaction for order lifecycle tracking, and OnBookEvent for depth-driven strategies.
Custom events (EventChartCustom) act as an internal message bus across modules and even across charts, enabling multi-symbol systems without tight coupling. This improves responsiveness and testability by isolating behaviors per handler and avoiding long blocking routines.
Services extend the architecture beyond charts, running continuous background tasks in OnStart (data sync, custom symbol ticks, scheduled signals) and coordinating ...
π Read | AppStore | @mql5dev
#MQL5 #MT5 #EA
Custom events (EventChartCustom) act as an internal message bus across modules and even across charts, enabling multi-symbol systems without tight coupling. This improves responsiveness and testability by isolating behaviors per handler and avoiding long blocking routines.
Services extend the architecture beyond charts, running continuous background tasks in OnStart (data sync, custom symbol ticks, scheduled signals) and coordinating ...
π Read | AppStore | @mql5dev
#MQL5 #MT5 #EA
β€22β‘1π1π1
Media is too big
VIEW IN TELEGRAM
Weβve released a new video on one-click trading in MetaTrader 5 β a feature that lets you open and manage trades instantly, without extra confirmations.
Execution speed plays a critical role in trading. In this video, you will see how the platform's built-in tools allow you to place market orders instantly, manage positions directly on the chart, and react quickly to market changes.
β Watch this short video to learn how to:
β Enable the feature and trade without additional confirmations
β Open trades in one click from the on-chart panel
β Use trading panels in the Market Watch window
β Set Stop Loss and Take Profit by simply dragging levels
β Instantly close positions and remove protective levels
β Place and modify pending orders directly on the chart
β Use Depth of Market for fast trades and order management
One-click trading in MetaTrader 5 means maximum speed, convenience, and full control over your positions.
Discuss the video:
π MQL5.community for traders
π MetaQuotes official YouTube channel
Execution speed plays a critical role in trading. In this video, you will see how the platform's built-in tools allow you to place market orders instantly, manage positions directly on the chart, and react quickly to market changes.
β Watch this short video to learn how to:
β Enable the feature and trade without additional confirmations
β Open trades in one click from the on-chart panel
β Use trading panels in the Market Watch window
β Set Stop Loss and Take Profit by simply dragging levels
β Instantly close positions and remove protective levels
β Place and modify pending orders directly on the chart
β Use Depth of Market for fast trades and order management
One-click trading in MetaTrader 5 means maximum speed, convenience, and full control over your positions.
Discuss the video:
π MQL5.community for traders
π MetaQuotes official YouTube channel
β€17π8π₯4π2π1