uz
Feedback
MQL5 Algo Trading

MQL5 Algo Trading

Kanalga Telegram’da o‘tish

The best publications of the largest community of algotraders. Subscribe to stay up-to-date with modern technologies and trading programs development.

Ko'proq ko'rsatish

📈 Telegram kanali MQL5 Algo Trading analitikasi

MQL5 Algo Trading (@mql5dev) Ingliz til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 507 425 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 155-o'rinni va Birlashgan Qirollik mintaqasida 5-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 507 425 obunachiga ega bo‘ldi.

03 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 10 171 ga, so‘nggi 24 soatda esa 635 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 4.00% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 1.99% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 20 295 marta ko‘riladi; birinchi sutkada odatda 10 085 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 37 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent indicator, chart, mql5, candle, range kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
The best publications of the largest community of algotraders. Subscribe to stay up-to-date with modern technologies and trading programs development.

Yuqori yangilanish chastotasi (oxirgi ma’lumot 04 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

507 425
Obunachilar
+63524 soatlar
+2 0597 kunlar
+10 17130 kunlar
Postlar arxiv
This article connects MT5 replication/simulation work to practical SQL use via SQLite, arguing that database features often r
This article connects MT5 replication/simulation work to practical SQL use via SQLite, arguing that database features often replace large amounts of custom MQL5 state-handling code for orders and positions. It contrasts SQLite’s small set of storage classes with MySQL/PostgreSQL’s extensive type systems. The key takeaway is SQLite’s flexible typing: columns don’t need rigid sizes, reducing schema maintenance while staying compatible with standard SQL patterns. The example shifts from storing raw symbol strings in every quote record to a relational design using primary/foreign keys, so historical data remains stable even when tickers change. This lays groundwork for a command and order log suitable for strategy research and automation. 👉 Read | NeuroBook | @mql5dev

This article shows how to build a candle/bar counter in MT5 without harming terminal performance. The key is treating OnCalcu
This article shows how to build a candle/bar counter in MT5 without harming terminal performance. The key is treating OnCalculate as a high-frequency event: it can fire on every tick, so detection of new bars must be constant-time and avoid unnecessary data access. Instead of comparing datetime values from the Time[] series, the article favors using rates_total and prev_calculated to detect when a new bar appears. This integer-based check is simpler and faster, and it keeps indicators responsive even on volatile symbols. It then shifts to chart objects: everything drawn is an object, either chart-coordinate or screen-coordinate based. A practical example uses an indicator to create and update a Linear Regression Channel by setting anchor points, and removes it on deinit. Updating the object on each recalculation produces a highly reactive, self-adjus... 👉 Read | Freelance | @mql5dev

Algorithmic execution by large participants can create time gaps: price crosses a zone fast enough that the chart shows minim
Algorithmic execution by large participants can create time gaps: price crosses a zone fast enough that the chart shows minimal time-in-zone and low follow-through activity. A MetaTrader 5 indicator concept formalizes this via a volume-based impact coefficient (VIC), emphasizing high volume plus short traversal time. Detection uses an adaptive price grid, zone forensics over historical bars, and strict sufficiency checks on absence duration, max stay time, speed, and volume impact. Zones are tracked with dynamic “memory strength” using decay plus session cyclicality, and marked closed when fully filled. Suggested tuning differs by asset class: FX lower thresholds, stocks session-aware, crypto higher thresholds with smaller minimum bars. Signals include boundary rebounds, full fills, and failed fill reversals. 👉 Read | Freelance | @mql5dev

Nadaraya and Watson (1964) proposed estimating values as a locally weighted average using a kernel as the weighting function.
Nadaraya and Watson (1964) proposed estimating values as a locally weighted average using a kernel as the weighting function. This approach produces a non-causal, recalculating smoothed series. The output can be treated as an estimate of the underlying trend component, not as a forward-looking projection. No extrapolation is applied, specifically to avoid misinterpretation as predictive signaling. The implementation follows prior work by luxAlgo adapted across trading platforms. Operational guidance: use for discretionary assessment only. Avoid using the output as a trigger in any automated or rule-based signaling mode. 👉 Read | Forum | @mql5dev

DEA (Dolphin Echolocation Algorithm) is a population-based optimizer aimed at trading-robot parameter tuning. Agents evaluate
DEA (Dolphin Echolocation Algorithm) is a population-based optimizer aimed at trading-robot parameter tuning. Agents evaluate candidates, broadcast influence within an effective radius Re, and build an accumulated fitness (AF) prospectivity map. PP (predetermined probability) increases over epochs using Power to shift from wider sampling to stronger reuse of high-quality regions. A key detail is AF reset for the current best location, which reduces early collapse into a single point and keeps neighborhood probing active. Re controls locality: small Re tightens search, mid values balance, large Re spreads influence but reduces precision. Implementation notes cover S_Alternative and S_Coordinate storage, plus a DEA class with Init/Moving/Revision and internal routines for PP, AF, best-location reset, and next-location selection. Memory cost scales with... 👉 Read | Freelance | @mql5dev

This part of the market simulation series shifts from basic SELECT queries to the core of relational design: primary and fore
This part of the market simulation series shifts from basic SELECT queries to the core of relational design: primary and foreign keys, used to preserve data integrity and prevent duplicate or inconsistent records. It also recommends moving beyond MetaEditor’s minimal SQLite support when learning database concepts, using DB Browser for SQLite to edit, save, and run SQL scripts in a database-focused environment. The article ties SQL back to algorithmic trading infrastructure: MT5 tools can reach databases over sockets, enabling scalable data flows between terminals, Excel, and server-hosted SQL. The key takeaway is to rely on SQL and proper schema constraints instead of reinventing database behavior in code, keeping systems reusable across applications. 👉 Read | Calendar | @mql5dev

The article contrasts “static” MT5 indicators built with compilation directives versus “dynamic” ones configured at runtime t
The article contrasts “static” MT5 indicators built with compilation directives versus “dynamic” ones configured at runtime through standard library calls. Removing directive-based plot definitions compiles but produces no output until buffers, plots, and color palettes are explicitly set in OnInit. A key takeaway: runtime configuration enables changing visual behavior without recompiling, but it can hide options in the indicator dialog until after the first attach, and user color changes may reset when the chart is rebuilt (e.g., timeframe change). The approach becomes practical when an indicator must adapt to chart modes. By reading the current mode via ChartGetInteger (ENUM_CHART_MODE), the code can switch drawing logic so Inside Bar rendering matches candles, bars, or line charts, improving robustness across chart types. 👉 Read | Docs | @mql5dev

A MetaTrader 4 release is available for the previously published MetaTrader 5 implementation of the Nadaraya-Watson estimator
A MetaTrader 4 release is available for the previously published MetaTrader 5 implementation of the Nadaraya-Watson estimator. The MT4 version mirrors the MT5 logic, focusing on kernel-based smoothing for price series and producing the same type of output expected from the original indicator. Recommendations remain unchanged from the MT5 release, including the same usage conditions, parameter considerations, and limits noted in the prior publication. 👉 Read | NeuroBook | @mql5dev

A lightweight chart indicator displays a configurable info panel with spread statistics updated on every tick. The panel show
A lightweight chart indicator displays a configurable info panel with spread statistics updated on every tick. The panel shows current spread in points and pips, plus session minimum, session maximum, and a running arithmetic mean since attachment. Current spread output switches between two user-defined colors based on a wide-spread threshold in points. This supports quick identification of elevated execution costs during events such as session opens, scheduled news, or low-liquidity windows. Configuration includes normal and wide colors, threshold level, font size, and X/Y offsets for placement. Implementation uses OBJ_LABEL only and does not draw indicator buffers, keeping the price chart unchanged. Statistics reset on reattach or terminal restart, and the tool works across all symbols and timeframes. 👉 Read | AlgoBook | @mql5dev

An on-chart XAUUSD/Gold dashboard for MetaTrader 5 focused on learning, observation, and fast market context. It does not ope
An on-chart XAUUSD/Gold dashboard for MetaTrader 5 focused on learning, observation, and fast market context. It does not open or close trades, manage positions, or send signals. All values should be treated as informational market data. The panel aggregates standard platform indicators and symbol info into a compact view: live spread (points), H1 ATR volatility, H1 EMA trend bias, H4 EMA trend filter, H1 RSI state, daily range (D1 high-low), a basic session label, and optional standard/cent account text detection. Three visual themes and a configurable refresh timer are included. Usage is limited to attaching the indicator to an XAUUSD chart; it can be viewed on any timeframe since it reads H1/H4 internally. Parameters cover panel placement, ATR/EMA/RSI periods, low/high ATR thresholds, and a spread warning level. Educational utility only; no forecast... 👉 Read | Freelance | @mql5dev

MetaTrader 5 candles use fixed time widths, so high-activity and low-activity periods can look identical. The EquiVolume appr
MetaTrader 5 candles use fixed time widths, so high-activity and low-activity periods can look identical. The EquiVolume approach fixes this by encoding volume into candle width while keeping price range as height, making participation visible directly in the chart structure. The indicator is built in MQL5 as a separate subwindow and draws everything with rectangle objects rather than plot buffers. It auto-selects real volume when available, otherwise falls back to tick volume, keeping it broker-agnostic. Core logic: scan a lookback range to find max volume, normalize each bar’s volume to that reference, map it to a user-defined maximum width, then draw wick-range and body rectangles with bull/bear coloring. Performance is kept stable by updating existing objects, running once per new bar, and removing off-range rectangles. 👉 Read | NeuroBook | @mql5dev

Many strategy failures in live trading come from execution, not signal logic. Spread expansion, erratic tick flow, quote gaps
Many strategy failures in live trading come from execution, not signal logic. Spread expansion, erratic tick flow, quote gaps, and slippage can erase expected value, while remaining invisible on candlestick charts. This EA is built as an execution-quality filter placed between strategy rules and the market. Per symbol, it maintains tick buffers, spread history, and volatility profiles, then blocks trading unless spread, tick velocity, quote gaps, micro-volatility, and execution stability stay within thresholds. Only after conditions are stable does a liquidity sweep continuation module activate. It waits for a stop-hunt, requires noise settlement and a structure shift, then applies exposure caps, correlation limits, and equity-scaled sizing. Direction accuracy is not the objective; fill quality is. 👉 Read | CodeBase | @mql5dev

Part II extends structured logs with two internal diagnostics: a lightweight profiler that writes CSV timing summaries, and a
Part II extends structured logs with two internal diagnostics: a lightweight profiler that writes CSV timing summaries, and a minimal unit-test harness for pure trading logic. PerfMeter.mqh measures named sections, aggregates microseconds, and reports calls, total, min/max, average, and slow-call counts under a per-section threshold. The intent is stable, comparable reports across Strategy Tester runs, with clear section names and controlled sampling. TestLite.mqh runs deterministic assertions, collects all failures, and writes a plain text report. TradeMathCore.mqh isolates testable helpers such as pip/point conversion, volume normalization, stop-distance checks, and MA crossover classification. ProfilerExampleEA.mq5 profiles event-driven paths without trading; UnitTestRunner.mq5 verifies rules before longer tester passes. 👉 Read | Docs | @mql5dev

This article connects AFML-style bet sizing to a safe pyramiding engine in MetaTrader 5 by inserting a small adapter layer, C
This article connects AFML-style bet sizing to a safe pyramiding engine in MetaTrader 5 by inserting a small adapter layer, CPyramidBridge. The sizing module decides risk as a signed bet_size in [-1, 1]; the pyramid engine decides how to express that risk as multiple entries with strictly decreasing lots and a single stop that advances so total risk drops after each add-on. Five integration points replace hardcoded engine parameters with live sizing outputs: probability-calibrated initial/add-on lots (with floor-to-step logic and trade skipping when ratios collapse), a budget-based entry gate using concurrent signal occupancy, a forecast-driven add-on trigger using BetSizeDynamic, a reserve-based adaptive trailing stop using EF3M CDF, and synchronization of the sizing signal arrays when the pyramid closes to prevent concurrency overcounts. Implementation... 👉 Read | AlgoBook | @mql5dev

Multi-symbol entry logic in MQL5 often ends up in hard-coded multidimensional arrays, with limited relational state managemen
Multi-symbol entry logic in MQL5 often ends up in hard-coded multidimensional arrays, with limited relational state management and increasing maintenance risk as strategies scale. A proposed alternative is a Wizard-integrated signal class, CSignalBTreeBayesian, combining SQLite-style B-Tree indexing with a Bayesian neural network uncertainty filter. Parameters exposed to Wizard: BTreeMode (1–4), UseBayesian, MaxUncertainty. BTreeMode supports direct lookup, range scan, depth discrepancy search, or a hybrid. The BNN runs repeatable Monte Carlo passes per bar (seeded by timestamp) to produce mean and variance, rejecting trades when variance exceeds MaxUncertainty. This shifts signals from deterministic execution toward confidence-gated execution in noisy regimes. 👉 Read | Quotes | @mql5dev

Repeated trade utilities remain a common source of bugs and inconsistent behavior across MQL5 EAs. Centralizing them into inc
Repeated trade utilities remain a common source of bugs and inconsistent behavior across MQL5 EAs. Centralizing them into include modules reduces duplication and makes maintenance and reviews more predictable. A reusable positions layer typically covers position existence checks and counters with optional filters (symbol, magic, type, ticket), plus bulk close helpers including profitable/losing filters. Additional utilities return the newest or oldest position by open time for grid, pyramiding, and time-based logic. A companion orders module mirrors the same patterns for pending orders: exists, count, recent/oldest selection, and cancel routines. Positions and orders stay separate to match MT5’s object model and execution differences. A minimal SMA(10/20) crossover reversal EA demonstrates cleaner strategy code by delegating selection, counting, and clo... 👉 Read | CodeBase | @mql5dev

A two-part MQL5 series outlines a framework for portable, reusable, maintainable indicators, starting from a minimal applied-
A two-part MQL5 series outlines a framework for portable, reusable, maintainable indicators, starting from a minimal applied-price line and refactoring into a template. The first section formalizes incremental recalculation using rates_total and prev_calculated, then hardens OnCalculate for Strategy Tester batching via tester_everytick_calculate and edge cases like rates_total=1. The next steps move logic into .mqh headers and OOP modules. Applied price becomes a CAppliedPrice sub-indicator with its own buffer and onCalculate, reducing coupling. Global state is removed by introducing a root CIndicator object. Input handling is isolated using a params object pattern with a base class in headers and a derived class near the input variables to avoid leaking inputs into core modules. 👉 Read | Signals | @mql5dev

Two recent TASC articles (July and August 2021) described Moving Average Bands and Band Width as trend-following tools. The m
Two recent TASC articles (July and August 2021) described Moving Average Bands and Band Width as trend-following tools. The method tracks a shorter-term moving average relative to a longer-term moving average, rendering bands that help quantify directional bias and consolidation versus expansion. An updated implementation keeps the original logic but adds one practical parameter: the input price can be selected instead of being fixed to Close. This allows testing against Open, High, Low, Median, Typical, or Weighted prices depending on the market and timeframe. Operationally, the bands can be interpreted in a similar manner to Bollinger Bands, with band expansion and contraction used to gauge volatility regime changes while maintaining a moving-average trend framework. 👉 Read | Forum | @mql5dev

Candlestick patterns can be treated as ordered strings once each candle is encoded into a finite alphabet (e.g., bullish “AHE
Candlestick patterns can be treated as ordered strings once each candle is encoded into a finite alphabet (e.g., bullish “AHEGD”, bearish “ahegd”). This converts price-action pattern search into a permutation problem that can be exhaustively counted and generated in MQL5. Two cases are covered: permutations without repetition, computed as P(n,r)=n!/(n-r)! (or efficiently via a descending product), and permutations with repetition, computed as n^r. The article shows how quickly the search space grows as r increases, making manual pattern discovery unrealistic. An MQL5 utility is built in two parts: a calculator that validates inputs and reports counts, and generators that output all sequences as string arrays. The generators use recursive backtracking, with a “used” mask for no-repetition and free reuse for repetition, enabling systematic backtests ... 👉 Read | AppStore | @mql5dev

MMAR research in Python has covered data loading, partition scaling, Hurst extraction, spectrum fitting, cascade construction
MMAR research in Python has covered data loading, partition scaling, Hurst extraction, spectrum fitting, cascade construction, fBM generation, Monte Carlo tests, and benchmarking versus GARCH, with MMAR showing stronger results. Operational use in MetaTrader 5 requires a native MQL5 implementation. The current focus is a dependency-free library that reacts per tick and integrates with Strategy Tester without bridge processes or IPC latency. Work starts with the Partition Analysis engine in MQL5. It computes S_q(dt) across log-spaced time scales and a q-grid, runs OLS on log-log fits to obtain tau(q), estimates H via tau(q)=0 with GHE as fallback, and applies diagnostics to confirm multifractality from scaling quality and curve shape. 👉 Read | Quotes | @mql5dev