A Python + MetaTrader 5 study compared real EURGBP to a synthetic cross (EURUSD/GBPUSD) over 12,593 M5 bars from 2025-01-14 to 2025-03-15.
Mean imbalance: -0.000026, stdev: 0.000070. Distribution was strongly non-normal (skew -9.33, kurtosis 160.69), with lag-1 autocorrelation at 0.5985, indicating persistence and occasional large negative outliers.
Session breakdown showed Europe had the lowest spread (~0.000005) and lowest imbalance volatility (0.000030). A mean-reversion setup using EMA and a 2-sigma threshold (0.000126) produced 24 European trades with net +0.006073, while Asia and US were negative under higher spread costs.
π Read | Signals | @mql5dev
#MQL5 #MT5 #AlgoTrading
Mean imbalance: -0.000026, stdev: 0.000070. Distribution was strongly non-normal (skew -9.33, kurtosis 160.69), with lag-1 autocorrelation at 0.5985, indicating persistence and occasional large negative outliers.
Session breakdown showed Europe had the lowest spread (~0.000005) and lowest imbalance volatility (0.000030). A mean-reversion setup using EMA and a 2-sigma threshold (0.000126) produced 24 European trades with net +0.006073, while Asia and US were negative under higher spread costs.
π Read | Signals | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€24π9π€―3
Part 11 builds a MetaTrader 5 correlation matrix dashboard to quantify cross-asset relationships for portfolio design, hedging, and multi-symbol strategies. It supports Pearson (linear), Spearman (rank-based), and Kendall (order agreement), all computed on price deltas over a selectable timeframe and bar count.
Two visual modes are implemented: a standard grid using configurable thresholds plus p-value βstarsβ for statistical confidence, and a heatmap using color interpolation to reveal subtle correlation differences.
The MQL5 design emphasizes extensibility: symbol-list parsing with Market Watch validation, matrices for correlations and p-values, reusable CDF-based p-value functions, and event-driven UI controls for timeframe and mode switching with automatic refresh on new data.
π Read | Signals | @mql5dev
#MQL5 #MT5 #algorithm
Two visual modes are implemented: a standard grid using configurable thresholds plus p-value βstarsβ for statistical confidence, and a heatmap using color interpolation to reveal subtle correlation differences.
The MQL5 design emphasizes extensibility: symbol-list parsing with Market Watch validation, matrices for correlations and p-values, reusable CDF-based p-value functions, and event-driven UI controls for timeframe and mode switching with automatic refresh on new data.
π Read | Signals | @mql5dev
#MQL5 #MT5 #algorithm
β€28β‘4π1
Bollinger Bands often assume mean reversion, but performance shifts across regimes. A practical filter is RSI: take longs only on lower-band breaks with RSI oversold, and shorts only on upper-band breaks with RSI overbought.
A fixed EURUSD D1 backtest (Jan 2023βJan 2026) with tick modeling and randomized execution delay produced 14 trades. Win rate reached 64% with 4.37 expected payoff, but trade frequency was too low for systematic use.
Rule tweaks to boost activity raised trades to 29 but reduced net profit and increased drawdowns, indicating added noise.
Data was exported from MQL5 to CSV, then modeled in Python with time-series cross-validation. ARDRegression scored best and was exported to ONNX for EA inference, yet the equity curve worsened versus rule-based baselines.
π Read | VPS | @mql5dev
#MQL5 #MT5 #Indicator
A fixed EURUSD D1 backtest (Jan 2023βJan 2026) with tick modeling and randomized execution delay produced 14 trades. Win rate reached 64% with 4.37 expected payoff, but trade frequency was too low for systematic use.
Rule tweaks to boost activity raised trades to 29 but reduced net profit and increased drawdowns, indicating added noise.
Data was exported from MQL5 to CSV, then modeled in Python with time-series cross-validation. ARDRegression scored best and was exported to ONNX for EA inference, yet the equity curve worsened versus rule-based baselines.
π Read | VPS | @mql5dev
#MQL5 #MT5 #Indicator
β€31β7
Chimera extends classic state space models by modeling dependencies along both time and feature axes, using discretization steps to tune long-term vs seasonal behavior and coarse vs detailed cross-variable structure. Causality limits feature-wise information flow, so the design processes neighboring features in two directions and can generate parameters either as constants or from context projections.
The MQL5/OpenCL implementation builds a 2D-SSM neuron with explicit forward/backward passes: create time/feature projections, generate context-dependent parameters, run an OpenCL kernel for state/output updates, then backpropagate by swapping buffers to preserve states and correctly accumulate gradients through all branches and activations.
A Chimera module stacks two parallel 2D-SSMs at different discretizations, aligns their outputs via a convolutional di...
π Read | Quotes | @mql5dev
#MQL5 #MT5 #AlgoTrading
The MQL5/OpenCL implementation builds a 2D-SSM neuron with explicit forward/backward passes: create time/feature projections, generate context-dependent parameters, run an OpenCL kernel for state/output updates, then backpropagate by swapping buffers to preserve states and correctly accumulate gradients through all branches and activations.
A Chimera module stacks two parallel 2D-SSMs at different discretizations, aligns their outputs via a convolutional di...
π Read | Quotes | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€36π₯1π¨βπ»1
Educational-only material; not trading advice. EURUSD backtests under the stated constraints were unprofitable.
Method: the high/low of the first 4H candle is captured using New York local time. After that 4H bar closes, the system waits for a 5-minute close outside the range, then a subsequent 5-minute close back inside. Close above high then back inside triggers a sell signal; close below low then back inside triggers a buy signal.
A time filter invalidates signals if price remains above the high or below the low for more than 75 minutes, reducing entries after extended moves. Correct server time handling is critical: broker GMT offsets and DST switch dates must be configured accurately or the New York 4H window shifts and invalidates results.
Inputs: ServerGMTOffsetWinter, ServerGMTOffsetSummer, ServerSwitchToSummerMonth/Day, ServerSwitchToWinterMo...
π Read | Quotes | @mql5dev
#MQL4 #MT4 #Strategy
Method: the high/low of the first 4H candle is captured using New York local time. After that 4H bar closes, the system waits for a 5-minute close outside the range, then a subsequent 5-minute close back inside. Close above high then back inside triggers a sell signal; close below low then back inside triggers a buy signal.
A time filter invalidates signals if price remains above the high or below the low for more than 75 minutes, reducing entries after extended moves. Correct server time handling is critical: broker GMT offsets and DST switch dates must be configured accurately or the New York 4H window shifts and invalidates results.
Inputs: ServerGMTOffsetWinter, ServerGMTOffsetSummer, ServerSwitchToSummerMonth/Day, ServerSwitchToWinterMo...
π Read | Quotes | @mql5dev
#MQL4 #MT4 #Strategy
β€29β3π2π2
PropGuard MT5 is a chart-window indicator focused on prop-style risk constraints: Daily Loss Limit and Overall Max Drawdown. It converts configured limits into a live price boundary (βDead-Lineβ) derived from current equity, open positions on the active symbol, and tick value/tick size.
The indicator draws a single effective Dead-Line based on the stricter of the daily or overall limit, with optional separate daily and overall lines. A dashboard panel reports balance/equity, allowed loss, minimum equity levels, net long/short lots, active rule, and remaining buffer in currency and points with a configurable warning threshold.
Trailing and fixed drawdown modes are supported. Trailing uses daily/overall peak equity; non-trailing uses start-of-day balance (approximation in v1.00) and a manual start-capital reference.
Safety states include hiding lines ...
π Read | AppStore | @mql5dev
#MQL5 #MT5 #Indicator
The indicator draws a single effective Dead-Line based on the stricter of the daily or overall limit, with optional separate daily and overall lines. A dashboard panel reports balance/equity, allowed loss, minimum equity levels, net long/short lots, active rule, and remaining buffer in currency and points with a configurable warning threshold.
Trailing and fixed drawdown modes are supported. Trailing uses daily/overall peak equity; non-trailing uses start-of-day balance (approximation in v1.00) and a manual start-capital reference.
Safety states include hiding lines ...
π Read | AppStore | @mql5dev
#MQL5 #MT5 #Indicator
β€30β‘4π3π2
Educational use only; not trading advice. EURUSD backtests under the stated conditions were unprofitable.
Strategy logic uses New York local time. The first 4H candle defines the initial high/low range. After that candle closes, the system waits for a 5-minute close outside the range, then a 5-minute close back inside. Close above high then back inside triggers a sell signal. Close below low then back inside triggers a buy signal.
A time filter invalidates signals if price remains above the high or below the low for more than 75 minutes, intended to avoid late entries after an extended move.
Correct broker time configuration is required. Parameters include winter/summer server GMT offsets, server switch dates for summer and winter time, and lot size. A single DST or offset mismatch can shift the entire session alignment.
π Read | Quotes | @mql5dev
#MQL5 #MT5 #Strategy
Strategy logic uses New York local time. The first 4H candle defines the initial high/low range. After that candle closes, the system waits for a 5-minute close outside the range, then a 5-minute close back inside. Close above high then back inside triggers a sell signal. Close below low then back inside triggers a buy signal.
A time filter invalidates signals if price remains above the high or below the low for more than 75 minutes, intended to avoid late entries after an extended move.
Correct broker time configuration is required. Parameters include winter/summer server GMT offsets, server switch dates for summer and winter time, and lot size. A single DST or offset mismatch can shift the entire session alignment.
π Read | Quotes | @mql5dev
#MQL5 #MT5 #Strategy
β€26π3β‘1
Wick Rejection Scanner Dashboard is an MT5 indicator that scans multiple symbols and timeframes for upper/lower wick rejection candles and shows results in an on-chart dashboard. It targets price-action workflows that need watchlist coverage without opening many charts. The module is a scanner and visualizer only and does not execute trades.
Signals are generated from configurable rejection rules: dominant wick percentage, minimum candle range, minimum body size, opposite-wick cap, optional ATR volatility gating, and optional trend-context scoring to reduce weak in-range setups.
Core functions include Market Watch or custom symbol lists, timeframe selection with optional M15/H4 passes, ranked sorting (recent, wick %, strength), age display, and click-to-switch chart navigation. Optional chart markers and labels are available with caps for performance...
π Read | Signals | @mql5dev
#MQL5 #MT5 #Indicator
Signals are generated from configurable rejection rules: dominant wick percentage, minimum candle range, minimum body size, opposite-wick cap, optional ATR volatility gating, and optional trend-context scoring to reduce weak in-range setups.
Core functions include Market Watch or custom symbol lists, timeframe selection with optional M15/H4 passes, ranked sorting (recent, wick %, strength), age display, and click-to-switch chart navigation. Optional chart markers and labels are available with caps for performance...
π Read | Signals | @mql5dev
#MQL5 #MT5 #Indicator
β€30β4π2π2π1π€1
The article extends a DoEasy/MQL5 UI concept: each βanimation frameβ draws on a form while preserving the pixels underneath, so moving, updating, or deleting visuals cleanly restores the original background.
A new base CFrame class centralizes shared state (IDs, coordinates, anchors, last offsets) and embeds the pixel-copy/restore logic previously kept inside the form. Two derived frames specialize rendering: CFrameText for text and CFrameQuad for shapes built on CCanvas primitives.
The rectangle frame adds per-primitive bounding-box calculations (dot, vertical/horizontal segments, free lines, polylines) to save only the affected area. Support code is improved with frame/figure enums, array min/max helpers that avoid β-1 means errorβ ambiguity, and anchor-based methods to compute saved-rectangle offsets for both text and images.
π Read | AppStore | @mql5dev
#MQL5 #MT5 #AlgoTrading
A new base CFrame class centralizes shared state (IDs, coordinates, anchors, last offsets) and embeds the pixel-copy/restore logic previously kept inside the form. Two derived frames specialize rendering: CFrameText for text and CFrameQuad for shapes built on CCanvas primitives.
The rectangle frame adds per-primitive bounding-box calculations (dot, vertical/horizontal segments, free lines, polylines) to save only the affected area. Support code is improved with frame/figure enums, array min/max helpers that avoid β-1 means errorβ ambiguity, and anchor-based methods to compute saved-rectangle offsets for both text and images.
π Read | AppStore | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€58π7π4π―3β‘2π2π€©1
News Spread Risk Dashboard is a lightweight chart-overlay indicator that monitors the live AskβBid difference and flags conditions where spread expansion can undermine entries, exits, and risk controls. It targets periods commonly associated with widening spreads: high-impact news, rollover, session transitions, and low-liquidity opens.
The panel displays Current, Min/Max/Avg spread over a rolling window, plus a status line showing Stable or RISK with the triggering reason. Background color changes when warning logic is met to keep the signal visible without clutter.
Two trigger modes are supported. Relative spike detection warns when Current β₯ Avg Γ multiplier, adapting to each symbolβs typical spread. Absolute thresholds warn when Current β₯ fixed limit, including per-instrument lists (for example, EURUSD:3.0, XAUUSD:30.0).
Display can be Smart A...
π Read | Quotes | @mql5dev
#MQL5 #MT5 #Indicator
The panel displays Current, Min/Max/Avg spread over a rolling window, plus a status line showing Stable or RISK with the triggering reason. Background color changes when warning logic is met to keep the signal visible without clutter.
Two trigger modes are supported. Relative spike detection warns when Current β₯ Avg Γ multiplier, adapting to each symbolβs typical spread. Absolute thresholds warn when Current β₯ fixed limit, including per-instrument lists (for example, EURUSD:3.0, XAUUSD:30.0).
Display can be Smart A...
π Read | Quotes | @mql5dev
#MQL5 #MT5 #Indicator
β€48β‘5π2π€1
Playground EA is a five-version MQL5 Expert Advisor set (v1.00βv1.04) built for testing Fair Value Gap encroachment and, in later builds, liquidity targeting. The code is explicitly experimental, not optimized, and intended for learning and controlled testing.
All versions share the same core entry rule: buy on a candle close above the FVG encroachment point and sell on a close below. Position management is primarily dollar-based profit and loss thresholds, with optional filters such as minimum gap size and trend alignment.
Version changes are incremental. v1.00 combined encroachment and liquidity scalping but had functional issues. v1.01 removed liquidity features and stabilized execution. v1.02 added Silver Bullet time windows and Draw On Liquidity targets, but had configuration and timing problems. v1.03 refactored for parallel mode execution and corrected se...
π Read | Docs | @mql5dev
#MQL5 #MT5 #EA
All versions share the same core entry rule: buy on a candle close above the FVG encroachment point and sell on a close below. Position management is primarily dollar-based profit and loss thresholds, with optional filters such as minimum gap size and trend alignment.
Version changes are incremental. v1.00 combined encroachment and liquidity scalping but had functional issues. v1.01 removed liquidity features and stabilized execution. v1.02 added Silver Bullet time windows and Draw On Liquidity targets, but had configuration and timing problems. v1.03 refactored for parallel mode execution and corrected se...
π Read | Docs | @mql5dev
#MQL5 #MT5 #EA
β€24π4π3
Complex indicators with 70+ buffers and 30+ plots often fail on maintainability due to manual SetIndexBuffer numbering. A small change in draw order, such as moving a filling background behind a candle plot, can force renumbering dozens of bindings and recalculating plot-to-buffer offsets, including extra color buffers.
A wrapper class named CPlotManager is used to automate plot hierarchy and buffer allocation. Plots are added in the required draw order, while the class computes indices, binds buffers, and applies styling without large property blocks for colors and widths.
Typical usage keeps the indicator properties limited to total plot and buffer counts, includes the helper file, then creates the manager in OnInit() and registers plots sequentially. Z-order changes become a simple reordering of add calls.
π Read | NeuroBook | @mql5dev
#MQL5 #MT5 #Indicator
A wrapper class named CPlotManager is used to automate plot hierarchy and buffer allocation. Plots are added in the required draw order, while the class computes indices, binds buffers, and applies styling without large property blocks for colors and widths.
Typical usage keeps the indicator properties limited to total plot and buffer counts, includes the helper file, then creates the manager in OnInit() and registers plots sequentially. Z-order changes become a simple reordering of add calls.
π Read | NeuroBook | @mql5dev
#MQL5 #MT5 #Indicator
β€28β4π3π1
Session Daylight Gradient is an ambient session-awareness indicator for MetaTrader 5 that replaces large session boxes with a low-noise background gradient. The color progression reflects typical market behavior across Pacific, Asia, London, the London/NY overlap, and the NY fade into Pacific, keeping price action readable via adjustable opacity and smoothing.
Optional session event markers add compact labels and separators for session opens/closes and overlap boundaries. Optional βsunraysβ highlight scheduled timestamps from a simple list to flag news windows without switching to a calendar.
Timezone handling supports UTC, broker/server time, or PC local time, with a manual DST hour shift for alignment corrections. Performance is managed by drawing objects only for the visible chart range plus a buffer, with guidance to reduce visual load on very lo...
π Read | VPS | @mql5dev
#MQL5 #MT5 #Indicator
Optional session event markers add compact labels and separators for session opens/closes and overlap boundaries. Optional βsunraysβ highlight scheduled timestamps from a simple list to flag news windows without switching to a calendar.
Timezone handling supports UTC, broker/server time, or PC local time, with a manual DST hour shift for alignment corrections. Performance is managed by drawing objects only for the visible chart range plus a buffer, with guidance to reduce visual load on very lo...
π Read | VPS | @mql5dev
#MQL5 #MT5 #Indicator
β€27π4β3π2π2
Probability theory is presented as a practical framework for trading that replaces intuition with measurable risk: expected value, event likelihoods, percentiles, and clearly defined acceptance of uncertainty.
The article models market behavior through event spaces, distinguishing non-overlapping vs overlapping states, and shows how probabilities must sum to 1 in an exhaustive partition. For continuous outcomes, it switches to random variables and probability density, where event probabilities come from integrating regions.
Random walk is used as a baseline: with symmetric stops and no costs, expectancy trends to zero; with spreads/fees, negative. That baseline still helps compute risk metrics like lifetime and path-dependent event odds.
It then builds toward probability trees via the total probability formula, treating βhypothesesβ as nested even...
π Read | Signals | @mql5dev
#MQL5 #MT5 #AlgoTrading
The article models market behavior through event spaces, distinguishing non-overlapping vs overlapping states, and shows how probabilities must sum to 1 in an exhaustive partition. For continuous outcomes, it switches to random variables and probability density, where event probabilities come from integrating regions.
Random walk is used as a baseline: with symmetric stops and no costs, expectancy trends to zero; with spreads/fees, negative. That baseline still helps compute risk metrics like lifetime and path-dependent event odds.
It then builds toward probability trees via the total probability formula, treating βhypothesesβ as nested even...
π Read | Signals | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€57π8β6πΎ6
ASZ (Adaptive Structure ZigZag) is an open-source market structure analyzer built as an update to the classic ZigZag/fractal approach. It targets common issues in fixed-threshold ZigZags that lag during fast moves and generate excess noise in slow markets.
The logic relies on a hybrid threshold driven by ATR. In higher volatility, the swing-detection threshold expands to reduce noise. In lower volatility ranges, it contracts to capture smaller structural changes. Swing validation scans 3β14 bars to the left and confirms using a fixed number of right-side bars.
ASZ is not a signal indicator and does not produce buy/sell entries. It is designed to mark highs, lows, and break-of-structure with deterministic behavior. Once confirmed, swing points do not repaint. Performance is optimized with caching, and a state machine enforces strict high/low alternation to ...
π Read | Forum | @mql5dev
#MQL5 #MT5 #Indicator
The logic relies on a hybrid threshold driven by ATR. In higher volatility, the swing-detection threshold expands to reduce noise. In lower volatility ranges, it contracts to capture smaller structural changes. Swing validation scans 3β14 bars to the left and confirms using a fixed number of right-side bars.
ASZ is not a signal indicator and does not produce buy/sell entries. It is designed to mark highs, lows, and break-of-structure with deterministic behavior. Once confirmed, swing points do not repaint. Performance is optimized with caching, and a state machine enforces strict high/low alternation to ...
π Read | Forum | @mql5dev
#MQL5 #MT5 #Indicator
β€47π6π¨βπ»4
MetaTrader 5 can use sockets from MQL5, but socket calls are blocked inside indicators to protect chart calculation performance. The solution splits responsibilities: an indicator provides the isolated chat UI, while an Expert Advisor handles network I/O and embeds the indicator binary.
A small connection class wraps socket lifecycle, validates the handle, and implements simple text send/receive. Reads are non-blocking with a short timeout and only return complete messages when a newline delimiter is detected, making message framing explicit and pushing protocol responsibility to the server.
The EA bridges everything with timer-driven polling (OnTimer) and custom chart events (OnChartEvent), passing incoming socket data to the indicator and forwarding user messages back to the socket. The article also notes event spoofing risks and why real deployme...
π Read | Docs | @mql5dev
#MQL5 #MT5 #AlgoTrading
A small connection class wraps socket lifecycle, validates the handle, and implements simple text send/receive. Reads are non-blocking with a short timeout and only return complete messages when a newline delimiter is detected, making message framing explicit and pushing protocol responsibility to the server.
The EA bridges everything with timer-driven polling (OnTimer) and custom chart events (OnChartEvent), passing incoming socket data to the indicator and forwarding user messages back to the socket. The article also notes event spoofing risks and why real deployme...
π Read | Docs | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€31
This part connects an MT5 chart control panel to backend logic using event-driven code. Instead of polling in OnTick, user actions are handled in OnChartEvent, filtering for object-click events and checking sparam to confirm the Send button was pressed.
Once validated, the handler reads the prompt from the input control and performs an HTTP call via WebRequest. The request is built with a model URL, API key, JSON content-type header, and a JSON body, then encoded to a UTF-8 char array (with the trailing null removed) to match WebRequest requirements.
It also establishes basic response handling: capturing headers/body, enforcing timeouts, reporting errors, and converting the returned byte array back into a string for later JSON parsing and panel display.
π Read | Freelance | @mql5dev
#MQL5 #MT5 #AlgoTrading
Once validated, the handler reads the prompt from the input control and performs an HTTP call via WebRequest. The request is built with a model URL, API key, JSON content-type header, and a JSON body, then encoded to a UTF-8 char array (with the trailing null removed) to match WebRequest requirements.
It also establishes basic response handling: capturing headers/body, enforcing timeouts, reporting errors, and converting the returned byte array back into a string for later JSON parsing and panel display.
π Read | Freelance | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€32
CPI Mini-Candles for MT5 adds a pressure layer to candlesticks using Closing Location Value: where the close sits inside the barβs highβlow range. This yields a normalized CPI in [-1, +1], exposing cases like βred-but-bullishβ or βgreen-but-weakβ that candle color canβt explain.
The indicator overlays mid-anchored mini-candles on closed bars only. Marker direction shows buy/sell pressure, height scales with |CPI| (clamped for readability), and five zones (strong/mild/neutral) drive color mapping. Optional arrows mark strong-pressure bars with a configurable offset.
Alerts are state-based to avoid noise: events fire on transitions (not persistence), mainly when entering strong zones, with optional strong exits and sign flips. The MQL5 design uses DRAW_COLOR_CANDLES with synthetic OHLC buffers plus separate arrow plots, includes range gating, and keeps...
π Read | CodeBase | @mql5dev
#MQL5 #MT5 #Indicator
The indicator overlays mid-anchored mini-candles on closed bars only. Marker direction shows buy/sell pressure, height scales with |CPI| (clamped for readability), and five zones (strong/mild/neutral) drive color mapping. Optional arrows mark strong-pressure bars with a configurable offset.
Alerts are state-based to avoid noise: events fire on transitions (not persistence), mainly when entering strong zones, with optional strong exits and sign flips. The MQL5 design uses DRAW_COLOR_CANDLES with synthetic OHLC buffers plus separate arrow plots, includes range gating, and keeps...
π Read | CodeBase | @mql5dev
#MQL5 #MT5 #Indicator
β€55β9β‘5
FFC Data Feeder is a utility Expert Advisor used to download economic calendar data for the FFC Calendar indicator. It is not a trading system and does not place or manage orders. The EA exists because MQL4 indicators cannot call the secure WebRequest API directly.
The feeder runs in the background on a single chart, retrieves data via native WebRequest, and stores it locally for the indicator to render across charts. This avoids enabling DLL imports while keeping the data path consistent.
One-time configuration requires enabling WebRequest in Tools -> Options -> Expert Advisors, then adding https://nfs.faireconomy.media/ to the allowed URL list. Run one instance on an empty chart, verify connection status on the dashboard, then attach the FFC 2.0 Calendar indicator to any chart. Free and open source as part of the MQL Trading Tools suite.
π Read | Forum | @mql5dev
#MQL4 #MT4 #EA
The feeder runs in the background on a single chart, retrieves data via native WebRequest, and stores it locally for the indicator to render across charts. This avoids enabling DLL imports while keeping the data path consistent.
One-time configuration requires enabling WebRequest in Tools -> Options -> Expert Advisors, then adding https://nfs.faireconomy.media/ to the allowed URL list. Run one instance on an empty chart, verify connection status on the dashboard, then attach the FFC 2.0 Calendar indicator to any chart. Free and open source as part of the MQL Trading Tools suite.
π Read | Forum | @mql5dev
#MQL4 #MT4 #EA
β€28π6β3π3
Part 5 extends a dual WaveTrend crossover indicator into a full chart UI: a fast oscillator generates entry candidates, while a slower one optionally filters trades to reduce noise.
Signals now form βboxesβ around crossover bars and wait for a price breakout before confirming direction. Boxes can auto-extend using average candle size, making the breakout logic adapt to volatility instead of fixed ranges.
Rendering moves beyond standard plots by using the MQL5 Canvas library. Gradient βfogβ overlays visualize trend strength with smooth interpolation, while signals can be shown as triangles or labeled bubbles.
Risk tools are integrated directly into the indicator: dynamic TP/SL levels are computed from candle-size multipliers or percentage moves, then drawn as lines and summarized in an on-chart table, updated only on new signals for efficient redraws.
π Read | Signals | @mql5dev
#MQL5 #MT5 #Indicator
Signals now form βboxesβ around crossover bars and wait for a price breakout before confirming direction. Boxes can auto-extend using average candle size, making the breakout logic adapt to volatility instead of fixed ranges.
Rendering moves beyond standard plots by using the MQL5 Canvas library. Gradient βfogβ overlays visualize trend strength with smooth interpolation, while signals can be shown as triangles or labeled bubbles.
Risk tools are integrated directly into the indicator: dynamic TP/SL levels are computed from candle-size multipliers or percentage moves, then drawn as lines and summarized in an on-chart table, updated only on new signals for efficient redraws.
π Read | Signals | @mql5dev
#MQL5 #MT5 #Indicator
β€26π4π2
A Python trading simulator is being aligned with MetaTrader 5 semantics by implementing order_send as a single entry point for all trade operations. The request payload mirrors MqlTradeRequest fields and routes actions to either MT5 or a local tester mode.
In tester mode, pending orders, positions, and deals are stored in containers, with explicit handling for open, close, modify, delete, and history logging. Close requests validate bid/ask pricing rules and require opposing order types.
Request validation is centralized in a TradeValidators class: lot constraints, margin checks, entry price validity, stops level, SL/TP direction, max volume, max orders, and freeze level rules. A CTrade wrapper calls the simulatorβs overridden order_send, enabling MT5-like trade APIs for strategy testing workflows.
π Read | Forum | @mql5dev
#MQL5 #MT5 #AlgoTrading
In tester mode, pending orders, positions, and deals are stored in containers, with explicit handling for open, close, modify, delete, and history logging. Close requests validate bid/ask pricing rules and require opposing order types.
Request validation is centralized in a TradeValidators class: lot constraints, margin checks, entry price validity, stops level, SL/TP direction, max volume, max orders, and freeze level rules. A CTrade wrapper calls the simulatorβs overridden order_send, enabling MT5-like trade APIs for strategy testing workflows.
π Read | Forum | @mql5dev
#MQL5 #MT5 #AlgoTrading
β€22π3β‘2β1