MA Crossover EA is an automated strategy that places trades when two moving averages intersect. It supports any instrument and timeframe, with configurable fast and slow MA periods.
Trade logic is limited to one open position at a time. A BUY is opened when the fast moving average crosses above the slow moving average. A SELL is opened when the fast moving average crosses below the slow moving average.
Risk controls include optional Stop Loss and Take Profit levels defined in pips. Execution can be restricted to bar-close signals via a TradeOnNewBar setting to reduce intra-bar noise.
Key inputs typically include lot size, FastMAPeriod, SlowMAPeriod, StopLoss, TakeProfit, and a MagicNumber for trade identification. Validation in a strategy tester and parameter optimisation per symbol are recommended before live use.
π Read | VPS | @mql5dev
Trade logic is limited to one open position at a time. A BUY is opened when the fast moving average crosses above the slow moving average. A SELL is opened when the fast moving average crosses below the slow moving average.
Risk controls include optional Stop Loss and Take Profit levels defined in pips. Execution can be restricted to bar-close signals via a TradeOnNewBar setting to reduce intra-bar noise.
Key inputs typically include lot size, FastMAPeriod, SlowMAPeriod, StopLoss, TakeProfit, and a MagicNumber for trade identification. Validation in a strategy tester and parameter optimisation per symbol are recommended before live use.
π Read | VPS | @mql5dev
β€18π€©12π9π₯9π1πΎ1
This article shows how to build market-pattern models in MetaTrader 5 using CatBoost, focusing on a small, well-chosen feature set instead of endless hand-tuned trading rules. The goal is to reduce overfitting caused by optimizing many inequalities across symbols and periods.
A practical pipeline is outlined: generate predictors and a binary target directly from an MQL5 Expert Advisor, export samples to CSV, train CatBoost via a standalone exe (no Python/R), then run the trained model in MT5 using a CatBoost interpreter class.
Feature engineering emphasizes context: time features, price position vs. key levels, volatility, and oscillator values across multiple timeframes, sampled at several bar offsets to capture dynamics. The baseline signal is a simple MA-cross trend entry; ML is used to filter false entries in flat markets while keeping implementation ac...
π Read | Quotes | @mql5dev
A practical pipeline is outlined: generate predictors and a binary target directly from an MQL5 Expert Advisor, export samples to CSV, train CatBoost via a standalone exe (no Python/R), then run the trained model in MT5 using a CatBoost interpreter class.
Feature engineering emphasizes context: time features, price position vs. key levels, volatility, and oscillator values across multiple timeframes, sampled at several bar offsets to capture dynamics. The baseline signal is a simple MA-cross trend entry; ML is used to filter false entries in flat markets while keeping implementation ac...
π Read | Quotes | @mql5dev
β€21π15π€©9π₯8πΎ2π1
Mean reversion triggers can be gated by a convergence indicator count to reduce noise. This setting defines how many independent signals must align before a reversion event is allowed to fire.
A lower threshold such as 5 increases trade frequency and can react earlier, but typically raises the false-positive rate in ranging conditions with weak confirmation.
A higher threshold such as 9 is more selective and may improve signal quality, but can delay entries and miss shorter reversals. Practical selection depends on symbol volatility, timeframe, and the number and correlation of indicators feeding the convergence check.
π Read | Forum | @mql5dev
A lower threshold such as 5 increases trade frequency and can react earlier, but typically raises the false-positive rate in ranging conditions with weak confirmation.
A higher threshold such as 9 is more selective and may improve signal quality, but can delay entries and miss shorter reversals. Practical selection depends on symbol volatility, timeframe, and the number and correlation of indicators feeding the convergence check.
π Read | Forum | @mql5dev
β€17π15π€©14π₯12π1
A refreshed design-oriented market price view has been released, focused on clearer trend visibility and a cleaner chart presentation.
Deployment requires adding a bitmap asset. Download Mr.Wave.zip, extract surfer.bmp, and place it in the platformβs Images directory so the interface renders as intended.
If the image is missing or stored in a different path, the UI will fall back to a blank placeholder or fail to display the visual element, which can lead to inconsistent layout across installations.
π Read | Quotes | @mql5dev
Deployment requires adding a bitmap asset. Download Mr.Wave.zip, extract surfer.bmp, and place it in the platformβs Images directory so the interface renders as intended.
If the image is missing or stored in a different path, the UI will fall back to a blank placeholder or fail to display the visual element, which can lead to inconsistent layout across installations.
π Read | Quotes | @mql5dev
π20β€14π₯11π€©11π1
Spread Monitor is a lightweight information indicator for MetaTrader 5 that shows the current spread in pips in real time.
The data is presented as a compact on-chart panel with colour-coded status markers and a level bar for quick visual assessment.
Designed for low overhead and continuous monitoring, it helps track spread changes during varying liquidity conditions and around news-driven volatility.
π Read | CodeBase | @mql5dev
The data is presented as a compact on-chart panel with colour-coded status markers and a level bar for quick visual assessment.
Designed for low overhead and continuous monitoring, it helps track spread changes during varying liquidity conditions and around news-driven volatility.
π Read | CodeBase | @mql5dev
β€28π23π€©19π₯13π1
Market structure can be quantified by tracking sequences of higher highs/higher lows or lower highs/lower lows, and flagging when that pattern changes. This indicator applies fixed swing rules and prints non-repainting labels.
Swing highs/lows are confirmed only after N candles close to the right (default N=5), so markings appear with a delay and never shift. Each confirmed swing is classified as HH/LH versus the prior swing high, and HL/LL versus the prior swing low.
Break logic supports BOS and CHoCH. BOS is triggered when a candle closes beyond the last swing in the current trend direction and is drawn as a dashed line. CHoCH is triggered when a candle closes beyond the last swing against the active trend and is drawn as a solid line. Break detection can use close (default) or wick.
Inputs include swing strength, bars to scan (default 3000), disp...
π Read | CodeBase | @mql5dev
Swing highs/lows are confirmed only after N candles close to the right (default N=5), so markings appear with a delay and never shift. Each confirmed swing is classified as HH/LH versus the prior swing high, and HL/LL versus the prior swing low.
Break logic supports BOS and CHoCH. BOS is triggered when a candle closes beyond the last swing in the current trend direction and is drawn as a dashed line. CHoCH is triggered when a candle closes beyond the last swing against the active trend and is drawn as a solid line. Break detection can use close (default) or wick.
Inputs include swing strength, bars to scan (default 3000), disp...
π Read | CodeBase | @mql5dev
β€31π20π₯13π€©11π¨βπ»3π2π1
Multi-period indicators with shifted lines require converting the shift into the current chartβs bar scale. A 1-bar shift on H4 becomes 4 bars on H1, and buffer copying must start from a shift-adjusted reference index to align values correctly.
Library updates: buffer shift setters now allow shifts on calculated buffers, and calculated buffer copy uses the line shift with an inverted sign to select the correct source start. Indicator factory methods (MA/AMA/DEMA/TEMA/VIDYA/Bands/Alligator, etc.) compute shiftBars = shift * periodBarRatio, pass that to the native handle, and apply the same shift to drawn and calculated buffers.
Common logic was consolidated: standard line types were normalized across indicators, universal preparation/clearing paths were reduced to 1/2/3-line cases, and a buffer-clear routine prevents artefacts from inactive indicators...
π Read | AppStore | @mql5dev
Library updates: buffer shift setters now allow shifts on calculated buffers, and calculated buffer copy uses the line shift with an inverted sign to select the correct source start. Indicator factory methods (MA/AMA/DEMA/TEMA/VIDYA/Bands/Alligator, etc.) compute shiftBars = shift * periodBarRatio, pass that to the native handle, and apply the same shift to drawn and calculated buffers.
Common logic was consolidated: standard line types were normalized across indicators, universal preparation/clearing paths were reduced to 1/2/3-line cases, and a buffer-clear routine prevents artefacts from inactive indicators...
π Read | AppStore | @mql5dev
β€35π20π€©14π₯13π2
A new indicator package is available featuring a βGood Tendency Estimatorβ combined with coloured candlesticks. The estimator is designed to quantify directional bias and highlight potential transitions in trend conditions, while the candle colouring provides a fast visual filter for momentum and regime changes.
Typical usage focuses on aligning entries with the estimatorβs direction and using colour shifts as confirmation or early warning. Key points to validate during testing include behaviour in low-volatility ranges, sensitivity to parameter changes, repainting risks, and performance across symbols and timeframes.
π Read | Freelance | @mql5dev
Typical usage focuses on aligning entries with the estimatorβs direction and using colour shifts as confirmation or early warning. Key points to validate during testing include behaviour in low-volatility ranges, sensitivity to parameter changes, repainting risks, and performance across symbols and timeframes.
π Read | Freelance | @mql5dev
β€17π10π₯6π€©4β‘3π2
Perplexity AI is being used to accelerate development of rule-based trading systems by generating code drafts, test cases, and documentation for common patterns such as trend filters, mean reversion triggers, and risk controls. Output still requires strict validation: confirm indicator math, verify order sizing, and reconcile bar indexing to avoid lookahead.
A production-ready setup typically includes deterministic backtests, walk-forward checks, and Monte Carlo analysis on execution assumptions. Logging, parameter constraints, and fail-safe handling for connectivity and rejected orders are mandatory.
AI assistance can reduce iteration time, but strategy quality remains dependent on data hygiene, robust statistics, and disciplined change control.
π Read | Signals | @mql5dev
A production-ready setup typically includes deterministic backtests, walk-forward checks, and Monte Carlo analysis on execution assumptions. Logging, parameter constraints, and fail-safe handling for connectivity and rejected orders are mandatory.
AI assistance can reduce iteration time, but strategy quality remains dependent on data hygiene, robust statistics, and disciplined change control.
π Read | Signals | @mql5dev
β€23π7π€©4π₯3π2
Mistral Trend Candles color-code trend state using Hull MA slope and an ADX regime filter.
Green marks a confirmed uptrend when the slope is above the configured threshold and ADX indicates a trend regime. Red marks a confirmed downtrend under the same conditions.
In weak or lateral markets, candles retain the last confirmed trend color to keep continuous green/red zones for faster visual reading.
The logic is non-repainting: closed candles keep their final color. Only the currently forming candle can change until close.
Rendering uses chart objects placed above native candles, fully covering them.
For M1βM5, lowering ADX_TrendMin to ~18β19 can improve responsiveness. Higher timeframes typically need a higher ADX_TrendMin. HMA_Period and Slope_MinATR control reactivity and noise tolerance.
π Read | AlgoBook | @mql5dev
Green marks a confirmed uptrend when the slope is above the configured threshold and ADX indicates a trend regime. Red marks a confirmed downtrend under the same conditions.
In weak or lateral markets, candles retain the last confirmed trend color to keep continuous green/red zones for faster visual reading.
The logic is non-repainting: closed candles keep their final color. Only the currently forming candle can change until close.
Rendering uses chart objects placed above native candles, fully covering them.
For M1βM5, lowering ADX_TrendMin to ~18β19 can improve responsiveness. Higher timeframes typically need a higher ADX_TrendMin. HMA_Period and Slope_MinATR control reactivity and noise tolerance.
π Read | AlgoBook | @mql5dev
β€14π11π€©4π2π¨βπ»2
DeepSeek Quantum Apex Color is a chart-based indicator intended to visualize the dominant trend while reducing noise through a rules-based filter stack.
Regime filtering is driven by ADX. Trend-following logic is active only when directional strength exceeds a threshold (default >20), limiting signals during sideways conditions.
Momentum and exhaustion checks combine RSI and Z-Score. RSI provides directional bias (RSI >50 long, <50 short), while Z-Score measures price deviation from a moving average to reject statistical outliers and reduce early entries.
Signal history is computed on the last closed bar (Bar 1) to avoid repainting and keep backtest results consistent.
π Read | Forum | @mql5dev
Regime filtering is driven by ADX. Trend-following logic is active only when directional strength exceeds a threshold (default >20), limiting signals during sideways conditions.
Momentum and exhaustion checks combine RSI and Z-Score. RSI provides directional bias (RSI >50 long, <50 short), while Z-Score measures price deviation from a moving average to reject statistical outliers and reduce early entries.
Signal history is computed on the last closed bar (Bar 1) to avoid repainting and keep backtest results consistent.
π Read | Forum | @mql5dev
β€17π15π₯3π€©2π2π€1
A trend-following trading system built around OpenAI models typically separates signal generation from execution and risk controls. Market data is normalized into features, prompts are constrained to structured outputs, and model responses are treated as probabilistic inputs rather than deterministic rules.
Key design points include strict data boundaries to prevent leakage, reproducible backtests with walk-forward validation, and hard limits on position sizing, leverage, and drawdown. Execution should rely on deterministic order logic, while the model is limited to regime classification, filtering, or parameter selection.
Operational requirements include latency and rate-limit handling, audit logs of inputs and outputs, and continuous monitoring for drift. Any deployment should include fail-closed behavior and clear rules for disabling automation un...
π Read | NeuroBook | @mql5dev
Key design points include strict data boundaries to prevent leakage, reproducible backtests with walk-forward validation, and hard limits on position sizing, leverage, and drawdown. Execution should rely on deterministic order logic, while the model is limited to regime classification, filtering, or parameter selection.
Operational requirements include latency and rate-limit handling, audit logs of inputs and outputs, and continuous monitoring for drift. Any deployment should include fail-closed behavior and clear rules for disabling automation un...
π Read | NeuroBook | @mql5dev
β€21π13π€©8π₯2π2
A source text is required to generate the post. Only βby Grok AIβ was provided, which is not enough to rewrite into an 800-character technical news-style update.
Send the full text to convert, and include any constraints such as platform (X/LinkedIn), product/topic, and whether company or project names must be kept or removed.
π Read | Forum | @mql5dev
Send the full text to convert, and include any constraints such as platform (X/LinkedIn), product/topic, and whether company or project names must be kept or removed.
π Read | Forum | @mql5dev
β€20π11π₯9π€©6π€‘4π€3π2
Spread Monitor is a lightweight information indicator for MetaTrader 5 focused on real-time spread visibility.
It shows the current spread in pips along with Bid and Ask values. The display uses configurable color states (green, yellow, red) to reflect low, medium, and high spread conditions. Language support is available in Russian and English. The UI is limited to a single text panel to keep chart rendering clean.
Key settings include language selection, X/Y offsets for panel placement, MidThreshold and HighThreshold in points, per-state colors (ColorLow/ColorMid/ColorHigh), and font size.
Typical use is spread verification before order placement, especially around news releases and during low-liquidity sessions where execution costs can change quickly.
π Read | NeuroBook | @mql5dev
It shows the current spread in pips along with Bid and Ask values. The display uses configurable color states (green, yellow, red) to reflect low, medium, and high spread conditions. Language support is available in Russian and English. The UI is limited to a single text panel to keep chart rendering clean.
Key settings include language selection, X/Y offsets for panel placement, MidThreshold and HighThreshold in points, per-state colors (ColorLow/ColorMid/ColorHigh), and font size.
Typical use is spread verification before order placement, especially around news releases and during low-liquidity sessions where execution costs can change quickly.
π Read | NeuroBook | @mql5dev
β€18π12π₯7π€©7π1
This EA builds signals on a classic two-brick Renko reversal. Oscillators update only on completed bricks, with one active mode: RSI Re-entry, RSI Midline, MACD Signal, or MACD Zero. RSI uses Wilder smoothing; MACD is EMA-diff with an SMA signal line. Periods count completed bricks. Multi-brick completion in one tick updates per brick, but only the last brick can trigger an entry. Orders execute at market quotes; blocked signals are not queued.
Entry is blocked if a position or order already exists for the symbol/Magic. Exits rely on virtual SL/TP or a holding-time limit; opposite signals do not close positions. A brick-based cooldown applies after exit; spread-to-brick filtering affects entries only.
A included test example reports XAUUSD M1 real-tick backtest results (JanβOct 2026): 178 trades, PF 1.49, max DD 5.99%, net profit $2,348.57. Parameters were chos...
π Read | VPS | @mql5dev
Entry is blocked if a position or order already exists for the symbol/Magic. Exits rely on virtual SL/TP or a holding-time limit; opposite signals do not close positions. A brick-based cooldown applies after exit; spread-to-brick filtering affects entries only.
A included test example reports XAUUSD M1 real-tick backtest results (JanβOct 2026): 178 trades, PF 1.49, max DD 5.99%, net profit $2,348.57. Parameters were chos...
π Read | VPS | @mql5dev
π16β€15π₯11π1π€©1
A Risk of Ruin script estimates the probability of hitting a defined drawdown floor before a strategyβs edge shows up. It reads closed trades from account history, converts each result into an R-multiple (net P&L divided by average absolute loss), then runs a bootstrap simulation.
Each simulated path resamples historical R-multiples with replacement, applies a user-selected risk % per trade, compounds equity trade by trade, and flags βruinβ if equity drops below the configured floor. The method is independent of the original traded lot sizes; only the win/loss distribution and current risk settings drive outcomes.
Reported metrics include chance of hitting the floor, chance of ending profitable, median ending balance, and the 95% range of final balances. Median is used to reduce distortion from long-tail winners. Higher risk per trade typically increases th...
π Read | AppStore | @mql5dev
Each simulated path resamples historical R-multiples with replacement, applies a user-selected risk % per trade, compounds equity trade by trade, and flags βruinβ if equity drops below the configured floor. The method is independent of the original traded lot sizes; only the win/loss distribution and current risk settings drive outcomes.
Reported metrics include chance of hitting the floor, chance of ending profitable, median ending balance, and the 95% range of final balances. Median is used to reduce distortion from long-tail winners. Higher risk per trade typically increases th...
π Read | AppStore | @mql5dev
π15β€10π₯6π€©2π2
Prop Firm Guard is a risk-control Expert Advisor designed to enforce two common prop firm constraints: daily loss limit and maximum drawdown. It does not open trades and can run alongside manual trading or other EAs, attached to any single chart while monitoring the entire account.
Equity is checked every second. When a limit is reached, it closes all open positions, deletes pending orders, and can optionally close any new trade opened while the breach persists. Alerts and optional push notifications are supported, with all actions recorded in the Experts log.
Daily loss can reference either balance or the higher of balance and equity at the daily reset. Maximum drawdown supports static or trailing modes, with an optional safety margin to act before the threshold. State is persisted across restarts and reconnections, and the chart displays live usage plus n...
π Read | CodeBase | @mql5dev
Equity is checked every second. When a limit is reached, it closes all open positions, deletes pending orders, and can optionally close any new trade opened while the breach persists. Alerts and optional push notifications are supported, with all actions recorded in the Experts log.
Daily loss can reference either balance or the higher of balance and equity at the daily reset. Maximum drawdown supports static or trailing modes, with an optional safety margin to act before the threshold. State is persisted across restarts and reconnections, and the chart displays live usage plus n...
π Read | CodeBase | @mql5dev
β€11π9π€©6π₯3
Failed Breakout Detector flags range breakouts and highlights those that reverse back into the prior range. It is a price-action utility focused on identifying trapped breakout traders, not forecasting direction.
The range is defined as the highest high and lowest low of the last N bars (default 12), filtered by range height (0.5β4.0 ATR). A breakout requires a close outside the range by an ATR-based buffer (default 0.1 ATR) and is marked with a blue dot.
If any of the next K bars (default 3) closes back inside the range, the breakout is classified as failed: red arrow for failed breakout up, green arrow for failed breakout down. If price holds outside for K bars, the breakout is confirmed and no further marks are added. Calculations use closed bars only, so signals do not repaint.
A corner label counts failed breakouts for the current day (up/down)...
π Read | AppStore | @mql5dev
The range is defined as the highest high and lowest low of the last N bars (default 12), filtered by range height (0.5β4.0 ATR). A breakout requires a close outside the range by an ATR-based buffer (default 0.1 ATR) and is marked with a blue dot.
If any of the next K bars (default 3) closes back inside the range, the breakout is classified as failed: red arrow for failed breakout up, green arrow for failed breakout down. If price holds outside for K bars, the breakout is confirmed and no further marks are added. Calculations use closed bars only, so signals do not repaint.
A corner label counts failed breakouts for the current day (up/down)...
π Read | AppStore | @mql5dev
β€12π12π₯5π€©3β‘2
XlsxWriter.mqh generates valid .xlsx workbooks directly from MQL5. No DLL dependency and no local Excel installation are required. Output is a ZIP container of Office Open XML parts, stored uncompressed with CRC-32 per part.
Supports multi-sheet workbooks with text, numbers, and proper Excel date serials for correct sorting and filtering. Each sheet can be created with a bold header row, frozen panes, and auto-filters. Column widths are configurable, with eight built-in number formats: date-time, date, month, money, integer, price (5 decimals), percent, and 2-decimal.
Unicode text is handled as UTF-8. Designed to run in scripts, Expert Advisors, and the Strategy Tester, including writing to FILE_COMMON from OnTester.
Example: ExportDealsToXlsx.mq5 exports account history deals into a Deals sheet and aggregates daily results into a Daily sheet. Place XlsxWr...
π Read | Calendar | @mql5dev
Supports multi-sheet workbooks with text, numbers, and proper Excel date serials for correct sorting and filtering. Each sheet can be created with a bold header row, frozen panes, and auto-filters. Column widths are configurable, with eight built-in number formats: date-time, date, month, money, integer, price (5 decimals), percent, and 2-decimal.
Unicode text is handled as UTF-8. Designed to run in scripts, Expert Advisors, and the Strategy Tester, including writing to FILE_COMMON from OnTester.
Example: ExportDealsToXlsx.mq5 exports account history deals into a Deals sheet and aggregates daily results into a Daily sheet. Place XlsxWr...
π Read | Calendar | @mql5dev
β€15π9π₯8π€©2π¨βπ»2π1
Order blocks in SMC/ICT are typically defined as the last opposite candle before a displacement that breaks market structure. A bullish OB is the final down candle near the low of the leg that precedes a close above the last swing high. A bearish OB is the final up candle near the high of the leg that precedes a close below the last swing low. Swings are confirmed using an N-candle strength setting (default 10).
The indicator plots active OB zones as right-extended boxes (green bullish, red bearish) and tracks failures as breaker blocks (blue). Used and broken zones can be kept as grey boxes terminating at the touch/break candle for review. βUsed upβ logic is configurable: touch, 50% mitigation, or only on a closing break.
Signals are non-repainting due to closed-candle swing and break confirmation. Zones can use full candle range or body, with an optiona...
π Read | NeuroBook | @mql5dev
The indicator plots active OB zones as right-extended boxes (green bullish, red bearish) and tracks failures as breaker blocks (blue). Used and broken zones can be kept as grey boxes terminating at the touch/break candle for review. βUsed upβ logic is configurable: touch, 50% mitigation, or only on a closing break.
Signals are non-repainting due to closed-candle swing and break confirmation. Zones can use full candle range or body, with an optiona...
π Read | NeuroBook | @mql5dev
β€17π11π₯9π€©8β‘1
ICT kill zones define time windows where higher activity is expected, expressed in New York local time: Asian 20:00-00:00, London 02:00-05:00, New York 07:00-10:00, and London Close 10:00-12:00. Each session window can be customized (HH:MM-HH:MM, NY time).
A common platform issue is broker server time versus New York time, including mismatched US and EU DST switch dates. The indicator converts candles to New York time so session boxes remain aligned year-round. Server clock handling supports Auto (reads terminal GMT offset), the typical βNew York + 7hβ forex server setup (GMT+2/GMT+3 with EU DST rules), or a fixed GMT offset.
It draws each kill zone box from high to low with labels, extends finished session highs/lows until traded through, and marks the 00:00 New York open as a dashed line. It can display recent trading days, supports M1-H1, and show...
π Read | AlgoBook | @mql5dev
A common platform issue is broker server time versus New York time, including mismatched US and EU DST switch dates. The indicator converts candles to New York time so session boxes remain aligned year-round. Server clock handling supports Auto (reads terminal GMT offset), the typical βNew York + 7hβ forex server setup (GMT+2/GMT+3 with EU DST rules), or a fixed GMT offset.
It draws each kill zone box from high to low with labels, extends finished session highs/lows until traded through, and marks the 00:00 New York open as a dashed line. It can display recent trading days, supports M1-H1, and show...
π Read | AlgoBook | @mql5dev
π13β€11π₯11π€©8β‘3