TREND Follower (DAILY) is a lightweight Expert Advisor intended as a development code base for research and iterative improvement. The core signal uses a single rule: trade direction is derived from the relationship between price and Parabolic SAR, without claims of optimization or production readiness.
Logic is minimal: price above SAR sets BUY bias, price below SAR sets SELL bias. On direction change, the EA closes any opposing position before opening a new one, implementing a direct reversal model.
Baseline capabilities include fixed-lot sizing, maximum spread filtering, configurable trading hours, Magic Number isolation, optional SL/TP, execution checks, broker-compatible volume handling, and safer reversal flow.
The design targets extension: risk-based sizing, ATR-driven exits, trailing, break-even, partial closes, higher-timeframe filters, regime det...
π Read | Calendar | @mql5dev
Logic is minimal: price above SAR sets BUY bias, price below SAR sets SELL bias. On direction change, the EA closes any opposing position before opening a new one, implementing a direct reversal model.
Baseline capabilities include fixed-lot sizing, maximum spread filtering, configurable trading hours, Magic Number isolation, optional SL/TP, execution checks, broker-compatible volume handling, and safer reversal flow.
The design targets extension: risk-based sizing, ATR-driven exits, trailing, break-even, partial closes, higher-timeframe filters, regime det...
π Read | Calendar | @mql5dev
β€20π12π₯7π€©5π―2π1
Safe Risk Manager EA 1.02 is an educational, manually operated MT5 trade panel intended for hedging accounts. BUY/SELL actions place market orders with percent-of-equity sizing, broker-side stop loss, and optional take profit. It is not an automated signal system and provides no profit or maximum-loss guarantees.
Entries are blocked when spread exceeds a configured limit or when a daily-loss threshold is reached. The daily lock persists for the current broker-server day across restarts. It manages positions on the current symbol matching a configured magic number using break-even and trailing-stop rules, and can request closing those positions. Netting accounts are rejected, and volumes below broker minimum are rejected rather than rounded up.
Daily loss uses server-day realized P/L (profit, swap, commission, fees) with optional floating P/L. Commissions, g...
π Read | Signals | @mql5dev
Entries are blocked when spread exceeds a configured limit or when a daily-loss threshold is reached. The daily lock persists for the current broker-server day across restarts. It manages positions on the current symbol matching a configured magic number using break-even and trailing-stop rules, and can request closing those positions. Netting accounts are rejected, and volumes below broker minimum are rejected rather than rounded up.
Daily loss uses server-day realized P/L (profit, swap, commission, fees) with optional floating P/L. Commissions, g...
π Read | Signals | @mql5dev
β€19π₯9π6π4π€©3π1
This article builds a self-calibrating scale-out system for MetaTrader 5 that replaces fixed 1R/2R/3R exit ladders with levels derived from actual trade behavior. It measures each tradeβs maximum favorable excursion in R (entry-to-initial-stop distance) and uses those samples to compute percentile-based exit rungs.
The design splits responsibilities into three testable modules: CExcursionTracker records per-ticket MFE-in-R tick-by-tick and persists samples to CSV; CExitLadderCalibrator converts the most recent N samples into ordered rung thresholds with a minimum-sample gate and a fallback ladder; CLadderExecutor applies partial closes once per rung per ticket, handles volume rounding, and can move the stop to breakeven after the first fill.
An EA wires this together by reconstructing realized R from deal history (volume-weighted across multiple pa...
π Read | Freelance | @mql5dev
The design splits responsibilities into three testable modules: CExcursionTracker records per-ticket MFE-in-R tick-by-tick and persists samples to CSV; CExitLadderCalibrator converts the most recent N samples into ordered rung thresholds with a minimum-sample gate and a fallback ladder; CLadderExecutor applies partial closes once per rung per ticket, handles volume rounding, and can move the stop to breakeven after the first fill.
An EA wires this together by reconstructing realized R from deal history (volume-weighted across multiple pa...
π Read | Freelance | @mql5dev
β€20π7π₯3π¨βπ»3π1π€©1π1
Most live ONNX drift monitors in trading EAs track only feature mean and standard deviation. That misses distribution-shape changes that preserve first two moments, such as unimodal to bimodal shifts.
A per-feature detector based on 1D Wasserstein-1 compares a frozen reference window to a rolling live window. With equal sample sizes, W1 is computed by sorting both windows and averaging absolute rank-wise differences, with no iterative optimal transport solver.
The implementation targets MetaTrader 5: 8-feature vector shared by model and detector, circular buffers, reference stored pre-sorted, recompute on closed bars. W1 is normalized by reference IQR for scale comparability, and both composite and max-per-feature thresholds are enforced via a JSON manifest.
Offline validation shows mean/std monitors failing on bimodal shifts, while W1 remains sensiti...
π Read | VPS | @mql5dev
A per-feature detector based on 1D Wasserstein-1 compares a frozen reference window to a rolling live window. With equal sample sizes, W1 is computed by sorting both windows and averaging absolute rank-wise differences, with no iterative optimal transport solver.
The implementation targets MetaTrader 5: 8-feature vector shared by model and detector, circular buffers, reference stored pre-sorted, recompute on closed bars. W1 is normalized by reference IQR for scale comparability, and both composite and max-per-feature thresholds are enforced via a JSON manifest.
Offline validation shows mean/std monitors failing on bimodal shifts, while W1 remains sensiti...
π Read | VPS | @mql5dev
β€22π9π₯5π2π€©1
An ONNX reader can produce accurate node and tensor reports, but a log list hides topology. Parallel branches and joins read like a linear chain because connections are only implicit via value names.
A visualization pipeline in MQL5 addresses this by extending the parser to keep tensor shapes, node attributes, and limited weight samples with statistics. Internal value shapes are recovered by parsing the graphβs value-info entries, not just exposed inputs/outputs.
Rendering uses a chart bitmap with anti-aliased primitives, clipping, and cached text measurement. Layout assigns node depth as one plus the maximum depth of its producers, found by matching outputs to inputs, excluding weights. Boxes are placed by rank, edges are labeled, and UI supports pan, zoom, and node inspection.
π Read | AppStore | @mql5dev
A visualization pipeline in MQL5 addresses this by extending the parser to keep tensor shapes, node attributes, and limited weight samples with statistics. Internal value shapes are recovered by parsing the graphβs value-info entries, not just exposed inputs/outputs.
Rendering uses a chart bitmap with anti-aliased primitives, clipping, and cached text measurement. Layout assigns node depth as one plus the maximum depth of its producers, found by matching outputs to inputs, excluding weights. Boxes are placed by rank, edges are labeled, and UI supports pan, zoom, and node inspection.
π Read | AppStore | @mql5dev
β€13π9π₯3π€©3π2π1
Competitive Swarm Optimizer (CSO) is explored as a fix for classic PSO stagnation in parameter tuning: instead of pulling every particle toward a global best, agents compete in random pairs so only the loser updates, preserving diversity and delaying premature convergence.
The loserβs velocity blends inertia, attraction toward the paired winner, and a controlled pull toward the swarm centroid. The centroid is the only global reference; strong solutions propagate indirectly through repeated encounters rather than instant broadcast.
An MQL5 implementation is provided as a plug-in class for a unified test bench (Init/Moving/Revision), with practical details like zero-initialized velocities, per-axis velocity caps, boundary clamps, and FisherβYates pairing. Experiments on Hilly/Forest/Megacity across 5/25/500 dimensions evaluate solution quality under a fix...
π Read | NeuroBook | @mql5dev
The loserβs velocity blends inertia, attraction toward the paired winner, and a controlled pull toward the swarm centroid. The centroid is the only global reference; strong solutions propagate indirectly through repeated encounters rather than instant broadcast.
An MQL5 implementation is provided as a plug-in class for a unified test bench (Init/Moving/Revision), with practical details like zero-initialized velocities, per-axis velocity caps, boundary clamps, and FisherβYates pairing. Experiments on Hilly/Forest/Megacity across 5/25/500 dimensions evaluate solution quality under a fix...
π Read | NeuroBook | @mql5dev
β€26π€©5π4π₯4π€―2π2
Extralonger treats market time series and cross-asset structure as a single representation, avoiding the usual split between βtemporalβ and βspatialβ modeling. This drops complexity from exponential growth to quadratic, enabling faster training, lower memory use, and forecasts that extend from hours to multi-day or weekly horizons.
The architecture is a three-branch Transformer: a temporal route for long-range patterns via self-attention, a spatial route using global-plus-local attention to model cross-market dependencies, and a mixed route that fuses both into a unified signal.
On the MT5 side, the work ports these ideas to MQL5+OpenCL: a configurable temporal embedding layer (CNeuronTempEmbedding) that builds multi-period embeddings and concatenates them with inputs, plus a Global-Local Spatial Attention kernel that runs dense global heads and s...
π Read | NeuroBook | @mql5dev
The architecture is a three-branch Transformer: a temporal route for long-range patterns via self-attention, a spatial route using global-plus-local attention to model cross-market dependencies, and a mixed route that fuses both into a unified signal.
On the MT5 side, the work ports these ideas to MQL5+OpenCL: a configurable temporal embedding layer (CNeuronTempEmbedding) that builds multi-period embeddings and concatenates them with inputs, plus a Global-Local Spatial Attention kernel that runs dense global heads and s...
π Read | NeuroBook | @mql5dev
β€18π8π₯6π€©4π3
Candlestick encoding updates replaced the catch-all β_β with directional fallbacks: N for bullish unclassified and n for bearish unclassified. The original A/a, G/g, H/h, E/e, and D mappings remain unchanged, keeping the text-based pipeline stable.
The frequency pipeline was re-run on 1,500-candle samples for GBPUSD and XAUUSD on M15 and H1. The prior dominance of β_β is now treated as coverage data, while N/n preserve bias for candles that miss body-to-wick thresholds.
GBPUSD M15 singles: A 22.20%, a 21.07%, n 18.93%, N 16.80%. GBPUSD H1 singles are similar: a 21.80%, A 20.67%, n 17.80%, N 17.60%.
GBPUSD doubles: 103β104 unique pairs. Top pairs are Marubozu-heavy, but N/n appear in 12 of the top 16 patterns on both M15 and H1, indicating frequent transitions previously hidden by β_β.
π Read | AppStore | @mql5dev
The frequency pipeline was re-run on 1,500-candle samples for GBPUSD and XAUUSD on M15 and H1. The prior dominance of β_β is now treated as coverage data, while N/n preserve bias for candles that miss body-to-wick thresholds.
GBPUSD M15 singles: A 22.20%, a 21.07%, n 18.93%, N 16.80%. GBPUSD H1 singles are similar: a 21.80%, A 20.67%, n 17.80%, N 17.60%.
GBPUSD doubles: 103β104 unique pairs. Top pairs are Marubozu-heavy, but N/n appear in 12 of the top 16 patterns on both M15 and H1, indicating frequent transitions previously hidden by β_β.
π Read | AppStore | @mql5dev
β€18π8π₯8π€©3π3
Win rate canβt answer βshould this still-open trade be held?β because the relevant probability is conditional on having already survived N bars. Survivors are a different population than new entries, so the chance of a profitable exit over the next horizon can rise materially with age.
The article ports survival analysis to MT5 trade duration: KaplanβMeier for overall survival, hazard for per-bar resolution rate, and AalenβJohansen cumulative incidence to handle competing terminal outcomes (profit vs loss). Treating losses as βcensoredβ is the common mistake; it biases profit probabilities upward because stopped trades cannot later win.
Implementation details matter: MT5 history is deals, so positions must be reconstructed by DEAL_POSITION_ID, partial closes merged, and durations measured in bars (not wall time) to avoid weekend distortion. The indic...
π Read | Freelance | @mql5dev
The article ports survival analysis to MT5 trade duration: KaplanβMeier for overall survival, hazard for per-bar resolution rate, and AalenβJohansen cumulative incidence to handle competing terminal outcomes (profit vs loss). Treating losses as βcensoredβ is the common mistake; it biases profit probabilities upward because stopped trades cannot later win.
Implementation details matter: MT5 history is deals, so positions must be reconstructed by DEAL_POSITION_ID, partial closes merged, and durations measured in bars (not wall time) to avoid weekend distortion. The indic...
π Read | Freelance | @mql5dev
β€21π11π€©7π₯5π3
Strategy Tester has no economic calendar history, so many MQL5 news filters built on CalendarValueHistory become inactive during backtests. This can push EAs into NFP, CPI, and rate decisions and cause large risk drift from live results. Another issue is timestamp conversion: historical calendar times are shifted using the current server offset, producing a recurring one-hour misalignment across winter/summer on DST brokers.
A three-file workflow addresses both. NewsCalendarExport.mq5 exports events to Terminal\Common\Files\NewsCalendar.csv and recalculates each event using the server offset valid on that date, then runs a winter/summer consistency check. NewsFilter.mqh provides one CNewsFilter for live and tester: live reads the terminal calendar with a 1-minute refresh cap, tester reads the CSV, and only the symbolβs currencies are applied. NewsFilter_Exam...
π Read | Quotes | @mql5dev
A three-file workflow addresses both. NewsCalendarExport.mq5 exports events to Terminal\Common\Files\NewsCalendar.csv and recalculates each event using the server offset valid on that date, then runs a winter/summer consistency check. NewsFilter.mqh provides one CNewsFilter for live and tester: live reads the terminal calendar with a 1-minute refresh cap, tester reads the CSV, and only the symbolβs currencies are applied. NewsFilter_Exam...
π Read | Quotes | @mql5dev
π15β€14π₯12π€©5π±2π1
Daily drawdown breaches remain a primary failure point in prop firm challenges, often outweighing strategy quality. A dedicated monitoring layer can reduce operational risk during active trading.
AlphaQuant Prop Firm Daily Drawdown Dashboard is a free Expert Advisor focused on funded-account constraints. It overlays a clean on-screen risk panel rather than adding chart objects, and tracks account equity in real time to quantify remaining loss capacity versus the configured daily limit.
Core functions include equity-based monitoring (balance and equity), large color-coded readouts suited to multi-screen workstations, and status changes from SAFE to WARNING to CRITICAL as the threshold approaches. The baseline can auto-reset at server midnight to match common prop firm rule timing.
Setup is minimal: attach to any chart, set Max Daily DD % (for example 5.0), ...
π Read | Quotes | @mql5dev
AlphaQuant Prop Firm Daily Drawdown Dashboard is a free Expert Advisor focused on funded-account constraints. It overlays a clean on-screen risk panel rather than adding chart objects, and tracks account equity in real time to quantify remaining loss capacity versus the configured daily limit.
Core functions include equity-based monitoring (balance and equity), large color-coded readouts suited to multi-screen workstations, and status changes from SAFE to WARNING to CRITICAL as the threshold approaches. The baseline can auto-reset at server midnight to match common prop firm rule timing.
Setup is minimal: attach to any chart, set Max Daily DD % (for example 5.0), ...
π Read | Quotes | @mql5dev
π13π₯11β€7π€©5β‘3π1
Hull Moving Average indicator renders up to four configurable periods on a single chart, with direction-based coloring: green on rising values, red on falling values, and grey on flat sections. Line count can be set to 2, 3, or 4 outputs to match the required signal density.
The implementation uses a ring buffer plus incremental running-sum calculations, keeping CPU and memory usage constant regardless of available history. This avoids per-bar recomputation and reduces sensitivity to long backtest ranges.
Buffer layout is documented and stable, supporting reliable access via iCustom() from Expert Advisors and other tooling. Output buffers are aligned for predictable indexing across configurations.
π Read | Freelance | @mql5dev
The implementation uses a ring buffer plus incremental running-sum calculations, keeping CPU and memory usage constant regardless of available history. This avoids per-bar recomputation and reduces sensitivity to long backtest ranges.
Buffer layout is documented and stable, supporting reliable access via iCustom() from Expert Advisors and other tooling. Output buffers are aligned for predictable indexing across configurations.
π Read | Freelance | @mql5dev
β€34π9π€©9π₯8π4π2
SMC Gold is an intraday Smart Money Concepts EA designed specifically for XAUUSD on M15. It detects a sweep of a confirmed swing high/low, requires a reversal close through the sweep candle body, and only trades in the direction of the H1 trend using a 50 EMA filter.
A key implementation issue surfaced during testing: tick value reporting for XAUUSD can be wrong on some demo feeds. Using SYMBOL_TRADE_TICK_VALUE produced lot sizes around 10x larger than intended, pushing drawdown to 78% on 107 trades. Switching sizing to OrderCalcProfit() aligned actual risk with the configured 1% per trade. Any EA that sizes from tick value should validate XAUUSD contract properties.
Post-fix testing favored M15. M1/M5 underperformed due to spread impact, and H1 produced too few trades. The execution model is single-position, no grid or martingale, with SL/TP attached immedia...
π Read | AlgoBook | @mql5dev
A key implementation issue surfaced during testing: tick value reporting for XAUUSD can be wrong on some demo feeds. Using SYMBOL_TRADE_TICK_VALUE produced lot sizes around 10x larger than intended, pushing drawdown to 78% on 107 trades. Switching sizing to OrderCalcProfit() aligned actual risk with the configured 1% per trade. Any EA that sizes from tick value should validate XAUUSD contract properties.
Post-fix testing favored M15. M1/M5 underperformed due to spread impact, and H1 produced too few trades. The execution model is single-position, no grid or martingale, with SL/TP attached immedia...
π Read | AlgoBook | @mql5dev
β€36π5π₯4π€3π2π1π―1
Asian Sweep Scorecard adds a self-auditing layer to the common Asian range sweep setup. It marks the Asian session high/low, flags London/NY sweeps that reverse back into the range, then grades each historical signal in R with spread included. Signals are non-repainting and exposed via buffers for EA use.
Range is defined between configurable server-time hours, with days filtered out if the range is too narrow or too wide in ATR terms. A sweep requires a closed bar to wick beyond one side by a minimum ATR amount and close back inside. Confirmation must arrive within a fixed bar count by closing beyond the opposite end of the sweep bar; entry is assumed next bar open, SL is ATR-buffered beyond the wick, TP is set by an R multiple, and trades are force-closed at a daily cutoff.
The panel reports signal counts, win rate, profit factor, average R, and to...
π Read | VPS | @mql5dev
Range is defined between configurable server-time hours, with days filtered out if the range is too narrow or too wide in ATR terms. A sweep requires a closed bar to wick beyond one side by a minimum ATR amount and close back inside. Confirmation must arrive within a fixed bar count by closing beyond the opposite end of the sweep bar; entry is assumed next bar open, SL is ATR-buffered beyond the wick, TP is set by an R multiple, and trades are force-closed at a daily cutoff.
The panel reports signal counts, win rate, profit factor, average R, and to...
π Read | VPS | @mql5dev
β€25π₯5π4π€©4
A single LLM prompt wired into MT5 tends to overcommit: when asked for buy/sell, it optimizes for producing a signal, not for admitting uncertainty. This mirrors confirmation bias in trading and becomes an architectural flaw, not a data issue.
The article proposes a debate pipeline: three parallel model roles (bull, bear, risk manager) analyze the same market brief, then a low-temperature judge applies hard rules. If risk is HIGH, the result is always hold; trades require aligned direction from at least two voices.
Indicators are computed locally in pure NumPy (MAs/EMAs, multi-period RSI, stochastic, ATR, StdDev, Bollinger position, momentum, candle anatomy) and fed as a structured briefing. A new DEBATE command keeps V17 compatibility, returns JSON plus full rationale for logging, enabling later prompt tuning from stored outcomes.
π Read | Quotes | @mql5dev
The article proposes a debate pipeline: three parallel model roles (bull, bear, risk manager) analyze the same market brief, then a low-temperature judge applies hard rules. If risk is HIGH, the result is always hold; trades require aligned direction from at least two voices.
Indicators are computed locally in pure NumPy (MAs/EMAs, multi-period RSI, stochastic, ATR, StdDev, Bollinger position, momentum, candle anatomy) and fed as a structured briefing. A new DEBATE command keeps V17 compatibility, returns JSON plus full rationale for logging, enabling later prompt tuning from stored outcomes.
π Read | Quotes | @mql5dev
β€20π₯7π4π3π€©3π1π1
This article builds a full Hawkes-process toolkit in MQL5 to measure volatility clustering as event timing, not return size. Large moves are converted into an event train, fitted by maximum likelihood, and summarized by the branching ratio n: the expected number of follow-on events per event, interpreting reflexivity on a 0β1 scale.
Key implementation choices make it practical in MetaTrader: event times are measured in bars for numerical stability, and a trailing volatility window of ~100 bars avoids βnormalizing awayβ clusters during event detection.
An exponential kernel enables O(N) intensity updates via recursion and a closed-form compensator, keeping likelihood evaluations fast. The fitter optimizes in (mu, n, beta) to enforce stationarity (n<1) as a simple bound, and verification relies on brute-force checks, numerical integration, Python cross...
π Read | VPS | @mql5dev
Key implementation choices make it practical in MetaTrader: event times are measured in bars for numerical stability, and a trailing volatility window of ~100 bars avoids βnormalizing awayβ clusters during event detection.
An exponential kernel enables O(N) intensity updates via recursion and a closed-form compensator, keeping likelihood evaluations fast. The fitter optimizes in (mu, n, beta) to enforce stationarity (n<1) as a simple bound, and verification relies on brute-force checks, numerical integration, Python cross...
π Read | VPS | @mql5dev
β€23π5π€©5π2
Most platforms report a single lifetime Profit Factor. That hides time structure and can make different risk profiles look identical.
Rolling Profit Factor restores chronology by recomputing PF over a fixed window of N consecutive closed trades, sliding forward one trade at a time. Trade-count windows keep sample size constant, unlike calendar windows.
Implementation notes for MQL5: compute Gross Profit and absolute Gross Loss per window. Handle GrossLossβ0 with a high finite sentinel, and mark all-zero windows as undefined. If history < window size, return failure.
An incremental update subtracts the outgoing trade and adds the incoming trade, reducing complexity from O(NΓW) to O(N). Architecture splits trade sourcing, history reading, rolling computation, scaling, reference lines, canvas rendering, and test sources via an ITradeSource interface.
π Read | Calendar | @mql5dev
Rolling Profit Factor restores chronology by recomputing PF over a fixed window of N consecutive closed trades, sliding forward one trade at a time. Trade-count windows keep sample size constant, unlike calendar windows.
Implementation notes for MQL5: compute Gross Profit and absolute Gross Loss per window. Handle GrossLossβ0 with a high finite sentinel, and mark all-zero windows as undefined. If history < window size, return failure.
An incremental update subtracts the outgoing trade and adds the incoming trade, reducing complexity from O(NΓW) to O(N). Architecture splits trade sourcing, history reading, rolling computation, scaling, reference lines, canvas rendering, and test sources via an ITradeSource interface.
π Read | Calendar | @mql5dev
β€14π₯8π€©2π2
Extralonger targets a common pain point in market forecasting: most models handle minutes or hours, but fail on multi-day horizons. It treats market data as spatiotemporal, aiming to stay stable over long histories while keeping compute and memory costs low.
The core idea is a unified space-time representation that merges price βspaceβ and time into one encoding, avoiding duplicated passes across both dimensions. Architecture-wise, it runs three parallel routes (temporal, spatial, mixed) and uses a Global-Local Spatial Transformer to capture both distant cross-asset links and short-range session-level interactions, with a full receptive field over history.
The MQL5 implementation centers on CNeuronExtralonger, adding adaptive attention pooling so route weights are computed per input, not fixed. Modules include shared temporal projection, separate ...
π Read | Docs | @mql5dev
The core idea is a unified space-time representation that merges price βspaceβ and time into one encoding, avoiding duplicated passes across both dimensions. Architecture-wise, it runs three parallel routes (temporal, spatial, mixed) and uses a Global-Local Spatial Transformer to capture both distant cross-asset links and short-range session-level interactions, with a full receptive field over history.
The MQL5 implementation centers on CNeuronExtralonger, adding adaptive attention pooling so route weights are computed per input, not fixed. Modules include shared temporal projection, separate ...
π Read | Docs | @mql5dev
β€15π9π₯6π€©6π2
A consensus of LLM agents tends to average away rare but valuable signals and stays static even when specific agents underperform. This article replaces voting with a market-style selection mechanism: each agent trades independently and is judged by PnL, not agreement.
The framework runs 10 distinct trading βphilosophiesβ in parallel, tracks per-agent capital and streaks, and rebuilds each system prompt every cycle via build_prompt() to reflect risk posture. Results persist across sessions, and closed trades trigger a REWARD protocol that updates agent state without extra model calls.
On MT5, true separation is achieved with per-agent magic numbers, allowing simultaneous long/short positions on the same symbol. Three modes cover research and production: observer, full parallel trading, and selection that disables bankrupt agents.
Backtest (EURUSD M15) sho...
π Read | AlgoBook | @mql5dev
The framework runs 10 distinct trading βphilosophiesβ in parallel, tracks per-agent capital and streaks, and rebuilds each system prompt every cycle via build_prompt() to reflect risk posture. Results persist across sessions, and closed trades trigger a REWARD protocol that updates agent state without extra model calls.
On MT5, true separation is achieved with per-agent magic numbers, allowing simultaneous long/short positions on the same symbol. Three modes cover research and production: observer, full parallel trading, and selection that disables bankrupt agents.
Backtest (EURUSD M15) sho...
π Read | AlgoBook | @mql5dev
π17β€12π₯8π€©2β1π1π¨βπ»1
Most spread indicators average over ticks, which underweights quiet minutes and smooths out the spreads paid during rollover, pre-open, and low-liquidity sessions. A timer-based sampler avoids that bias by taking one spread snapshot per second so each minute has equal weight.
PropSpread is built as a monitoring utility for prop firm and funded accounts. It shows live spread in broker points, as raw price difference, and in the symbolβs natural unit derived from digits and calculation mode (Forex pips, index points for CFD indices, otherwise price units). A legend is always printed to verify conversions.
The panel reports rolling stats over a configurable window (min/avg/median/max and time above threshold), plus session stats since server midnight. It adds spread as a percent of ATR from the last closed bar, and includes threshold alerts with hold time...
π Read | Freelance | @mql5dev
PropSpread is built as a monitoring utility for prop firm and funded accounts. It shows live spread in broker points, as raw price difference, and in the symbolβs natural unit derived from digits and calculation mode (Forex pips, index points for CFD indices, otherwise price units). A legend is always printed to verify conversions.
The panel reports rolling stats over a configurable window (min/avg/median/max and time above threshold), plus session stats since server midnight. It adds spread as a percent of ATR from the last closed bar, and includes threshold alerts with hold time...
π Read | Freelance | @mql5dev
β€20π€©11π10π₯6π1
EMA Cross Demo EA for MetaTrader 5 was released as a compact reference Expert Advisor focused on development method rather than trading advantage. Signals are evaluated once per new bar using closed candles only, preventing repainting. A fast/slow EMA cross triggers entry; an opposite signal closes the current position and opens the new one on the next tick of the new bar.
Risk is based on ATR: stop-loss uses ATR multiplied by a configurable factor, take-profit is derived from the stop distance via a reward:risk input. The EA enforces the brokerβs minimum stop and freeze distances, normalizes volume to symbol limits and step size, and skips entries when spread exceeds a configured maximum.
Position handling is safe for both hedging and netting accounts via magic number and symbol lookup. Recent fixes include correct stop-distance flooring against Bid/Ask on...
π Read | VPS | @mql5dev
Risk is based on ATR: stop-loss uses ATR multiplied by a configurable factor, take-profit is derived from the stop distance via a reward:risk input. The EA enforces the brokerβs minimum stop and freeze distances, normalizes volume to symbol limits and step size, and skips entries when spread exceeds a configured maximum.
Position handling is safe for both hedging and netting accounts via magic number and symbol lookup. Recent fixes include correct stop-distance flooring against Bid/Ask on...
π Read | VPS | @mql5dev
β€26π8π€©5π₯2π1