MQL5 Algo Trading
528K subscribers
3.67K photos
5 videos
3.68K links
The best publications of the largest community of algotraders.

Subscribe to stay up-to-date with modern technologies and trading programs development.
Download Telegram
A volume-state candle dashboard can quantify how much activity sits behind each candle and whether the result is meaningfully bullish or bearish. It separates typical participation from unusually high or low volume, strong buy-side or sell-side effort, and special cases such as climax volume and absorption where activity is high but net price progress is limited.

A large bullish candle on high relative volume tends to support genuine buying. A small-range candle on very high volume can signal absorption and a potential turning area.

Common use cases include price-action confirmation, validating breakout participation, spotting reversal conditions near support and resistance, and fast context for intraday trading. It applies to tick volume on FX/CFDs and real volume where available in crypto, equities, and futures. It should remain a confirmation laye...

πŸ‘‰ Read | Freelance | @mql5dev
❀16πŸ‘7✍1πŸ‘Œ1
MQL5 services in MetaTrader consolidate three monetization paths for traders and developers: Signals subscriptions, a Market for EAs and utilities, and a Freelance order book. Access is integrated into the terminal, with public stats, distribution by symbols, and risk/slippage warnings supporting selection and due diligence.

Signals enable deal copying via fixed-fee subscriptions. Copy accuracy is typically higher when provider and subscriber accounts use the same broker. Providers can publish track records and monetize distribution at scale, including VPS-based execution for continuous operation.

The Market lists 20,000+ products with encrypted EX4/EX5 delivery, automated settlements, and multi-activation licensing. Built-in VPS can be hosted near broker servers to reduce latency, relevant for scalping and arbitrage.

Freelance offers structured co...

πŸ‘‰ Read | CodeBase | @mql5dev
❀41πŸ‘14πŸ‘Œ2πŸŽ‰1
Many MT5 workflows still treat each trade as isolated. In practice, instruments can move in lockstep during the same event, and multiple small positions can accumulate into a material share of equity through combined margin.

An MQL5 indicator addresses this by accepting comma-separated InpSymbols and InpLots (2–10 instruments) and generating a portfolio-style report in the Experts tab, with an optional on-chart panel. Missing symbols are added to Market Watch automatically.

Output includes a Pearson correlation matrix based on bar-to-bar returns over a configurable timeframe and lookback, plus the average pairwise correlation as a diversification proxy. It also estimates combined margin for all listed positions in account currency and computes deposit load as a percentage of equity, triggering a one-time alert when InpMarginWarnPct is exceeded. InpRe...

πŸ‘‰ Read | Freelance | @mql5dev
❀29πŸ‘5πŸ‘Œ1
A lightweight trading prototype is released around an interactive supply and demand zone management framework. It is not positioned as a complete methodology or a finished automated system, but as a reference implementation combining zone structure, validation logic, trade management, and market context checks.

Configuration covers automation controls, execution identifiers, spread and volatility protection, risk-reward targets, optional trailing stops, higher-timeframe trend and momentum filters, plus approach-context rules that classify controlled versus aggressive moves into zones.

Core emphasis is the zone lifecycle model: each qualified zone tracks quality metrics, interaction history, testing, and invalidation. A detailed logging layer records zone formation and state transitions to support review, research, and external analytics pipelines.

Included...

πŸ‘‰ Read | Quotes | @mql5dev
❀22πŸ‘4πŸ‘Œ1
Value Area Levels builds a price-volume distribution from lower-timeframe candles and outputs core market profile levels: VAH (Value Area High), POC (Point of Control), VAL (Value Area Low). It also provides developing levels (DVAH, DPOC, DVAL) and previous completed levels (PDVAH, PDPOC, PDVAL).

Profiles can be calculated on D1, W1, MN1, H4, H1, or other periods independently of the chart timeframe. Profile construction can use a separate source timeframe such as M15 for a D1 profile, improving granularity at the cost of additional processing.

Developing levels update as new data arrives, while completed historical profiles remain fixed until a new period starts or a full refresh. The tool supports tick volume and real volume, with automatic fallback to tick volume when real volume is missing or zero. Value Area percentage is configurable (70% by de...

πŸ‘‰ Read | Forum | @mql5dev
❀28πŸ‘7⚑1πŸ‘Œ1
Mean returns often mislead when comparing two trading periods because trade outcomes are skewed, heavy-tailed, and sensitive to rare gap or slippage losses. A Mann-Whitney U test avoids distribution assumptions by comparing pooled ranks, making outliers influence only their rank, not the mean and variance.

The article implements this missing MQL5 capability: CMannWhitneyTest computes ranks with tie correction, U, z-score, and p-value using a precise normal CDF approximation. A demo pulls per-trade returns from history by filtering only closing deals (DEAL_ENTRY_OUT) and normalizing profit by volume and tick value.

Results are paired with a dual box-and-whisker plot on a shared axis bounded by Tukey fences, keeping typical behavior readable while still marking outliers.

πŸ‘‰ Read | AlgoBook | @mql5dev
❀29πŸ‘6πŸ‘Œ1
MetaTrader 5’s built-in Expert Advisors are more useful than they look because the full MQL5 source is included. This walkthrough uses BullishBearish MeetingLines Stoch.mq5 as a practical template: it detects Three White Soldiers/Three Black Crows, confirms with Stochastic, then applies fixed SL/TP and a bar-based holding period.

Two customization paths are outlined. First, optimize exposed inputs in Strategy Tester (Stochastic periods, SL/TP, candle-body sensitivity, duration) to establish a baseline and reduce loss streaks without touching code.

Second, modify logic safely by cloning the EA and compiling a new build: externalize hard-coded Stochastic thresholds into inputs for proper optimization and debugging, then add an optional Moving Average trend filter using indicator handles and CopyBuffer on the last closed bar to avoid repainting. This reduces coun...

πŸ‘‰ Read | VPS | @mql5dev
❀26πŸ‘13πŸ”₯5πŸ‘Œ3πŸ‘¨β€πŸ’»2
An institutional-grade order flow and footprint chart indicator has been ported from Pine Script to MQL5, using lower timeframe volume to rebuild higher timeframe bars and compute buy/sell delta by price level. The implementation includes automatic timeframe selection, POC highlighting, stacked imbalances, absorption detection, and Unfinished Business tracking with live mitigation, plus real-time alert conditions.

Rendering is optimized for MT5 chart behavior. Footprint columns scale with zoom, fonts auto-resize and hide when unreadable, and background candles can be disabled with safe restoration on removal. CPU load is controlled via a configurable lookback window, while alerts are evaluated only on closed bars to avoid tick-driven noise.

Deployment follows standard MT5 workflow via MetaEditor as a custom indicator, with tuning for spacing, font...

πŸ‘‰ Read | AlgoBook | @mql5dev
❀24πŸ‘9πŸ‘Œ1🀣1
A trading signal model was tested using the Foster–Stewart criterion to estimate trend direction and strength, with reversal expected after the indicator reaches a defined threshold.

Separate parameter sets were used for buy and sell entries to reflect asymmetric upside/downside behavior. Each side applied three trend horizons: intraday, intra-week, and intra-month.

Risk controls used automatic stop-loss and take-profit derived from price levels. A best-price filter reduced exposure by allowing new buys only below the open price of existing buys, and new sells only above existing sells.

Optimisation was performed on EURUSD H1 from 2025-01-01 to 2026-05-31, with parameters selected independently per signal. Inputs include Slippage, PeriodBuy/PeriodSell (>=3), and LevelBuy/LevelSell (<= Period-1). The objective was criterion analysis rather than sta...

πŸ‘‰ Read | Forum | @mql5dev
❀19πŸ‘9πŸ‘Œ1
An intraday Asian-range indicator tracks the session high and low while the configured window is active, with the dashboard showing SESSION FORMING. After the session ends, levels are fixed and status is classified as Range Intact, Bullish Breakout, Bearish Breakout, Bullish Then Bearish, Bearish Then Bullish, or Both Sides Broken.

Breakout confirmation supports two modes. Closed-candle confirmation requires a candle close beyond the Asian High/Low and reduces wick-driven false signals. Wick confirmation triggers on a high/low breach and is earlier but less reliable.

Applicable to markets with clear session transitions: major FX pairs, JPY/AUD/NZD crosses, XAUUSD, and liquid indices. M15 is the default for signal quality; M5 is for entry refinement; M30 is slower but stronger; M1 is mainly noise.

Operational notes: align session times to broker serv...

πŸ‘‰ Read | Quotes | @mql5dev
❀14πŸ‘7πŸ‘Œ1
Static spread filters miss context: the same 3-pip spread can be a rare spike on EURUSD but normal on GBPJPY. This design replaces fixed limits with a rolling, per-symbol spread distribution, blocking trades only when the live spread is expensive relative to recent behavior.

CSpreadHistogram maintains a constant-time rolling histogram via bin counters plus a circular buffer for eviction, enabling percentile ranks and thresholds without sorting. A WARMING state prevents false alarms until enough ticks are collected, while GREEN/YELLOW/RED map to normal, elevated, and blocked execution conditions.

CSpreadMonitor orchestrates multiple symbols using SYMBOL_SPREAD for precision, exposing IsOrderAllowed() and live stats (median, rank, alert threshold). A CCanvas-based dashboard renders a summary table and per-symbol histogram on a timer, keeping tick-path logi...

πŸ‘‰ Read | NeuroBook | @mql5dev
❀13πŸ‘4πŸŽ‰1πŸ‘Œ1
This article replaces magnitude-based indicators with an ordinal view of price: each rolling window is reduced to the rank order of its values, preserving local shape while discarding scale and drift. The resulting ordinal patterns are stable under monotonic transforms and less sensitive to small noise.

Patterns are mapped to unique IDs using Lehmer code, enabling any embedding dimension d. Consecutive pattern IDs form a directed, weighted transition network (a Markov chain over shapes), stored efficiently and guarded by strict minimum-data checks and flat-window handling.

From this network, the implementation extracts bounded complexity metrics, including normalized permutation entropy as a market-efficiency gauge and time-irreversibility as a regime detector, then delivers them as MT5 indicators. A key takeaway is practical tuning: initial FX test...

πŸ‘‰ Read | AppStore | @mql5dev
❀13πŸ‘5πŸ‘Œ2πŸ‘€1
ML trading models often fail at the worst time because they are not interpretable. Backtests can look stable, then regime shifts make LSTM, SVM, Random Forest, or deep nets hard to diagnose or fix under pressure.

A practical alternative is symbolic modeling: train a regular model, then extract an explicit equation. With polynomial features plus Ridge for price and LogisticRegression for direction, SymPy can convert coefficients into readable formulas like f(RSI, MACD, volatility, interactions).

Once an equation exists, standard math tools apply: sensitivity via derivatives, stability checks via Hessians, and controlled edits when market structure changes. Tradeoffs remain: feature explosion, compute cost, noise sensitivity, and reduced clarity as expressions grow.

πŸ‘‰ Read | AppStore | @mql5dev
❀11πŸ‘5⚑1πŸ‘Œ1
In MetaTrader 5 build 6090, we've conducted an extensive analysis and audit of the platform's code, resolved identified issues, and implemented internal updates aimed at enhancing the stability, reliability, and performance of MetaTrader 5.

In addition, we've introduced several improvements to the desktop version of the platform:

β€’ Expanded the set of MCP methods available to the AI Assistant. In particular, it can now add indicators to charts and get a list of available indicators with their parameters.
β€’ Fixed bugs and improved built-in AI Assistant functionality.
β€’ Disabled AI Assistant support on Windows 7, as this OS version is outdated and does not support the necessary functions.
β€’ Fixed Windows 7 support. If the previous version of the platform does not launch, do not uninstall it β€” simply install the new version over the existing one. All settings will be preserved.
β€’ Fixed Signals showcase rendering.
β€’ Updated Python integration package.
β€’ Updated interface translations.

Discuss the update...
❀13πŸ‘9