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 544 691 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 144-o'rinni va Birlashgan Qirollik mintaqasida 5-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

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

25 Avgust, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 17 701 ga, so‘nggi 24 soatda esa 589 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 2.56% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 1.56% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 13 923 marta ko‘riladi; birinchi sutkada odatda 8 490 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 31 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 26 Avgust, 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.

544 691
Obunachilar
+58924 soatlar
+4 6057 kunlar
+17 70130 kunlar
Obunachilarni jalb qilish
Avgust '26
Avgust '26
+15 425
5 kanalda
Iyul '26
+15 041
6 kanalda
Get PRO
Iyun '26
+9 701
6 kanalda
Get PRO
May '26
+10 784
10 kanalda
Get PRO
Aprel '26
+10 664
10 kanalda
Get PRO
Mart '26
+22 886
10 kanalda
Get PRO
Fevral '26
+25 031
6 kanalda
Get PRO
Yanvar '26
+26 330
10 kanalda
Get PRO
Dekabr '25
+22 353
4 kanalda
Get PRO
Noyabr '25
+21 953
11 kanalda
Get PRO
Oktabr '25
+24 933
4 kanalda
Get PRO
Sentabr '25
+19 967
5 kanalda
Get PRO
Avgust '25
+17 145
4 kanalda
Get PRO
Iyul '25
+18 909
10 kanalda
Get PRO
Iyun '25
+18 135
9 kanalda
Get PRO
May '25
+17 357
2 kanalda
Get PRO
Aprel '25
+19 677
0 kanalda
Get PRO
Mart '25
+19 081
0 kanalda
Get PRO
Fevral '25
+18 865
1 kanalda
Get PRO
Yanvar '25
+19 658
0 kanalda
Get PRO
Dekabr '24
+17 881
0 kanalda
Get PRO
Noyabr '24
+23 274
0 kanalda
Get PRO
Oktabr '24
+25 611
3 kanalda
Get PRO
Sentabr '24
+23 810
0 kanalda
Get PRO
Avgust '24
+32 845
0 kanalda
Get PRO
Iyul '24
+39 916
0 kanalda
Get PRO
Iyun '24
+14 429
0 kanalda
Get PRO
May '24
+1 105
0 kanalda
Get PRO
Aprel '24
+1 407
0 kanalda
Get PRO
Mart '24
+2 180
0 kanalda
Get PRO
Fevral '24
+1 456
0 kanalda
Get PRO
Yanvar '24
+1 276
0 kanalda
Get PRO
Dekabr '23
+4 228
0 kanalda
Sana
Obunachilarni jalb qilish
Esdaliklar
Kanallar
26 Avgust+804
25 Avgust+589
24 Avgust+1 196
23 Avgust+328
22 Avgust+283
21 Avgust+569
20 Avgust+1 495
19 Avgust+176
18 Avgust+637
17 Avgust+571
16 Avgust+248
15 Avgust+343
14 Avgust+475
13 Avgust+967
12 Avgust+675
11 Avgust+783
10 Avgust+630
09 Avgust+465
08 Avgust+249
07 Avgust+611
06 Avgust+371
05 Avgust+435
04 Avgust+809
03 Avgust+888
02 Avgust+514
01 Avgust+314
Kanal postlari
A compact MQL5 toolkit measures market “efficiency” by treating recent returns as a symbol string and scoring how well that s
A compact MQL5 toolkit measures market “efficiency” by treating recent returns as a symbol string and scoring how well that string can be described by Lempel–Ziv phrase parsing. The LZ76 count is parameter-free and fast enough per bar; normalization maps values near 1 to noise-like behavior and lower values to repeatable structure. Prices are not fed directly. The pipeline converts a trailing window of log-returns into symbols using SAX: z-normalize to remove scale, optionally aggregate, then quantize via Gaussian breakpoints so random data is uniformly distributed across the alphabet. Breakpoints are computed on the fly with a high-precision inverse normal approximation, and flat windows are handled explicitly to avoid divide-by-zero artifacts. The library is split into symbolizer, complexity, NCD distance, and a facade class with reusable buffer... 👉 Read | Calendar | @mql5dev

2
Liquidity Void Decay Oscillator identifies gap-like displacements only when range expansion aligns with below-average tick vo
Liquidity Void Decay Oscillator identifies gap-like displacements only when range expansion aligns with below-average tick volume, filtering for thin-participation moves rather than candle geometry alone. Each detected void starts with a score of 100 and decays as later bars overlap the zone. Faster re-trading reduces the score quickly, while repeated approaches with limited overlap keep the charge elevated and signal an area still affecting order placement. Outputs include a 0–100 histogram for the strongest active void, bar coloring to indicate whether the nearest void is below or above price, and a short SMA signal line. A cross below the signal line while still high indicates accelerating absorption. Typical use on liquid FX pairs and lower timeframes. Scores holding 60–100 after multiple retests can define actionable levels; rapid decay toward... 👉 Read | Calendar | @mql5dev
4 503
3
Currency Strength Meter computes relative strength for the 8 major currencies by aggregating percentage changes across all av
Currency Strength Meter computes relative strength for the 8 major currencies by aggregating percentage changes across all available broker pairs, rather than relying on a single cross. Each symbol contributes +change to the base currency and -change to the quote currency, then each currency score is averaged across the pairs it appears in. Missing crosses are skipped, keeping results usable without hard failures. Output is a ranked list from strongest to weakest, with a per-currency average percent change over the selected lookback window. Bars are scaled to the largest absolute score on each refresh; colors differentiate positive versus negative readings. Key inputs include calculation timeframe (independent of chart), lookback bars, and refresh mode (new bar only or every tick), plus panel layout and styling. Designed as read-only: no trade operat... 👉 Read | AppStore | @mql5dev
8 056
4
Candle Body-to-Wick Pressure Oscillator converts candle geometry into a bounded pressure score, then smooths it into an oscil
Candle Body-to-Wick Pressure Oscillator converts candle geometry into a bounded pressure score, then smooths it into an oscillator with an EMA signal line. Instead of relying on closes, it combines signed body ratio (|close-open| / range) with a wick imbalance term ((lower wick - upper wick) / range), weighted by InpWickWeight and normalized to stay near ±1 before scaling to ±100. Histogram values above zero indicate bullish pressure dominance over the lookback; values below zero indicate bearish pressure. Crosses versus the signal line and the zero line help classify regime shifts and continuation. Optional divergence marks are generated from confirmed price pivots (InpFractalRange) within InpDivergenceLookback, flagging higher oscillator lows vs lower price lows, or lower oscillator highs vs higher price highs. Defaults typically transfer across sy... 👉 Read | NeuroBook | @mql5dev
8 679
5
Multi-Symbol Correlation Divergence Meter quantifies when two typically linked instruments stop behaving alike. It calculates
Multi-Symbol Correlation Divergence Meter quantifies when two typically linked instruments stop behaving alike. It calculates rolling Pearson correlation on bar-to-bar returns between the current chart and a user-defined reference symbol, plus a log-price spread converted into a rolling z-score. A divergence event is signaled only when correlation drops below a configurable threshold and the spread z-score exceeds an extreme level. This filters for situations where decoupling and relative mispricing occur together, often preceding either mean reversion or a regime change. Outputs include a correlation line bounded from -1 to +1 with a color change on breakdown, a spread z-score histogram, and optional up/down arrows for qualifying extremes. Typical use is risk tightening on correlation-dependent positions or conditional mean-reversion setups, validat... 👉 Read | Freelance | @mql5dev
8 901
6
Adaptive Volume Profile Node Tracker implements a rolling volume profile where bin size adapts to current volatility. On each
Adaptive Volume Profile Node Tracker implements a rolling volume profile where bin size adapts to current volatility. On each rebuild it reads ATR(InpATRPeriod), derives a bin height from it, then clamps bin count between 5 and InpMaxBins. This keeps profiles granular in tight ranges and prevents over-fragmentation during fast markets. The profile is built from the last InpLookback completed bars, bucketing tick volume (or real volume when enabled) by each bar’s close. It then identifies the Point of Control, expands outward to capture InpValueAreaPercent for Value Area High/Low, and classifies High/Low Volume Nodes using a mean and standard deviation threshold (InpNodeStdDevMult). Levels update every InpRecalcBars bars. Operationally, POC and Value Area define fair value vs extension, HVNs tend to behave as liquidity shelves, and LVNs often mark fas... 👉 Read | NeuroBook | @mql5dev
9 133
7
Volume-Weighted Delta Divergence Oscillator (VWDD) derives a delta proxy from each candle without requiring true order-flow.
Volume-Weighted Delta Divergence Oscillator (VWDD) derives a delta proxy from each candle without requiring true order-flow. The close position inside the high-low range is mapped to a -1..+1 ratio and multiplied by volume (tick or real). Per-bar values are accumulated over InpDeltaPeriod, then normalized by a rolling standard deviation over InpNormPeriod to keep readings comparable across symbols and sessions. InpSmoothPeriod reduces noise. The subwindow histogram shows net pressure: above zero suggests buy dominance, below zero suggests sell dominance. Divergence detection uses fractal-style swing confirmation with InpDivLookback bars on both sides and searches back up to InpDivSearchRange. Higher highs with lower oscillator highs flag bearish divergence; lower lows with higher oscillator lows flag bullish divergence. Arrows lag by roughly InpDivLoo... 👉 Read | Calendar | @mql5dev
9 861
8
A causal trend-scanning engine was ported from Python to MQL5 as CTrendScanningFeatures.mqh, exposing four EA-friendly buffer
A causal trend-scanning engine was ported from Python to MQL5 as CTrendScanningFeatures.mqh, exposing four EA-friendly buffers (window, slope, t_value, R²) via a standard iCustom-compatible indicator. The implementation replaces full window recomputation with O(1) per-horizon updates using running sums plus a ring buffer, while preserving numerical parity against the reference. Building the port from first principles uncovered a sign inversion in the Python causal mode: reversing inputs without negating slope and t_value. The Part 13 wrapper is corrected by flipping both signs; most earlier conclusions remain unchanged because comparisons were sign-symmetric. Two research-level caveats stand out. With volatility_threshold=0.0, “masking” collapses to a simple running minimum. More importantly, selecting the max |t| across window lengths does not select th... 👉 Read | CodeBase | @mql5dev
15 728
9
This article replaces fragile, hand-tuned trade filters and “train-once” ML with an online logistic regression that updates a
This article replaces fragile, hand-tuned trade filters and “train-once” ML with an online logistic regression that updates after every closed trade. The goal is simple: keep the EMA crossover, but adapt the filter when market behavior changes. A shared MQL5 library implements logistic regression with a minimal SGD update, L2 regularization, optional learning-rate decay, and CSV persistence. The EA builds six explicitly scaled features, gates entries by predicted win probability, then labels outcomes using net profit (including costs) while handling partial closes via position IDs. Validation uses a synthetic generator to prove the update rule learns, quantify warm-up needs, test feature ablations, check probability calibration, and compare online learning against frozen and periodic/rolling retrain baselines under regime shifts. Practical notes cover visualizati... 👉 Read | CodeBase | @mql5dev
14 524
10
Partial position closing in MQL5 often fails in production due to three implementation errors: lot-step rounding, applying cl
Partial position closing in MQL5 often fails in production due to three implementation errors: lot-step rounding, applying close percentages to remaining volume, and leaving the stop at the original risk after the first scale-out. A CPartialCloseEngine design addresses these directly. It freezes entry state in CPositionRecord, drives an R-multiple profit ladder, normalizes and clamps volumes via CVolumeNormalizer, executes reductions with TRADE_ACTION_DEAL through a dedicated executor, and moves SL with TRADE_ACTION_SLTP in a breakeven manager. The ladder applies percentages to the original entry volume, tracks per-level hit state, optionally triggers a one-time breakeven shift, and draws chart HLINE markers for verification. A companion script validates rounding rules, R calculations, trigger logic, and remainder clamping. 👉 Read | Docs | @mql5dev
13 624
11
MetaEditor’s profiler finds slow code, but it won’t catch indicators that draw “correct-looking” lines with wrong values. Thi
MetaEditor’s profiler finds slow code, but it won’t catch indicators that draw “correct-looking” lines with wrong values. This walkthrough focuses on the debugger: pausing execution at breakpoints, stepping line-by-line, inspecting variables in Watch, and using the call stack to trace how a bad state was reached. A rolling z-score indicator is used with two intentional bugs: an off-by-one loop in the mean that can read past the array edge, and a variance formula dividing by period+1, producing a plausible yet consistently biased result. Key workflow: start debugging on real data (F5) or in Strategy Tester history mode (Ctrl+F5), place breakpoints before suspect reads, then step until the exact variable (like an index) becomes invalid or the math deviates silently. 👉 Read | VPS | @mql5dev
13 120
12
Volume-Weighted Price Displacement Oscillator measures mean reversion against a rolling VWAP instead of a simple moving avera
Volume-Weighted Price Displacement Oscillator measures mean reversion against a rolling VWAP instead of a simple moving average. Higher-volume bars influence the anchor more, so the reference tracks where trading concentrated, not just closes. The oscillator is Close minus rolling VWAP, normalized by a rolling standard deviation over a separate volatility window. This produces a z-score style histogram: near 0 indicates trading around volume-weighted fair value, beyond ±1.0 indicates an impulse, and beyond ±2.0 flags statistical stretch where consolidation or reversion becomes more likely. Key inputs: VWAP period (default 20), volatility period (14), signal smoothing (5), impulse level (1.0), exhaustion level (2.0), applied price (typical). Practical use: in trends, sustained impulse readings can support continuation; in ranges, exhaustion plus the signa... 👉 Read | Freelance | @mql5dev
13 735
13
Neural-network trading workflow shifts from Matlab to Python, using TensorFlow plus Keras with MetaTrader 5 integration. Focu
Neural-network trading workflow shifts from Matlab to Python, using TensorFlow plus Keras with MetaTrader 5 integration. Focus moves to input preparation, dataset splitting by direction, and training operations for EURUSD H1. A two-stage model is used: Net1 reproduces indicator-like features from quotes, Net2 generates the signal target. The system runs four networks (buy/sell, max/min). MQL5 scripts export CSVs; daily extreme markers set -1 at first high/low touch. Net2 targets are hour open vs day open (or day close vs hour open), emphasizing achieved outcomes over event prediction. Training is handled in a Python script: pandas ingestion, standardization, a Sequential model (22 inputs, 60 outputs), 10 epochs, batch 10, 30% validation, then saving .h5 models. Strategy Tester data generation feeds a separate test dataset. Results are optimized via an EA ... 👉 Read | CodeBase | @mql5dev
20 655
14
A new MT5 chart wallpaper background indicator is available with BMP support. Place an image named background.bmp in the term
A new MT5 chart wallpaper background indicator is available with BMP support. Place an image named background.bmp in the terminal’s FILES directory, then attach the indicator to a chart. The indicator reads the BMP file and renders it as the chart background. Two layout modes have been added to control scaling behavior: BMP_FIT and BMP_FILL. FIT keeps the entire image visible with possible margins, while FILL covers the full chart area and may crop edges. 👉 Read | Signals | @mql5dev
18 530
15
DoEasy indicator handling in MQL5 received a custom indicator object to complement the standard indicator set. Standard indic
DoEasy indicator handling in MQL5 received a custom indicator object to complement the standard indicator set. Standard indicators use fixed, known inputs and can be instantiated via dedicated constructors. Custom indicators require an MqlParam[] passed to a creation method, including a mandatory TYPE_STRING element with the indicator path/name. A new indicator group “any” covers unknown type until the user assigns trend/oscillator/volume/arrow. The indicator base class adds an ID property, ID-based sorting, and data access helpers that fetch a single value via CopyBuffer() by bar index or time. Parameter descriptions for custom indicators are printed sequentially from MqlParam[]. Indicator collection creation now checks ID uniqueness, supports custom indicator lookup by group+MqlParam[], and provides GetByID/SetID. On timeframe changes, duplicate handles... 👉 Read | AppStore | @mql5dev
23 398
16
Order reject 130 (“Invalid stops”) is often caused by server contract limits, not EA logic. Key constraints are stop level, f
Order reject 130 (“Invalid stops”) is often caused by server contract limits, not EA logic. Key constraints are stop level, freeze level, and volume rules (min/step/max lot). These values are per symbol, broker-specific, and can change without notice. A lightweight script can print symbol specifications without placing, modifying, or closing trades, and without requiring algo trading to be enabled. It can read a comma-separated symbol list or use the current Market Watch set. Output includes digits, point, tick size/value, contract size, lot limits, spread mode, execution mode, swaps, and margin required for one minimum lot vs free margin. The most actionable line computes the nearest stop level the server should accept, returned in price units to avoid pip/point mistakes on 5-digit symbols. Stop validation should use the larger of stop level and freeze leve... 👉 Read | AppStore | @mql5dev
18 571
17
MetaTrader 5 trendlines are purely graphical, so EAs can’t natively detect touches, bounces, or meaningful breakouts. This ar
MetaTrader 5 trendlines are purely graphical, so EAs can’t natively detect touches, bounces, or meaningful breakouts. This article bridges that gap by wrapping each chart trendline into a managed runtime entity with identity, memory, and a controlled lifecycle. The design is event-driven for user actions (create/drag/modify) and confirmation-driven for market logic, using closed candles to avoid intrabar noise. States progress through active, touched/pending, bounced, and broken, with configurable thresholds for proximity, volatility, and consecutive closes. Responsibilities are split cleanly: chart synchronization, geometry projection, lifecycle decisions, and visual debugging (color-coded states). A central manager discovers existing objects, maintains a collection of managed trendlines, and coordinates updates across multiple lines. 👉 Read | Freelance | @mql5dev
14 310
18
CustomAverage implements a two-stage adaptive moving average: a selectable base MA on price, followed by an independent smoot
CustomAverage implements a two-stage adaptive moving average: a selectable base MA on price, followed by an independent smoothing MA applied to the base output. This setup improves responsiveness versus a single long MA while keeping the line more stable than a short MA. The plot is slope-colored, switching based on bar-to-bar direction. Optional arrows mark close/average crossovers: bullish when the close moves from below to above the line, bearish on the reverse. A corner label prints the current average value. The calculation runs left-to-right on closed bars only, with no future data usage and no historical repainting. Updates use prev_calculated logic to recompute only changed bars, keeping runtime low on deep histories and small timeframes. Key inputs include MA periods, MA methods (SMA/EMA/SMMA/LWMA), applied price, signal toggles, arrow code... 👉 Read | AppStore | @mql5dev
11 698
19
Aggregate stats in MQL5 signals can hide trade sequencing. Win rate, profit factor, drawdown, and a smooth equity curve summa
Aggregate stats in MQL5 signals can hide trade sequencing. Win rate, profit factor, drawdown, and a smooth equity curve summarize outcomes, not sizing and exposure mechanics. A native MT5 auditor is proposed to grade “Hidden Risk-of-Ruin” from A to F using four checks on reconstructed closed positions: volume escalation after losses (martingale), overlapping same-direction entries at worsening prices (grid), payoff asymmetry (small wins vs rare large losses), and a classical risk-of-ruin estimate for a chosen risk-per-trade. Implementation is split into two scripts: an exporter that rebuilds positions from deal history into CSV, and an auditor that loads CSV or runs a reproducible demo and prints findings in the Experts tab. No external dependencies. 👉 Read | CodeBase | @mql5dev
11 722
20
Running one EA per symbol hides portfolio risk: correlated pairs can stack exposure, turning multiple “safe” trades into one
Running one EA per symbol hides portfolio risk: correlated pairs can stack exposure, turning multiple “safe” trades into one concentrated drawdown. The article proposes a master–slave architecture to coordinate trading across symbols. A Portfolio Controller (master) holds no positions; it computes equity-based risk budget, enforces drawdown kill switches, and broadcasts limits. Instrument Agents (slaves) generate signals per symbol but must query shared limits before any order, separating strategy code from capital governance. State sharing uses MT5 global variables for low-latency scalar flags (budget, max lots, halt), with named pipes or files reserved for structured, slower updates. A readiness handshake prevents trading on uninitialized state, timers drive controller updates, and degraded mode keeps agents running conservatively if the controller dis... 👉 Read | Freelance | @mql5dev
10 265