A two-stage MQL5 indicator design uses ALGLIB matrix.mqh (CMatrixDouble) to compute a rolling Market Score from trend, momentum, and volatility.
Trend is linear-regression slope over a sliding price window. Momentum is end-to-start delta. Volatility is window standard deviation. Score = wTrend*trend + wMom*momentum - wVol*volatility, evaluated on closed bars to avoid future leakage.
Stage 1 is a separate-window oscillator to validate math and scaling. Stage 2 moves to the main chart with threshold-cross arrows, optional 200-EMA direction filter, MinBarsBetween cooldown, and one alert per bar with state tracking.
π Read | Calendar | @mql5dev
#MQL5 #MT5 #AlgoTrading
Trend is linear-regression slope over a sliding price window. Momentum is end-to-start delta. Volatility is window standard deviation. Score = wTrend*trend + wMom*momentum - wVol*volatility, evaluated on closed bars to avoid future leakage.
Stage 1 is a separate-window oscillator to validate math and scaling. Stage 2 moves to the main chart with threshold-cross arrows, optional 200-EMA direction filter, MinBarsBetween cooldown, and one alert per bar with state tracking.
π Read | Calendar | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€24
MetaTrader 5 time-based candles can mask true activity: a 1-minute bar built from hundreds of ticks looks like one built from a handful. The article implements tick bars where each candle closes after N ticks, making charts reflect trade intensity for scalping and tick-driven systems.
An EA creates a dedicated custom symbol (cloned from the source instrument) and configures key properties like digits, point, and tick size, then optionally opens a chart for that symbol and avoids duplicates by scanning existing charts.
On every OnTick, the EA reads live prices, aggregates ticks into OHLC, assigns monotonic timestamps, and pushes both the forming bar and completed bars to the terminal via CustomRatesUpdate for real-time rendering.
π Read | VPS | @mql5dev
#MQL5 #MT5 #AlgoTrading
An EA creates a dedicated custom symbol (cloned from the source instrument) and configures key properties like digits, point, and tick size, then optionally opens a chart for that symbol and avoids duplicates by scanning existing charts.
On every OnTick, the EA reads live prices, aggregates ticks into OHLC, assigns monotonic timestamps, and pushes both the forming bar and completed bars to the terminal via CustomRatesUpdate for real-time rendering.
π Read | VPS | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€47π6π3π3β2π1
John Ehlers published an alternative RSI calculation as part of a broader indicator set, commonly referenced as MyRSI. Due to material differences versus the platformβs standard RSI, a standalone implementation is often justified for testing and integration in existing workflows.
Key differences are structural. Output is normalized to the -1 to 1 range rather than 0 to 100, making the zero line a practical reference for regime changes. Because the scaling and internal math differ, values are not directly comparable to standard RSI levels, and common thresholds such as 50 do not translate as equivalent signals.
Operationally, it can still be used in typical RSI-style setups, with thresholds and triggers recalibrated to the normalized range.
π Read | Docs | @mql5dev
#MQL5 #MT5 #Indicator
Key differences are structural. Output is normalized to the -1 to 1 range rather than 0 to 100, making the zero line a practical reference for regime changes. Because the scaling and internal math differ, values are not directly comparable to standard RSI levels, and common thresholds such as 50 do not translate as equivalent signals.
Operationally, it can still be used in typical RSI-style setups, with thresholds and triggers recalibrated to the normalized range.
π Read | Docs | @mql5dev
#MQL5 #MT5 #Indicator
β€20π7π2
Malaysian Engulfing is treated as a strict, code-friendly engulfing variant for MT5/MQL5, addressing two gaps: inconsistent real-time detection and lack of post-signal context.
The rule set is unambiguous. Bullish: a bearish candle followed by a bullish candle opening at or below the prior close and closing above the prior high. Bearish: a bullish candle followed by a bearish candle opening at or above the prior close and closing below the prior low.
The workflow is split into two indicators. A strict detector renders arrows only for βperfectβ candidates. A retest validator runs a lightweight state machine (SEARCH β FOUND β reset/confirm), defines a high/low zone, enforces invalidation, limits retests via barsRetestRange, and confirms returns with a wickThreshold filter.
Output is deterministic: arrows, rectangles, and confirmation events suitable for bac...
π Read | NeuroBook | @mql5dev
#MQL5 #MT5 #Indicator
The rule set is unambiguous. Bullish: a bearish candle followed by a bullish candle opening at or below the prior close and closing above the prior high. Bearish: a bullish candle followed by a bearish candle opening at or above the prior close and closing below the prior low.
The workflow is split into two indicators. A strict detector renders arrows only for βperfectβ candidates. A retest validator runs a lightweight state machine (SEARCH β FOUND β reset/confirm), defines a high/low zone, enforces invalidation, limits retests via barsRetestRange, and confirms returns with a wickThreshold filter.
Output is deterministic: arrows, rectangles, and confirmation events suitable for bac...
π Read | NeuroBook | @mql5dev
#MQL5 #MT5 #Indicator
β€27β‘4π2π1
MAPIE (Model Agnostic Prediction Interval Estimator) is an open-source Python library for uncertainty quantification via conformal prediction, using a dedicated calibration set. It supports prediction intervals for regression and prediction sets for classification and time series, with scikit-learn API compatibility and wrappers for TensorFlow and PyTorch models.
The core property is finite-sample, distribution-free coverage under exchangeability. This is relevant for financial data where heavy tails and non-stationarity make classical interval assumptions unreliable. Output shifts from point labels to set-valued decisions, enabling explicit βact / reduce / abstainβ rules based on set size.
MAPIE exposes multiple conformity scores and modes, including LAC, APS, RAPS, and Mondrian variants for class-conditional coverage, addressing imbalance in buy/sell styl...
π Read | VPS | @mql5dev
#MQL5 #MT5 #AI
The core property is finite-sample, distribution-free coverage under exchangeability. This is relevant for financial data where heavy tails and non-stationarity make classical interval assumptions unreliable. Output shifts from point labels to set-valued decisions, enabling explicit βact / reduce / abstainβ rules based on set size.
MAPIE exposes multiple conformity scores and modes, including LAC, APS, RAPS, and Mondrian variants for class-conditional coverage, addressing imbalance in buy/sell styl...
π Read | VPS | @mql5dev
#MQL5 #MT5 #AI
β€26π2π2
Candlestick analysis often breaks in automation because terms like βlong bodyβ or βsmall wickβ are interpreted differently, producing inconsistent MT5 signals and unreliable backtests.
This article replaces subjective pattern naming with an alphabetical encoding driven by measurable body-to-wick ratios. Each bar is deterministically classified into symbols (A/a, H/h, E/e, G/g, plus Doji), with uppercase/lowercase pairing bullish and bearish equivalents.
In MQL5, a CandleType(shift) classifier converts OHLC into codes, then two-candle patterns are detected by concatenating symbols and matching valid permutations. A lookback parameter scans historical bars once per new candle, emitting reproducible logs and alerts.
The result is a stable, testable signal layer thatβs easy to scan, filter, and evaluate statistically, while leaving risk and money manage...
π Read | VPS | @mql5dev
#MQL5 #MT5 #Indicator
This article replaces subjective pattern naming with an alphabetical encoding driven by measurable body-to-wick ratios. Each bar is deterministically classified into symbols (A/a, H/h, E/e, G/g, plus Doji), with uppercase/lowercase pairing bullish and bearish equivalents.
In MQL5, a CandleType(shift) classifier converts OHLC into codes, then two-candle patterns are detected by concatenating symbols and matching valid permutations. A lookback parameter scans historical bars once per new candle, emitting reproducible logs and alerts.
The result is a stable, testable signal layer thatβs easy to scan, filter, and evaluate statistically, while leaving risk and money manage...
π Read | VPS | @mql5dev
#MQL5 #MT5 #Indicator
β€47π6π5β‘4
Constant exposure is a common failure mode in retail algorithmic trading. Many systems assume persistent exploitable structure and run 24/5, even when markets shift into near-random regimes where edge collapses. In those conditions, expected returns converge toward transaction costs, making spreads and commissions the dominant outcome.
Quant desks often gate execution with Information Theory rather than standard technical filters. A Shannon Entropy Index estimates the probability distribution of rolling log-returns and quantifies randomness via H(X) = -Ξ£ P(x) log2 P(x). High entropy implies higher efficiency and low predictability; low entropy suggests structural inefficiency where trend or mean-reversion systems have a higher probability of working.
Operationally, entropy can function as a portfolio-level master switch: allow strategies to trade onl...
π Read | CodeBase | @mql5dev
#MQL5 #MT5 #Indicator
Quant desks often gate execution with Information Theory rather than standard technical filters. A Shannon Entropy Index estimates the probability distribution of rolling log-returns and quantifies randomness via H(X) = -Ξ£ P(x) log2 P(x). High entropy implies higher efficiency and low predictability; low entropy suggests structural inefficiency where trend or mean-reversion systems have a higher probability of working.
Operationally, entropy can function as a portfolio-level master switch: allow strategies to trade onl...
π Read | CodeBase | @mql5dev
#MQL5 #MT5 #Indicator
β€28π1π1π1
MetaTrader 5 forward-simulation logic can add context after an EMA crossover instead of leaving traders with an isolated signal.
A compact engine anchors on the crossover bar, freezes EMA slope at that point, then projects a fixed count of synthetic candles forward using a 0.91 decay so each step weakens. Controlled noise is applied to steps and wick sizes to avoid a rigid linear path.
Implementation details include EMA buffers/handles, a PredictedCandle OHLC struct, timer-driven refresh, and redraw avoidance via anchor tracking. Signal invalidation is handled with a pip-threshold rule. Rendering uses chart objects for bodies and wicks, plus a separator and state labels, with strict cleanup on updates and removal.
π Read | AppStore | @mql5dev
#MQL5 #MT5 #Indicator
A compact engine anchors on the crossover bar, freezes EMA slope at that point, then projects a fixed count of synthetic candles forward using a 0.91 decay so each step weakens. Controlled noise is applied to steps and wick sizes to avoid a rigid linear path.
Implementation details include EMA buffers/handles, a PredictedCandle OHLC struct, timer-driven refresh, and redraw avoidance via anchor tracking. Signal invalidation is handled with a pip-threshold rule. Rendering uses chart objects for bodies and wicks, plus a separator and state labels, with strict cleanup on updates and removal.
π Read | AppStore | @mql5dev
#MQL5 #MT5 #Indicator
β€17π3β1
Most ML pipelines drop timestamps after building return and price features. That removes market structure encoded by the clock: session boundaries, overlap windows, and calendar-driven flows.
Raw integer time breaks cyclic topology. Hour 23 and hour 0 become far apart, linear models extrapolate, and trees split on meaningless distances. The standard fix is sin/cos cyclical encoding, extended with Fourier harmonics to represent asymmetric intraday patterns.
Forex time context is non-stationary across four UTC sessions (Sydney, Tokyo, London, New York). Overlap flags isolate the highest liquidity regime. Session-conditional rolling volatility must be masked, forward-filled, and shift(1) applied to avoid lookahead.
Calendar flags capture repeatable order-flow events: Friday NY close, Sunday open, month-end, quarter-end. A timeframe gate should drop ir...
π Read | CodeBase | @mql5dev
#MQL5 #MT5 #AlgoTrading
Raw integer time breaks cyclic topology. Hour 23 and hour 0 become far apart, linear models extrapolate, and trees split on meaningless distances. The standard fix is sin/cos cyclical encoding, extended with Fourier harmonics to represent asymmetric intraday patterns.
Forex time context is non-stationary across four UTC sessions (Sydney, Tokyo, London, New York). Overlap flags isolate the highest liquidity regime. Session-conditional rolling volatility must be masked, forward-filled, and shift(1) applied to avoid lookahead.
Calendar flags capture repeatable order-flow events: Friday NY close, Sunday open, month-end, quarter-end. A timeframe gate should drop ir...
π Read | CodeBase | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€26π4π4β‘1
Gaussian Process Regression (GPR) models a distribution over functions, not just a best-fit curve. That produces forecasts with calibrated uncertainty via posterior mean and covariance, letting trading systems reason about confidence intervals instead of relying on point signals.
Kernel choice defines behavior (smooth RBF, linear trend, periodic cycles) and kernels can be combined to capture mixed market structure. With Gaussian observation noise, the model smooths rather than interpolates, and distinguishes uncertainty of the latent function f* from uncertainty of future observations y*.
Accuracy depends on tuning kernel hyperparameters and noise variance by minimizing negative log marginal likelihood. The implementation avoids costly matrix inversion using Cholesky decomposition, and optimizes parameters with ALGLIB, making GPR practical to run from MQL5.
π Read | Forum | @mql5dev
#MQL5 #MT5 #AI
Kernel choice defines behavior (smooth RBF, linear trend, periodic cycles) and kernels can be combined to capture mixed market structure. With Gaussian observation noise, the model smooths rather than interpolates, and distinguishes uncertainty of the latent function f* from uncertainty of future observations y*.
Accuracy depends on tuning kernel hyperparameters and noise variance by minimizing negative log marginal likelihood. The implementation avoids costly matrix inversion using Cholesky decomposition, and optimizes parameters with ALGLIB, making GPR practical to run from MQL5.
π Read | Forum | @mql5dev
#MQL5 #MT5 #AI
β€46π5
GlowTrend Pro is a trend-following indicator focused on visual state changes and reduced noise via a smoothed moving average. The plot switches color based on slope to flag momentum direction.
Blue line signals bullish momentum, while red line signals bearish momentum. βGlowβ dots are printed at the moment the state flips and can be treated as timing markers for entry or exit review.
The indicator supports configurable period, averaging method (EMA, SMA, Smoothed, Linear Weighted), and price source (Close/Open/High/Low). Linked-buffer logic is used to keep transitions continuous and avoid broken segments on the chart. Default lookback is 20; higher values smooth output at the cost of latency.
Operational guidance typically pairs a color change with the corresponding dot. Common use cases include H1/H4 for swing setups and M5 during high-volatility s...
π Read | VPS | @mql5dev
#MQL4 #MT4 #Indicator
Blue line signals bullish momentum, while red line signals bearish momentum. βGlowβ dots are printed at the moment the state flips and can be treated as timing markers for entry or exit review.
The indicator supports configurable period, averaging method (EMA, SMA, Smoothed, Linear Weighted), and price source (Close/Open/High/Low). Linked-buffer logic is used to keep transitions continuous and avoid broken segments on the chart. Default lookback is 20; higher values smooth output at the cost of latency.
Operational guidance typically pairs a color change with the corresponding dot. Common use cases include H1/H4 for swing setups and M5 during high-volatility s...
π Read | VPS | @mql5dev
#MQL4 #MT4 #Indicator
β€29π3π2
ML in MetaTrader 5 becomes practical when the entire preprocessing pipeline is rebuilt inside MQL5, not split across Python and the terminal. Feature generation, scaling, redundancy removal, and model input formatting are linear-algebra steps that must match training exactly, or inference runs in a different data space and signals get distorted.
The article organizes features into an X matrix and uses MQL5 vectors/matrices for consistent normalization and PCA projection. Keeping these transforms in MQL5 makes them testable in the Strategy Tester and adjustable when symbol/timeframe distributions shift, without retraining the network.
Python is used only to train (LSTM with dropout, batched DataLoader, MSE/Adam), compute normalization/PCA parameters, then export to ONNX. In MQL5, initialization loads stats and PCA matrices once; the per-bar loop rebuilds the sam...
π Read | AppStore | @mql5dev
#MQL5 #MT5 #AI
The article organizes features into an X matrix and uses MQL5 vectors/matrices for consistent normalization and PCA projection. Keeping these transforms in MQL5 makes them testable in the Strategy Tester and adjustable when symbol/timeframe distributions shift, without retraining the network.
Python is used only to train (LSTM with dropout, batched DataLoader, MSE/Adam), compute normalization/PCA parameters, then export to ONNX. In MQL5, initialization loads stats and PCA matrices once; the per-bar loop rebuilds the sam...
π Read | AppStore | @mql5dev
#MQL5 #MT5 #AI
β€49π10π8π3
A symbol implementation viewer service runs in a separate window inside MT5 and can remain active while monitoring chart changes. The report language switches between RU/EN without recreating the window. The interface targets compact, readable output with scrolling and window resizing.
Setup and use: copy the service to MQL5\Services, compile in MetaEditor, then start it from Navigator. After launch, changing the observed chart symbol or timeframe triggers an automatic refresh. Controls include Left/Right for horizontal scroll, Up/Down for vertical scroll, RU/EN for language, and Close to terminate the service.
The report aggregates symbol details in one place: Bid/Ask, point/tick/digits/spread, daily high/low, trade modes and restrictions, volume limits, value of price movement in account currency, margin/leverage estimates, swaps, volatility/time par...
π Read | Calendar | @mql5dev
#MQL5 #MT5 #script
Setup and use: copy the service to MQL5\Services, compile in MetaEditor, then start it from Navigator. After launch, changing the observed chart symbol or timeframe triggers an automatic refresh. Controls include Left/Right for horizontal scroll, Up/Down for vertical scroll, RU/EN for language, and Close to terminate the service.
The report aggregates symbol details in one place: Bid/Ask, point/tick/digits/spread, daily high/low, trade modes and restrictions, volume limits, value of price movement in account currency, margin/leverage estimates, swaps, volatility/time par...
π Read | Calendar | @mql5dev
#MQL5 #MT5 #script
β€14π4β1π1π1
Multi-timeframe EAs in MQL5 often fail in long runs for two reasons: indicator handles get created repeatedly and never released, and signals are calculated from the still-forming bar (shift 0). Short tests hide both issues, while live terminals show rising mt5.exe memory, βIndicatorCreate failedβ journal lines, and unstable signal counts.
A structured fix is a small MTF engine that centralizes lifecycle and indexing. Handles are created once in OnInit(), tracked internally, and released via a single ReleaseAll() in OnDeinit(). Buffer reads default to bar_shift=1 to avoid phantom crossovers.
For HTF reads, readiness needs more than CopyBuffer() returning data. Checking iTime(symbol, timeframe, 1) prevents stale values when the higher timeframe has not recalculated yet.
π Read | Forum | @mql5dev
#MQL5 #MT5 #EA
A structured fix is a small MTF engine that centralizes lifecycle and indexing. Handles are created once in OnInit(), tracked internally, and released via a single ReleaseAll() in OnDeinit(). Buffer reads default to bar_shift=1 to avoid phantom crossovers.
For HTF reads, readiness needs more than CopyBuffer() returning data. Checking iTime(symbol, timeframe, 1) prevents stale values when the higher timeframe has not recalculated yet.
π Read | Forum | @mql5dev
#MQL5 #MT5 #EA
β€19π4π4π₯1π1
Biogeography-Based Optimization (BBO), proposed by Dan Simon in 2008, models optimization as migration between habitats. Each habitat is a candidate solution; HSI is fitness; species represent solution variables. High-fitness habitats have high emigration and low immigration, while low-fitness habitats show the opposite.
Core mechanics: rank-based species counts drive immigration/emigration rates, migration copies selected variables from high-emigration habitats into high-immigration ones, and elitism preserves the top N solutions. Mutation is applied to non-elite habitats with a rate inversely related to habitat existence probability, pushing both weak and extreme solutions to change more often.
A reference implementation uses a derived C_AO_BBO class with Init, Moving, and Revision, plus rate/probability calculation, roulette selection for migration so...
π Read | Forum | @mql5dev
#MQL5 #MT5 #AlgoTrading
Core mechanics: rank-based species counts drive immigration/emigration rates, migration copies selected variables from high-emigration habitats into high-immigration ones, and elitism preserves the top N solutions. Mutation is applied to non-elite habitats with a rate inversely related to habitat existence probability, pushing both weak and extreme solutions to change more often.
A reference implementation uses a derived C_AO_BBO class with Init, Moving, and Revision, plus rate/probability calculation, roulette selection for migration so...
π Read | Forum | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€20π1π1
A lightweight MetaTrader 5 βchart replayβ workflow can be built directly inside Strategy Tester Visual Mode by adding a simple UI layer to an EA. Using CButton for on-chart controls and CTrade for execution, BUY/SELL actions become one-click events handled in OnTick by checking button state, sending orders, then resetting the control.
Trade management is kept deterministic and fast: a CLOSE ALL button loops through open positions and closes only those owned by the EA via a Magic Number, using CPositionInfo for selection and filtering. Risk controls start as inputs (lot size, initial stop), then evolve into an automated trailing stop that updates SL only when price moves far enough in favor, reducing churn and locking in gains.
The practical payoff is rapid manual validation of strategy logic (entries, filters, failure cases) before spending time coding full...
π Read | Signals | @mql5dev
#MQL5 #MT5 #EA
Trade management is kept deterministic and fast: a CLOSE ALL button loops through open positions and closes only those owned by the EA via a Magic Number, using CPositionInfo for selection and filtering. Risk controls start as inputs (lot size, initial stop), then evolve into an automated trailing stop that updates SL only when price moves far enough in favor, reducing churn and locking in gains.
The practical payoff is rapid manual validation of strategy logic (entries, filters, failure cases) before spending time coding full...
π Read | Signals | @mql5dev
#MQL5 #MT5 #EA
β€26π3
MetaTrader 5 EA events are received by a Flask API and acknowledged, but persistence is missing. Successful responses without SQLite writes block pipeline verification and downstream analysis.
Backend behavior is extended to store each closed trade as a durable Trade row. POST /api/v1/trades accepts only valid JSON, validates required fields, converts numeric values, and parses open_time/close_time using YYYY.MM.DD HH:MM:SS. On success it commits the transaction and returns 201 with trade_id; on failure it rolls back and returns 4xx or 5xx.
API endpoints are completed for retrieval and inspection: list trades, fetch a single trade by id with 404 on miss, and a basic summary computing trade count and total profit. This enables end-to-end testing from MT5 to SQLite and back through the API.
π Read | Docs | @mql5dev
#MQL5 #MT5 #EA
Backend behavior is extended to store each closed trade as a durable Trade row. POST /api/v1/trades accepts only valid JSON, validates required fields, converts numeric values, and parses open_time/close_time using YYYY.MM.DD HH:MM:SS. On success it commits the transaction and returns 201 with trade_id; on failure it rolls back and returns 4xx or 5xx.
API endpoints are completed for retrieval and inspection: list trades, fetch a single trade by id with 404 on miss, and a basic summary computing trade count and total profit. This enables end-to-end testing from MT5 to SQLite and back through the API.
π Read | Docs | @mql5dev
#MQL5 #MT5 #EA
β€22π2π2π1
Static retest-bar limits donβt scale across symbols and timeframes: volatility shifts can make a fixed range either miss valid pullbacks or accept noisy confirmations. The solution is an adaptive retest range selected from historical behavior, not manual tuning.
Each Malaysian Engulfing setup is stored with formation time, zone bounds, retest time, and retestBars, then evaluated from a consistent entry rule (open of the bar after the retest). A forward scan computes MFE and MAE in points, enabling objective comparison across setups.
A single-parameter constrained brute-force search groups setups by retestBars, computes avgMFE and avgMAE per group, and scores them using avgMFE β avgMAE. In MQL5, optimization runs in OnInit over a clamped date window, outputs separate bullish/bearish optimal ranges, and applies them in OnCalculate with a runtime summar...
π Read | Quotes | @mql5dev
#MQL5 #MT5 #Indicator
Each Malaysian Engulfing setup is stored with formation time, zone bounds, retest time, and retestBars, then evaluated from a consistent entry rule (open of the bar after the retest). A forward scan computes MFE and MAE in points, enabling objective comparison across setups.
A single-parameter constrained brute-force search groups setups by retestBars, computes avgMFE and avgMAE per group, and scores them using avgMFE β avgMAE. In MQL5, optimization runs in OnInit over a clamped date window, outputs separate bullish/bearish optimal ranges, and applies them in OnCalculate with a runtime summar...
π Read | Quotes | @mql5dev
#MQL5 #MT5 #Indicator
β€28π8π±5π1
An interactive MT4 script consolidates per-symbol trading parameters into a single view, combining MarketInfo and validated SymbolInfo data. It targets operational fields such as margin requirements, contract size, currency conversion rates, and leverage, reducing reliance on broker documentation for day-to-day checks.
Symbol selection is driven by the Market Watch list with support for βSelectβ, which is relevant on servers carrying large symbol catalogs. Output is organized with MarketInfo values in the left column, and SymbolInfoInteger/String/Double values in the center and right columns.
A MODE_LEVERAGE line is included, derived per symbol as:
Leverage = Bid * ContractSize * Rate(profit currency to account currency) / MarginRequired.
π Read | Forum | @mql5dev
#MQL4 #MT4 #script
Symbol selection is driven by the Market Watch list with support for βSelectβ, which is relevant on servers carrying large symbol catalogs. Output is organized with MarketInfo values in the left column, and SymbolInfoInteger/String/Double values in the center and right columns.
A MODE_LEVERAGE line is included, derived per symbol as:
Leverage = Bid * ContractSize * Rate(profit currency to account currency) / MarginRequired.
π Read | Forum | @mql5dev
#MQL4 #MT4 #script
β€23π5π2π1
An MT5 Tools Palette can render cleanly and still be non-functional without an interaction layer. Production behavior requires bitmap-label hit-testing, a single OnChartEvent handler for CHARTEVENT_* inputs, and a deterministic state machine that maps input to tool selection, panel manipulation, and object placement.
The implementation targets flyout tool menus with scrolling, drag-and-snap panel positioning, bottom-edge resize, and live theme switching. Tool placement is defined by an interaction contract: activeTool, required click count, and a fixed placement sequence supporting 1/2/3-click objects.
Architecture is expanded into cooperating classes: tool registry, multi-layer canvases including HR flyout surfaces, layout + hit-tests, flyout manager, renderer, event router, and a drawing engine. Data structures add a 35-item TOOL_TYPE enum, per-...
π Read | CodeBase | @mql5dev
#MQL5 #MT5 #AlgoTrading
The implementation targets flyout tool menus with scrolling, drag-and-snap panel positioning, bottom-edge resize, and live theme switching. Tool placement is defined by an interaction contract: activeTool, required click count, and a fixed placement sequence supporting 1/2/3-click objects.
Architecture is expanded into cooperating classes: tool registry, multi-layer canvases including HR flyout surfaces, layout + hit-tests, flyout manager, renderer, event router, and a drawing engine. Data structures add a 35-item TOOL_TYPE enum, per-...
π Read | CodeBase | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€49π7π6
Aura Heiken Ashi is a trend-following indicator built to reduce noise and focus on higher-probability entries. It extends classic Heiken Ashi with multiple confirmation layers intended to keep signals aligned with the prevailing market direction.
Core logic combines dual smoothing (SMMA plus EMA), dynamic supply and demand lines from recent imbalances, and a 200 EMA trend gate that permits bullish signals only above the line and bearish signals only below it. Momentum checks are validated with CCI and MACD, while ADX suppresses low-quality periods by switching candles to gray in low-volatility ranges. Tick volume is compared to local averages to confirm participation.
Operational rules: green candles favor longs above the 200 EMA, ideally near demand. Red candles favor shorts below the 200 EMA, ideally near supply. Gray candles indicate no trade. Con...
π Read | Freelance | @mql5dev
#MQL4 #MT4 #Indicator
Core logic combines dual smoothing (SMMA plus EMA), dynamic supply and demand lines from recent imbalances, and a 200 EMA trend gate that permits bullish signals only above the line and bearish signals only below it. Momentum checks are validated with CCI and MACD, while ADX suppresses low-quality periods by switching candles to gray in low-volatility ranges. Tick volume is compared to local averages to confirm participation.
Operational rules: green candles favor longs above the 200 EMA, ideally near demand. Red candles favor shorts below the 200 EMA, ideally near supply. Gray candles indicate no trade. Con...
π Read | Freelance | @mql5dev
#MQL4 #MT4 #Indicator
β€27π₯4π4π±1π1