Previous Day High/Low/Close levels remain common intraday reference points for support, resistance, and prior session value. This indicator reads High, Low, and Close from the last completed D1 bar and plots them as horizontal lines on any intraday chart, keeping prior-day structure visible without timeframe changes.
PDH is treated as a potential resistance or breakout trigger, PDL as potential support or breakdown trigger, and PDC as a session pivot where trading above is often read as net bullish and below as net bearish.
Multi-day mode (InpDaysToShow 1–10) draws each older day’s levels only across its own session with “-N” labeling to avoid overlap. Lines refresh automatically when a new daily bar opens. Inputs cover per-level visibility, colors, shared line style/width, and optional labels with price and font size. Session boundaries follow the b...
👉 Read | Quotes | @mql5dev
PDH is treated as a potential resistance or breakout trigger, PDL as potential support or breakdown trigger, and PDC as a session pivot where trading above is often read as net bullish and below as net bearish.
Multi-day mode (InpDaysToShow 1–10) draws each older day’s levels only across its own session with “-N” labeling to avoid overlap. Lines refresh automatically when a new daily bar opens. Inputs cover per-level visibility, colors, shared line style/width, and optional labels with price and font size. Session boundaries follow the b...
👉 Read | Quotes | @mql5dev
❤17👍9👌2
Tsetlin Machine implementation for MQL5 focuses on interpretable classification using boolean rules instead of floating-point weights.
Model structure is layered: Tsetlin automata (integer state counters) decide INCLUDE/EXCLUDE per literal, clauses form AND-rules, and per-class clause banks vote with positive and negative polarity. Multi-class output is argmax over class scores.
Training uses two feedback types, not gradients. Type I reinforces clauses that should fire, Type II suppresses false positives by adding a currently-false literal to break an incorrect match. Updates are one-vs-rest with a sampled rival class and a probability gate based on target margin T and specificity s.
Workflow includes booleanizing indicators, labeling by forward return, training on market history, saving a compact text model, and exposing active rules on-chart via a...
👉 Read | VPS | @mql5dev
Model structure is layered: Tsetlin automata (integer state counters) decide INCLUDE/EXCLUDE per literal, clauses form AND-rules, and per-class clause banks vote with positive and negative polarity. Multi-class output is argmax over class scores.
Training uses two feedback types, not gradients. Type I reinforces clauses that should fire, Type II suppresses false positives by adding a currently-false literal to break an incorrect match. Updates are one-vs-rest with a sampled rival class and a probability gate based on target margin T and specificity s.
Workflow includes booleanizing indicators, labeling by forward return, training on market history, saving a compact text model, and exposing active rules on-chart via a...
👉 Read | VPS | @mql5dev
❤15👍7👌2
Part 5 extends the Part 4 chart-object stack by adding a Fibonacci detection and normalization layer that bridges EA-generated objects with trader-drawn tools.
Manual Fibonacci objects are structurally volatile. Users can rename objects, change level counts, or edit ratios, which can break array indexing and produce inconsistent ObjectGet* reads. The fix is a two-step pipeline: detect all Fibonacci-family objects, then normalize levels and flags while preserving anchors.
Coverage includes all six MQL5 Fibonacci types (OBJ_FIBO, OBJ_FIBOFAN, OBJ_FIBOTIMES, OBJ_FIBOARC, OBJ_FIBOCHANNEL, OBJ_EXPANSION) with type-aware handling of OBJPROP_LEVELVALUE semantics.
Integration updates TopologyManager and ObjectPlacer to normalize before evaluation and to enforce manual priority to prevent duplicate placements. A separate test EA validates behavior via jou...
👉 Read | Signals | @mql5dev
Manual Fibonacci objects are structurally volatile. Users can rename objects, change level counts, or edit ratios, which can break array indexing and produce inconsistent ObjectGet* reads. The fix is a two-step pipeline: detect all Fibonacci-family objects, then normalize levels and flags while preserving anchors.
Coverage includes all six MQL5 Fibonacci types (OBJ_FIBO, OBJ_FIBOFAN, OBJ_FIBOTIMES, OBJ_FIBOARC, OBJ_FIBOCHANNEL, OBJ_EXPANSION) with type-aware handling of OBJPROP_LEVELVALUE semantics.
Integration updates TopologyManager and ObjectPlacer to normalize before evaluation and to enforce manual priority to prevent duplicate placements. A separate test EA validates behavior via jou...
👉 Read | Signals | @mql5dev
❤18👍6👨💻2
Trend Execution Planner is a free, open-source MT5 chart utility focused on regime classification and pre-trade sizing. It runs as an Expert Advisor only to read live account and symbol specs and remains strictly non-trading, with no order, position, or trade-request calls.
The panel outputs a trend-condition score built from price/MA direction, MA slope, ADX, and Kaufman’s Efficiency Ratio, then classifies conditions as strong up, strong down, or mixed/neutral. Execution cost is shown as spread expressed as a percentage of ATR, with a configurable limit.
Hypothetical long/short plans use current Ask/Bid, an ATR-based stop, and a reward/risk target. Position sizing is normalized to broker constraints using OrderCalcProfit, with margin and free-margin checks via OrderCalcMargin, plus warnings when minimum lot exceeds the selected money risk.
Score formula: ...
👉 Read | Calendar | @mql5dev
The panel outputs a trend-condition score built from price/MA direction, MA slope, ADX, and Kaufman’s Efficiency Ratio, then classifies conditions as strong up, strong down, or mixed/neutral. Execution cost is shown as spread expressed as a percentage of ATR, with a configurable limit.
Hypothetical long/short plans use current Ask/Bid, an ATR-based stop, and a reward/risk target. Position sizing is normalized to broker constraints using OrderCalcProfit, with margin and free-margin checks via OrderCalcMargin, plus warnings when minimum lot exceeds the selected money risk.
Score formula: ...
👉 Read | Calendar | @mql5dev
❤13👍11
Risk-based position sizing indicator designed to standardize lot calculations across symbols with different tick values. The chart uses three draggable horizontal lines for Entry, Stop Loss, and an optional Take Profit. While lines are moved, an on-chart panel updates in real time via OnChartEvent, with tick updates as fallback.
Lot size is computed from the instrument’s tick value and tick size using SymbolInfoDouble(), then rounded and clamped to the allowed volume step, minimum, and maximum. This keeps results consistent on FX pairs, metals, indices, and crypto CFDs without manual recalibration.
The panel displays direction (derived from Entry vs Stop), entry/stop prices and distance in points, risk amount, and calculated volume. When Take Profit is enabled, it also shows target, expected reward in account currency, and reward-to-risk ratio. Risk ...
👉 Read | Calendar | @mql5dev
Lot size is computed from the instrument’s tick value and tick size using SymbolInfoDouble(), then rounded and clamped to the allowed volume step, minimum, and maximum. This keeps results consistent on FX pairs, metals, indices, and crypto CFDs without manual recalibration.
The panel displays direction (derived from Entry vs Stop), entry/stop prices and distance in points, risk amount, and calculated volume. When Take Profit is enabled, it also shows target, expected reward in account currency, and reward-to-risk ratio. Risk ...
👉 Read | Calendar | @mql5dev
❤9👍9👌2
Time‑MoE uses point-based tokenization to keep per-tick/per-candle data intact, then applies SwiGLU embeddings to represent both smooth drift and volatility spikes.
The core change is swapping the Transformer FeedForward block for a sparse Mixture of Experts in a decoder-only stack. A shared expert is always active; a Top‑K router selects additional experts per token. Cross-attention is retained by splitting a single stream into “current-step tokens” and “full-history context”.
End-to-end integration places TimeMoEAttention inside an Environment State Encoder, with separate forecasting heads per horizon. Each head consumes the shared latent output, uses convolution for horizon-specific forecasts, then projects back to the original feature space. RevIN is replaced by learnable scale/bias (BatchNorm used as denormalization) due to encoder encapsulation.
👉 Read | AppStore | @mql5dev
The core change is swapping the Transformer FeedForward block for a sparse Mixture of Experts in a decoder-only stack. A shared expert is always active; a Top‑K router selects additional experts per token. Cross-attention is retained by splitting a single stream into “current-step tokens” and “full-history context”.
End-to-end integration places TimeMoEAttention inside an Environment State Encoder, with separate forecasting heads per horizon. Each head consumes the shared latent output, uses convolution for horizon-specific forecasts, then projects back to the original feature space. RevIN is replaced by learnable scale/bias (BatchNorm used as denormalization) due to encoder encapsulation.
👉 Read | AppStore | @mql5dev
❤22👍8👌2🤔1
This validation study stress-tests the Siegmund ARL formula used to set CUSUM thresholds in MetaTrader 5. On six instruments across M15/H1/H4, the textbook ARL prediction misses badly: with W=100, k=0.5, h=4, the indicator triggers about every 66 bars versus the expected 338, largely due to fat-tailed returns.
Statistical checks around each breakpoint (200 bars pre/post) show what the detector really flags. Variance shifts are confirmed in ~47% of breaks, while mean shifts are almost never confirmed (~0.7%), making it a practical volatility-regime detector rather than a directional change detector.
In the quietest volatility tercile, behavior becomes conservative (ARL ~430), implying excess signals come mainly from extreme bars in volatile regimes. The included CUSUM_Breakpoint.mq5 code is fully reproducible and structured for efficient incremental u...
👉 Read | Quotes | @mql5dev
Statistical checks around each breakpoint (200 bars pre/post) show what the detector really flags. Variance shifts are confirmed in ~47% of breaks, while mean shifts are almost never confirmed (~0.7%), making it a practical volatility-regime detector rather than a directional change detector.
In the quietest volatility tercile, behavior becomes conservative (ARL ~430), implying excess signals come mainly from extreme bars in volatile regimes. The included CUSUM_Breakpoint.mq5 code is fully reproducible and structured for efficient incremental u...
👉 Read | Quotes | @mql5dev
👍15❤12👌2
Smart Trade Manager for MT5 is a trade-management Expert Advisor focused on protecting manually opened positions. It does not generate entry signals and does not place trades. It monitors supported symbols and applies stop-loss and ongoing risk controls after entry.
Stop placement is structure-based: buys reference the most recent swing low and sells reference the most recent swing high on a selected timeframe. An ATR buffer is applied beyond the structure level, then the final SL is constrained by configurable minimum and maximum ATR distance limits. All calculations use closed-bar data.
Management functions include breakeven with R-based trigger and lock, ATR trailing with separate profiles for Gold and selected FX pairs, optional R-multiple take profit, and dollar-based profit protection with peak giveback closeout. Execution controls include spread filte...
👉 Read | Calendar | @mql5dev
Stop placement is structure-based: buys reference the most recent swing low and sells reference the most recent swing high on a selected timeframe. An ATR buffer is applied beyond the structure level, then the final SL is constrained by configurable minimum and maximum ATR distance limits. All calculations use closed-bar data.
Management functions include breakeven with R-based trigger and lock, ATR trailing with separate profiles for Gold and selected FX pairs, optional R-multiple take profit, and dollar-based profit protection with peak giveback closeout. Execution controls include spread filte...
👉 Read | Calendar | @mql5dev
❤27👍9👌2
Scaling out is widely treated as a default improvement, but standard trading reports rarely quantify whether partial exits improved results versus holding full size until the final exit.
ScaleOutValue.mq5 analyzes closing-deal CSV data and prints a report to the Experts tab. It calculates Value-Add Ratio (aggregate value added vs holding to last exit), Scale-Out Win Rate (percent of scaled positions that beat last-exit holding), and Scaling Efficiency (percent of the best outcome achievable using the trader’s own exit prices that was captured). A composite A+ to F grade combines the three, adds a single-trade dependence check, and outputs recommendations.
Input is a CSV in MQL5\Files (default ScaleOutData.csv) with one row per closing deal and a fixed header schema. If missing, a demo dataset is generated on first run. A companion exporter script writes...
👉 Read | Docs | @mql5dev
ScaleOutValue.mq5 analyzes closing-deal CSV data and prints a report to the Experts tab. It calculates Value-Add Ratio (aggregate value added vs holding to last exit), Scale-Out Win Rate (percent of scaled positions that beat last-exit holding), and Scaling Efficiency (percent of the best outcome achievable using the trader’s own exit prices that was captured). A composite A+ to F grade combines the three, adds a single-trade dependence check, and outputs recommendations.
Input is a CSV in MQL5\Files (default ScaleOutData.csv) with one row per closing deal and a fixed header schema. If missing, a demo dataset is generated on first run. A companion exporter script writes...
👉 Read | Docs | @mql5dev
👍12❤9👌1
DoEasy’s timeseries architecture is extended with a dedicated indicator buffer data object: one object represents one buffer value on one bar, linked to the owning indicator, symbol, timeframe, buffer index, and bar time. These objects are designed to live in typed collection lists, enabling fast selection, filtering, sorting by time, and later cross-indicator comparisons and benchmarking via cached data.
The new CDataInd class follows the library’s base object pattern with integer/real/string property arrays, property support flags, a Compare() override for Search()/Sort(), and helpers for readable setters/getters and journal output. Selection/sorting services are updated to handle the new object type.
Testing updates the sample EA to instantiate buffer objects for current and previous bars across standard and custom indicators, printing object descriptio...
👉 Read | Forum | @mql5dev
The new CDataInd class follows the library’s base object pattern with integer/real/string property arrays, property support flags, a Compare() override for Search()/Sort(), and helpers for readable setters/getters and journal output. Selection/sorting services are updated to handle the new object type.
Testing updates the sample EA to instantiate buffer objects for current and previous bars across standard and custom indicators, printing object descriptio...
👉 Read | Forum | @mql5dev
❤40👍11💔3🤔2🤡2👨💻2👀2
Smart Session Breakout is a session-range breakout indicator for MetaTrader 4. It tracks the Asian session high/low (default 00:00–08:00 broker time), draws the range box, then monitors London/New York for confirmed closes beyond the projected levels.
Signal quality is tightened with volatility checks. Beyond a close outside the range, the breakout candle must meet configurable ATR expansion rules, including a minimum body size relative to ATR. Min/Max range height filters skip unusually small or large ranges.
Signals are non-repainting when confirmation on bar close is enabled. An on-chart panel reports session phase, spread, ATR in pips, and time to bar close. Alerts support pop-up, sound, email, and mobile push. Version 1.10 fixes midnight-crossing sessions, dashboard corner placement, alert firing in intrabar mode, input validation, and reduces p...
👉 Read | Calendar | @mql5dev
Signal quality is tightened with volatility checks. Beyond a close outside the range, the breakout candle must meet configurable ATR expansion rules, including a minimum body size relative to ATR. Min/Max range height filters skip unusually small or large ranges.
Signals are non-repainting when confirmation on bar close is enabled. An on-chart panel reports session phase, spread, ATR in pips, and time to bar close. Alerts support pop-up, sound, email, and mobile push. Version 1.10 fixes midnight-crossing sessions, dashboard corner placement, alert firing in intrabar mode, input validation, and reduces p...
👉 Read | Calendar | @mql5dev
❤20👍6👌2🏆1
Dashboard stats summarize historical signal outcomes on the chart.
BUY shows the count of Buy signals split into Paid (target TP reached) and Loss (3-Grid SL hit), along with the resulting Buy win rate percentage.
SELL provides the same breakdown for Sell signals: Paid versus Loss, plus the Sell win rate percentage.
OVERALL WINRATE aggregates Buy and Sell results into a single success percentage across the available chart history.
InpRiskReward controls the target Risk:Reward ratio in the indicator settings, for example 1.0 for 1:1, 1.5 for 1:1.5, and 2.0 for 1:2.
👉 Read | Docs | @mql5dev
BUY shows the count of Buy signals split into Paid (target TP reached) and Loss (3-Grid SL hit), along with the resulting Buy win rate percentage.
SELL provides the same breakdown for Sell signals: Paid versus Loss, plus the Sell win rate percentage.
OVERALL WINRATE aggregates Buy and Sell results into a single success percentage across the available chart history.
InpRiskReward controls the target Risk:Reward ratio in the indicator settings, for example 1.0 for 1:1, 1.5 for 1:1.5, and 2.0 for 1:2.
👉 Read | Docs | @mql5dev
❤20👍7👌1
Running multiple Expert Advisors on one account, or mixing manual trades with automation, makes the account statement less actionable. The equity curve aggregates everything and cannot show which systems generated the return, which ones stopped trading, or which ones are subsidised by others.
A script can separate history by magic number and print an audit table. It reads history only, does not place or modify orders, does not require algo trading to be enabled, and scans the full account regardless of the chart symbol. As a script, it runs once and removes itself.
Output is one row per magic number (magic 0 groups manual trades and EAs without a magic), sorted by net result, plus totals. Columns include closed round turns, net P/L with swap and commission, win rate, profit factor, average win/loss, current open volume, pending orders, first/last activity, an...
👉 Read | Forum | @mql5dev
A script can separate history by magic number and print an audit table. It reads history only, does not place or modify orders, does not require algo trading to be enabled, and scans the full account regardless of the chart symbol. As a script, it runs once and removes itself.
Output is one row per magic number (magic 0 groups manual trades and EAs without a magic), sorted by net result, plus totals. Columns include closed round turns, net P/L with swap and commission, win rate, profit factor, average win/loss, current open volume, pending orders, first/last activity, an...
👉 Read | Forum | @mql5dev
❤20👍7👌1
Daily Zone Recovery is an Expert Advisor for MetaTrader 5 that trades around the previous day’s high and low levels.
The logic combines three independent strategies: a breakout followed by a return to the level, a level test that precedes a breakout, and a test–pullback–retest sequence.
Risk and execution controls include an ATR-based volatility filter and spread limits. Configuration is separated by timeframe, with distinct zone parameters plus Take Profit and Stop Loss settings per strategy.
Optional grid handling supports fixed-lot position series and closure at the average price. The system is tuned for gold and can be configured for scaling-style trade management.
👉 Read | Calendar | @mql5dev
The logic combines three independent strategies: a breakout followed by a return to the level, a level test that precedes a breakout, and a test–pullback–retest sequence.
Risk and execution controls include an ATR-based volatility filter and spread limits. Configuration is separated by timeframe, with distinct zone parameters plus Take Profit and Stop Loss settings per strategy.
Optional grid handling supports fixed-lot position series and closure at the average price. The system is tuned for gold and can be configured for scaling-style trade management.
👉 Read | Calendar | @mql5dev
❤17👍12⚡1
Previous Week High/Low is a higher-timeframe reference that reduces intraday noise to two W1 levels: the prior week’s extreme high and low. These values are read from the last completed weekly bar and plotted as horizontal lines across the current week, without switching chart timeframes.
PWH is commonly treated as resistance or a breakout trigger after a clean break. PWL is commonly treated as support or a breakdown trigger once price trades through. With multiple weeks enabled, each week’s levels are drawn only across the week they belonged to and labeled with a -N suffix to avoid overlap.
Inputs cover weeks to display (1–8), per-level visibility, colors, line style/width, and label options including price and font size. Levels refresh automatically when a new weekly bar opens, and objects are cleaned up on detach. Week boundaries depend on broker ...
👉 Read | Freelance | @mql5dev
PWH is commonly treated as resistance or a breakout trigger after a clean break. PWL is commonly treated as support or a breakdown trigger once price trades through. With multiple weeks enabled, each week’s levels are drawn only across the week they belonged to and labeled with a -N suffix to avoid overlap.
Inputs cover weeks to display (1–8), per-level visibility, colors, line style/width, and label options including price and font size. Levels refresh automatically when a new weekly bar opens, and objects are cleaned up on detach. Week boundaries depend on broker ...
👉 Read | Freelance | @mql5dev
❤23👍6👨💻2🎉1
A scalping dashboard can reduce execution friction by showing spread status and momentum state in real time. Spread is validated against a configurable maximum and displayed with clear green/red alerts to block trades when transaction costs spike.
Momentum is derived from a fast and slow EMA pair, producing BULLISH, BEARISH, or FLAT output. This helps keep entries aligned with the prevailing short-term direction and avoids taking setups against the active flow.
The panel refreshes on a timer (default 1s) and removes all chart objects cleanly on exit. Key inputs include Fast EMA (5), Slow EMA (20), Max Spread in points (12.0), refresh rate, panel position, base font size, and a full color theme for consistent visibility.
Suggested usage: take BUY/SELL prompts only when spread is OK and momentum agrees, and tune max spread per symbol to reduce slippage...
👉 Read | Forum | @mql5dev
Momentum is derived from a fast and slow EMA pair, producing BULLISH, BEARISH, or FLAT output. This helps keep entries aligned with the prevailing short-term direction and avoids taking setups against the active flow.
The panel refreshes on a timer (default 1s) and removes all chart objects cleanly on exit. Key inputs include Fast EMA (5), Slow EMA (20), Max Spread in points (12.0), refresh rate, panel position, base font size, and a full color theme for consistent visibility.
Suggested usage: take BUY/SELL prompts only when spread is OK and momentum agrees, and tune max spread per symbol to reduce slippage...
👉 Read | Forum | @mql5dev
❤23👍8👀2
A range-context panel can be built from the last N closed candles, excluding the current bar. It calculates the highest High and lowest Low in the lookback, then defines upper and lower buffer zones as a percentage of the range span. The latest close is classified as breakout above the high, breakdown below the low, testing the resistance/support zone, or mid-range.
The display updates on a timer rather than on every tick, reducing UI churn and making it practical for scanning multiple symbols.
Key inputs include lookback length, zone thickness, and timer interval, plus panel placement, font-based scaling, and color theming. Signal colors for breakout/breakdown/testing can remain fixed.
Usage is best treated as a filter and context layer: avoid mid-range entries, validate breakouts with volume/volatility confirmation, apply breakout-retest or range-...
👉 Read | VPS | @mql5dev
The display updates on a timer rather than on every tick, reducing UI churn and making it practical for scanning multiple symbols.
Key inputs include lookback length, zone thickness, and timer interval, plus panel placement, font-based scaling, and color theming. Signal colors for breakout/breakdown/testing can remain fixed.
Usage is best treated as a filter and context layer: avoid mid-range entries, validate breakouts with volume/volatility confirmation, apply breakout-retest or range-...
👉 Read | VPS | @mql5dev
❤9👍8
An MT5 indicator for XAUUSD built around Smart Money Concepts, combining multi-timeframe liquidity, order blocks, sweeps, and M5 close-based confirmation to filter entries.
Liquidity and order-block levels are derived from a strongest day-wise scan plus H4, M30, M15, and M5, then confluence is used to flag strong buy-side and sell-side zones on the M5 chart. Sweeps are marked and setups trigger only after an M5 candle close confirms rejection or a break-and-close beyond a level.
Risk management is tied to M1 structure: stops reference the relevant M1 swing high/low, with TP1/TP2/TP3 plotted alongside entry and SL. A compact position tool renders risk/reward, while same-side signal locking prevents repeated entries until TP3 or SL, yet opposite-direction setups can still be displayed. Levels are recalculated every 5 minutes, keeping historical annotat...
👉 Read | Forum | @mql5dev
Liquidity and order-block levels are derived from a strongest day-wise scan plus H4, M30, M15, and M5, then confluence is used to flag strong buy-side and sell-side zones on the M5 chart. Sweeps are marked and setups trigger only after an M5 candle close confirms rejection or a break-and-close beyond a level.
Risk management is tied to M1 structure: stops reference the relevant M1 swing high/low, with TP1/TP2/TP3 plotted alongside entry and SL. A compact position tool renders risk/reward, while same-side signal locking prevents repeated entries until TP3 or SL, yet opposite-direction setups can still be displayed. Levels are recalculated every 5 minutes, keeping historical annotat...
👉 Read | Forum | @mql5dev
👍19❤10🔥5✍2
MT5 Cash Risk Probe is a read-only MetaTrader 5 script that validates a single cash-risk sizing boundary before order logic is added. It never sends, modifies, or closes orders, and reports order_sent=false.
It uses OrderCalcProfit() on a hypothetical 1.0-lot trade between entry and stop to estimate loss in the account deposit currency. A user-defined cash reserve for fees or slippage is deducted, the remaining budget is divided by the one-lot loss, then floored to the broker’s volume grid. The script recalculates final loss and prints symbol, side, entry, stop, cash budget, reserve, raw/final volume, estimated loss/total, and min/max/step/limit with tick size.
Inputs include symbol, side, entry (or current Bid/Ask), required stop, cash budget, and reserve. Optional self-tests cover flooring, min rejection, max cap, 0.10 steps, and non-aligned min/step ...
👉 Read | AlgoBook | @mql5dev
It uses OrderCalcProfit() on a hypothetical 1.0-lot trade between entry and stop to estimate loss in the account deposit currency. A user-defined cash reserve for fees or slippage is deducted, the remaining budget is divided by the one-lot loss, then floored to the broker’s volume grid. The script recalculates final loss and prints symbol, side, entry, stop, cash budget, reserve, raw/final volume, estimated loss/total, and min/max/step/limit with tick size.
Inputs include symbol, side, entry (or current Bid/Ask), required stop, cash budget, and reserve. Optional self-tests cover flooring, min rejection, max cap, 0.10 steps, and non-aligned min/step ...
👉 Read | AlgoBook | @mql5dev
❤11👍8
A Python fractal feature module was found to leak future data due to centered rolling windows. The fix shifts centered outputs by n bars and keeps hindsight only for label building. Porting this to MQL5 requires separating “where the fractal occurred” from “when features may be written” to keep buffers strictly causal.
The solution is a stateful, event-driven engine (CFractalFeatures.mqh) that processes one closed bar at a time, maintains rings for confirmed fractals and breakout history, and publishes 18 iCustom-readable features. FractalViewer splits chart markers (drawn at the center bar) from feature buffers (written at confirmation), avoiding silent look-ahead.
The port also documents three practical failure modes: reversed series indexing can reintroduce 2n-bar look-ahead, CSV precision can break parity on derived signals, and tick-driven recom...
👉 Read | CodeBase | @mql5dev
The solution is a stateful, event-driven engine (CFractalFeatures.mqh) that processes one closed bar at a time, maintains rings for confirmed fractals and breakout history, and publishes 18 iCustom-readable features. FractalViewer splits chart markers (drawn at the center bar) from feature buffers (written at confirmation), avoiding silent look-ahead.
The port also documents three practical failure modes: reversed series indexing can reintroduce 2n-bar look-ahead, CSV precision can break parity on derived signals, and tick-driven recom...
👉 Read | CodeBase | @mql5dev
👍8❤6
ECEA (Elite Crystal Evolution Algorithm) maintains a population split into elite and regular agents. Elite agents run an intensive local search with a decreasing step size. Regular agents select one of three moves (40/30/30): toward the global best, toward the nearest elite plus the elite centroid, or stochastic exploratory jumps. A periodic “wind” resets the worst non-elite with 10% probability.
Key operators include FindNearestElite (Euclidean distance), MoveTowardsEliteCluster (r1*0.3 toward nearest elite + r2*0.2 toward elite centroid with bounds/step enforcement), two-scale ExploratoryMove (70% small, 30% large), elite influence radii (half nearest elite distance), and a progress-based exploration-rate decay to 30% by 100 iterations.
Benchmarking used Hilly/Forest/Megacity at 5/25/500D, 10,000 evaluations, 10 runs. Overall score was 36.46%, abov...
👉 Read | NeuroBook | @mql5dev
Key operators include FindNearestElite (Euclidean distance), MoveTowardsEliteCluster (r1*0.3 toward nearest elite + r2*0.2 toward elite centroid with bounds/step enforcement), two-scale ExploratoryMove (70% small, 30% large), elite influence radii (half nearest elite distance), and a progress-based exploration-rate decay to 30% by 100 iterations.
Benchmarking used Hilly/Forest/Megacity at 5/25/500D, 10,000 evaluations, 10 runs. Overall score was 36.46%, abov...
👉 Read | NeuroBook | @mql5dev
❤13👍6