The complete
NEXUS MATRIX
field manual.
A technical, practical guide to the native MT5 order-flow cockpit: trade-tick footprint, recorded L2 heatmap, visible profile, price-aligned DOM, Time & Sales, Flow Engine, four setup families, tick-replay Scoreboard, trade overlays, Control Center, automation bridge and the workflows that connect them.
Five minutes to a useful chart.
NEXUS MATRIX is designed to install like an MT5 indicator but behave like an order-flow workstation. The quickest route is to establish data quality first, then tune only what matters for the session.
1. Attach it
Place the single MQ5 indicator on the symbol you want to trade. NEXUS reads the symbol tick size, footprint timeframe, MT5 trade ticks and, when available, MarketBook depth.
2. Let history stream
Roughly the latest 20 footprint bars are populated synchronously. Older requested trade-tick bars stream in bar-aligned chunks so the terminal does not freeze.
3. Verify the cockpit
Confirm the footprint is printing, Time & Sales is updating, and the DOM/heatmap show depth if your feed supplies it. Then open SETTINGS and tune Heatmap, Footprint, Signals and Layout.
Why “native” is not a marketing footnote.
The tool lives inside the platform that already holds your symbol, broker connection, chart, positions, orders and execution workflow. That eliminates an entire synchronization layer between an external order-flow package and MT5.
One symbol context
Market data, open positions, orders, trade history and the order-flow display all reference the same MT5 symbol. No manual symbol mapping is required inside the indicator.
One visual surface
The source composites heatmap, footprint, DOM, profile, Flow Engine, signal log, tape, toolbar, Control Center, toasts and crosshair onto one ARGB canvas. It intentionally avoids a forest of chart objects.
Native scale synchronization
NEXUS owns its viewport but continuously synchronizes the MT5 fixed price scale. That keeps native trade levels and user drawings aligned with the custom footprint rows.
Know what each layer is actually made from.
The most important conceptual split is simple: footprint/tape come from executed trade ticks; heatmap/DOM come from resting MarketBook depth. The engines combine both when both are available.
Trade-side classification
NEXUS first checks exchange-side tick flags. If a tick is cleanly flagged BUY or SELL, that side is used. Otherwise it falls back through quote tests, uptick/downtick logic, the previous rule, then midpoint classification.
In Time & Sales, a side label with a trailing ~ indicates fallback classification rather than a clean exchange-side flag.
Why this matters
A footprint is only as meaningful as its side classification. Exchange-side flags reduce ambiguity. Fallback rules make the tool usable on feeds that do not expose them, but you should interpret tiny deltas with more caution.
Read the cockpit from left to right.
The central chart is not one indicator panel. It is a layered market-microstructure map. Learn what each area owns and the screen becomes much less noisy.
Footprint + historical L2
Executed flow is drawn over recorded resting depth. This is the primary decision surface.
Visible profile
Bid/ask executed volume aggregated over currently visible footprint bars, including POC and 70% value area.
Price-aligned DOM
Current resting bid/ask liquidity with adds/pulls, spread and your order/position tags.
Flow Engine
Six normalized factors compressed into a 0–100 state plus velocity/acceleration.
Signals / Scoreboard
Confirmed setup log, session win rate, expectancy, all-time journal statistics and per-setup hit rates.
Time & Sales
Executed trade stream with large-print emphasis.
Top-bar status pills
LIVE / HISTORY shows viewport mode. L2 N / NO L2 confirms MarketBook availability. EXCH SIDE / MIXED SIDE / TICK RULE exposes how trade-side classification is being obtained. During backfill, SYNC % shows background trade-history progress.
Quick toolbar
HEATMAP, SIZES, ARROWS and palette can be cycled without opening SETTINGS. −/+ change bar width, LIVE re-arms time-follow + vertical auto-fit, SETTINGS opens the Control Center and ? opens the built-in help.
Right-side diagnostics
The top bar also shows the live Flow score, last render cost in milliseconds and the server-derived clock. These are useful when you want to distinguish a quiet market from a sluggish terminal.
Executed order flow, price by price.
Each footprint bar stores bid volume, ask volume, trade count, open/high/low/close keys, total volume, delta and bar POC. The rendering then adapts to zoom.
Diagonal imbalance
Bullish imbalance compares ask volume at price k with bid volume one tick below. Bearish imbalance compares bid at k with ask one tick above. The source default ratio is 3.0 (300%) with a minimum-volume gate.
How to use it
Do not trade a bright imbalance in isolation. Ask whether it is initiative (stacked and accepted in the direction of travel) or trapped (heavy aggression at an extreme that fails to move price).
Where liquidity waited, moved and vanished.
The heatmap records MarketBook snapshots into time slices inside each footprint bar. For every price and slice it accumulates time-weighted bid/ask size, peak size, last size, BBO path, book imbalance and depth pressure.
Three ways to compress depth
Adaptive reference
When no fixed reference is set, visible heatmap quantities plus live book sizes are sorted. The floor and full-scale reference are chosen from configurable percentiles, then smoothed over time.
Time slices
Each footprint bar can contain 1–60 depth slices. Narrow columns merge slices so each painted slice remains at least about two pixels wide.
Persistent local cache
Recorded L2 can be stored under MQL5\Files\NEXUS_MATRIX and reloaded if period/tick-size/file-version checks match.
Mid-price trail
When enabled, NEXUS records best bid/ask for each heatmap slice and draws the historical midpoint through the depth field. It sits beneath footprint cells so it provides market-path context without becoming the dominant object.
Resting-size labels
KEY LEVELS prints only stronger cells; ALL CELLS prints wherever space allows. TWA is the exact time-weighted resting size across the bar, PEAK is the maximum observed size, and LAST is the final/live resting size.
Interactive heat-intensity lab
This reproduces the source transformation conceptually. Change the curve and gamma to see why the same book can look very different without changing the underlying quantity.
Size is interesting. Behavior is information.
NEXUS does more than paint large levels. It tracks candidate walls, their persistence, peak size, trade interaction and whether they disappear by pulling or by being traded through.
Wall definition
A bid or ask level must exceed the configured multiple of the near-market median on the same side, respect any absolute minimum, sit within the scan radius and persist for the minimum life.
PULLED = X
If a mature wall vanishes without meaningful trade interaction/crossing, it is recorded as pulled liquidity.
EATEN = dot
If the wall disappears after trades hit it or price crosses through it, NEXUS records it as eaten liquidity.
Context that follows what you are actually looking at.
The profile is recalculated from the footprint bars currently visible in the custom viewport. That makes it a contextual lens rather than a fixed session template.
POC
The highest executed-volume price across visible bars. NEXUS splits each profile row into bid and ask components and outlines the POC.
70% Value Area
Starting from POC, the algorithm repeatedly adds whichever adjacent price row has more volume until 70% of visible volume is included. The resulting limits are VAH and VAL.
The live book, locked to the same price geometry.
The DOM is drawn against the same internal price transform as the heatmap and footprint. Current best bid/ask, resting size, add/pull changes, spread and your orders all occupy the same vertical language.
What the numbers mean
The book shows intention. The tape shows execution.
NEXUS keeps a ring buffer of prints, displays time to the millisecond, classified side, price and size, and aggregates prints sharing the same millisecond, side and price into one exchange-sweep style row.
Big-print threshold
For display, NEXUS estimates the median size from up to the newest 200 tape records, then defines “big” as at least 4× median or median + 1, whichever is larger.
Prints per second
The Time & Sales header reports the average number of prints per second across the latest 10 seconds, giving a quick activity read independent of candle shape.
Six dimensions. One live state.
The Flow Engine is a normalized directional synthesis. It is not the same engine as the four bar-arrow setups, but its state can confirm the context and is published for automation.
Interactive Flow Engine simulator
Move the six normalized factors from −1 to +1. This uses the exact source weights. Volume below the source default minimum of 40 is shown as BUILDING FLOW regardless of score.
Velocity
The score derivative is capped, then exponentially smoothed. Positive velocity means the composite state is strengthening upward; negative means it is deteriorating.
Acceleration
The change in smoothed velocity is also capped and smoothed. It helps distinguish a stable directional state from one that is rapidly gaining or losing force.
Flow Pulse
The right card retains a rolling history of 160 Flow scores and plots it as a sparkline. This gives direction and persistence to the number: 72 rising fast is not the same state as 72 decaying toward neutral.
Sequence counter
The source increments a flow sequence when the score crosses the long threshold upward or the symmetric short threshold downward. That sequence is also published through the automation bridge.
Four setup families, then contextual confirmation.
Confirmed BUY/SELL arrows are evaluated bar by bar. The engine first computes raw setup strength, then adjusts the bull/bear scores with recorded L2 imbalance, depth pressure, liquidity events and Flow Engine context when book confirmation is enabled.
At a swing low, heavy seller aggression concentrates near the low, yet the bar closes materially away from that low. Bullish absorption can be boosted by strong passive bid size in the recorded heatmap. The short version is mirrored at a swing high.
Price pushes to a genuine new extreme, but aggressive volume at the outermost level becomes thin relative to nearby levels and price closes back inside the range. It looks for fading aggression, not merely a small bar.
Price makes a new low while the bar delta is positive and the close recovers into the bar, or a new high while delta is negative and the close weakens. The divergence is directional, not just “price and delta disagree somewhere.”
Continuation logic requires consecutive diagonal imbalances, aligned delta, strong close location and relative volume. A break beyond the previous swing can add confidence; opposite stacked imbalance penalizes the setup.
Conservative
Internal setup threshold 0.70; relative-volume minimum 0.90. Fewer arrows, stronger raw gate.
Balanced
Source default. Internal threshold 0.58; relative-volume minimum 0.70.
Aggressive
Internal threshold 0.46; relative-volume minimum 0.50. More arrows and more noise by design.
Exact v1.01 setup gates — technical deep dive
| Setup | Long-side source conditions (short side is mirrored) | What it is trying to isolate |
|---|---|---|
ABS | Swing low near the recent lookback extreme; close position ≥ 60% of bar range; lower-band seller/buyer ratio ≥ 1.5; edge concentration ≥ 25%; sufficient seller volume. Recorded passive bid concentration can boost the raw score. | Aggressive selling is real, but price rejects the low instead of accepting lower. |
EXH | Genuine new low; close position ≥ 45%; bar opened at least 2 ticks above the low; bid volume at the extreme is thin versus average and strictly fades into the edge across the last three levels. | The push reaches a fresh extreme with progressively weaker selling aggression. |
DIV | New low below the previous qualifying bar and near the lookback swing low; normalized bar delta ≥ +8%; close position ≥ 50%. | Price extends down while net aggressive flow is already positive and the bar recovers. |
IMB | Required bullish stacked count reached; normalized delta ≥ +10%; close position ≥ 60%; relative volume ≥ at least 1.0×. Closing beyond prior high adds raw strength; simultaneous opposite stack halves it. | Initiative continuation with layered aggression, volume and directional acceptance. |
After the raw setup score is built, optional L2/flow context modifies it. The source combines recorded book imbalance/depth into a book term, liquidity-event bias and bar-close Flow state into a confidence adjustment: conf = 0.22·book + 0.10·events + 0.08·flow. Bull strength is multiplied by (1 + conf); bear strength by (1 − conf), then the selected preset threshold and a 0.12 bull-vs-bear separation gate are applied.
Signals with a standardized measuring stick.
Every confirmed arrow can be replayed on real trade ticks after its bar closes. The objective is not to simulate a broker fill perfectly; it is to compare setups and settings with the same ruler.
WIN
The target distance is touched before the stop. Result is recorded as +T ticks.
LOSS
The stop distance is touched before the target. Result is recorded as −S ticks.
T/O
Neither is touched within the horizon. Result becomes the directional tick move at the last trade price available by timeout.
MFE / MAE are journaled
During tick replay the engine tracks maximum favorable excursion and maximum adverse excursion in ticks. Those values are written into the CSV journal even though the compact on-chart row mainly shows final WIN / LOSS / T/O result.
Rows are navigable
Clicking a confirmed signal row calls the internal jump-to-bar action, centers that historical footprint in the viewport and re-enables vertical auto-fit around the selected context.
Session KPIs
Win rate and expectancy use resolved confirmed arrows in the bars currently retained in memory. Running signals are counted separately.
All-time journal
The CSV journal is filtered by the current target, stop, horizon and preset, so changing the measurement parameters changes which historical journal rows belong to the comparison.
Your execution history, aligned to the NEXUS viewport.
v1.01 can read and draw historical deals, open positions and pending orders for the active symbol. This layer is read-only: it visualizes what MT5 already knows.
Entries and exits
Entry deals appear as directional markers with size. Exits can show money P/L, and matching entry→exit deals are linked with a dashed line colored by outcome.
Open position
The average position price is drawn with a live label containing direction, volume, entry, tick distance from last and current MT5 P/L.
Orders / SL / TP
Pending limit, stop and stop-limit orders are tagged beside the DOM. Position SL/TP levels are displayed on the closing side.
InpMyTradesMagic to −1 for manual + all EA trades, or to a specific magic number to isolate one strategy.Build the workstation you actually trade with.
The source philosophy is explicit: the MT5 inputs dialog provides first-run defaults; after launch, visual behavior is tuned live on chart and remembered per symbol.
On small chart windows the source automatically compresses side panels and preserves at least ~40% of the width for the footprint.
Persistence logic
Settings are saved per symbol when Remember Settings is enabled. The code stores a hash of the underlying MT5 input defaults. If you later edit the Inputs dialog, that hash changes and the on-screen overrides are reset so the new Inputs take precedence.
All 83 source inputs. No hidden corner.
This table is generated directly from the supplied v1.01 source declarations. “Source purpose” follows the code comments; “Practical interpretation” is guidance for using the parameter in a real workflow.
NEXUS MATRIX - DATA 7 parameters
| Parameter | Type | Default | Source purpose | Practical interpretation |
|---|---|---|---|---|
InpFootprintTF | ENUM_TIMEFRAMES | PERIOD_M1 | Footprint bar duration | Sets the aggregation clock for footprint bars, signals, heatmap columns and scoreboard horizon. M1 is the source default and the most direct fit for fast intraday reading. |
InpHistoryBars | int | 240 | Bars of footprint history (streamed in background) | How much trade-tick footprint history is requested. The most recent ~20 bars load immediately; older bars stream in chunks. |
InpMaxBars | int | 360 | Hard cap of bars kept in memory | Hard memory cap for footprint and recorded heatmap columns. Increase only if you deliberately want a longer local session view. |
InpRefreshMs | int | 250 | Data + scene refresh interval | Main data/scene refresh cadence. Lower values feel more reactive but increase terminal workload. |
InpMinPrintVolume | double | 0.0 | Ignore prints below this volume | Filters tiny prints before they enter footprint/tape logic. Keep at 0 unless your feed has meaningful micro-print noise. |
InpUseExchangeSide | bool | true | Prefer TICK_FLAG_BUY / TICK_FLAG_SELL | When available, exchange BUY/SELL tick flags are preferred. If unavailable, NEXUS falls back to quote/tick-rule classification. |
InpTapeBufferSize | int | 1024 | Time & Sales memory (prints) | Maximum in-memory Time & Sales prints before ring-buffer rollover. |
NEXUS MATRIX - FIRST-RUN LOOK (then tuned on screen) 12 parameters
| Parameter | Type | Default | Source purpose | Practical interpretation |
|---|---|---|---|---|
InpColumnWidthPx | int | 96 | Initial bar width (wheel zooms it) | Initial bar width. After launch, the mouse wheel becomes the primary control. |
InpCellMode | ENUM_NXM_CELLS | NXM_CELLS_AUTO | AUTO lets level-of-detail follow zoom. Force BID x ASK, DELTA or VOLUME when you need one read consistently. | |
InpShowZeroOpposite | bool | true | Print 0 on the empty side | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpImbalanceRatio | double | 3.0 | Diagonal imbalance ratio (3.0 = 300%) | Diagonal footprint imbalance threshold. 3.0 means 300%. Higher values reduce frequency and emphasize stronger asymmetry. |
InpImbalanceMinVol | double | 10.0 | Imbalance minimum volume | Prevents tiny opposing values from generating visually dramatic but economically trivial imbalance flags. |
InpStackedCount | int | 3 | Stacked imbalance count | Minimum consecutive diagonal imbalances used by the continuation setup. |
InpFootprintGlassPct | int | 74 | Footprint cell opacity over the heatmap % | Opacity of footprint cells over the L2 heatmap. Lower values reveal more historical depth; higher values prioritize executed flow. |
InpShowProfile | bool | true | Visible-range volume profile panel | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpShowDOM | bool | true | Price-aligned DOM ladder | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpShowFlowCard | bool | true | Flow engine + signal log cards | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpShowTape | bool | true | Time & Sales | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpShowBarStats | bool | true | VOL / DELTA / CVD rows under the bars | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
HEATMAP 14 parameters
| Parameter | Type | Default | Source purpose | Practical interpretation |
|---|---|---|---|---|
InpHeatmapEnable | bool | true | L2 heatmap beneath the footprint | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpHeatmapPalette | ENUM_NXM_PALETTE | NXM_PAL_THERMAL | Palette | Visual encoding only. BID | ASK is the most directional; THERMAL/INFERNO/OCEAN emphasize intensity. |
InpHeatmapScale | ENUM_NXM_SCALE | NXM_SCALE_SQRT | Intensity scaling | Intensity transform. LINEAR preserves proportionality, SQRT balances the range, LOG reveals thin depth. |
InpHeatmapSlicesPerBar | int | 8 | Time slices per footprint bar (1..60) | Temporal resolution of recorded L2 inside each footprint bar. More slices reveal faster depth changes but increase visual density. |
InpHeatmapFloorPct | double | 20.0 | Auto-levels: floor percentile (0..80) | Adaptive low-end percentile. Raising it suppresses weak background liquidity. |
InpHeatmapRefPercentile | double | 97.0 | Auto-levels: full-scale percentile (50..99.9) | Adaptive full-scale percentile used to normalize depth intensity. |
InpHeatmapFixedRef | double | 0.0 | Fixed full-scale size (0 = adaptive) | When >0, disables adaptive reference scaling and uses a fixed full-scale size. |
InpHeatmapContrast | double | 1.20 | Gamma: >1 darker thin levels | Gamma after the intensity transform. >1 darkens weaker levels and makes dominant liquidity stand out more aggressively. |
InpHeatmapOpacityPct | int | 94 | Heatmap opacity % | Global heatmap opacity. |
InpHeatmapMinQty | double | 0.0 | Ignore resting sizes below this | Absolute filter for resting size. Useful only when raw size units are stable and meaningful for the instrument/feed. |
InpHeatmapMidTrail | bool | true | Mid-price trail through the slices | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpHeatmapPersist | bool | true | Cache recorded L2 across reloads | Writes recorded L2 to a local binary cache so it survives reloads. MT5 does not supply historical depth itself. |
InpHeatmapQtyMode | ENUM_NXM_QTY | NXM_QTY_KEY | Limit-order sizes printed in cells | OFF, KEY LEVELS or ALL CELLS for resting-size labels. |
InpHeatmapQtyStat | ENUM_NXM_STAT | NXM_STAT_TWA | Which size the labels show | TWA shows time-weighted size, PEAK shows maximum displayed size, LAST shows the final/live size. |
LIQUIDITY WALLS & EVENTS 6 parameters
| Parameter | Type | Default | Source purpose | Practical interpretation |
|---|---|---|---|---|
InpShowWalls | bool | true | Outline large resting orders | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpWallMultiplier | double | 3.5 | Wall = size >= N x median near-market level | Relative wall definition versus median near-market resting size on the same side. |
InpWallMinQty | double | 0.0 | Absolute minimum wall size (0 = relative) | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpWallRangeTicks | int | 30 | Scan radius around mid | Price radius around the midpoint used when detecting relative walls. |
InpWallMinLifeSec | int | 2 | Must rest N seconds before it is drawn | A candidate must persist this long before it is rendered as a wall. |
InpShowLiquidityEvents | bool | true | x = pulled, dot = eaten by trades | Shows pulled liquidity as X markers and eaten/crossed liquidity as dots. |
ARROW SIGNALS (BUY below bar / SELL above bar) 15 parameters
| Parameter | Type | Default | Source purpose | Practical interpretation |
|---|---|---|---|---|
InpShowBarSignals | bool | true | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpArrowPreset | ENUM_NXM_PRESET | NXM_SIG_BALANCED | Conservative, Balanced or Aggressive changes signal threshold and relative-volume gate. | |
InpArrowReversals | bool | true | Absorption, exhaustion, delta divergence | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpArrowContinuation | bool | true | Stacked-imbalance initiative | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpArrowUseBook | bool | true | L2 confirmation | Allows recorded L2 imbalance, depth pressure and liquidity events to confirm/penalize bar signals. |
InpArrowLookbackBars | int | 6 | Swing/context window used by reversal and divergence logic. | |
InpArrowCooldownBars | int | 2 | Suppresses same-direction confirmed arrows for the configured number of bars. | |
InpArrowMinBarVolume | double | 0.0 | 0 = relative-volume filter only | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpArrowShowPending | bool | true | Hollow pulsing arrow on the live bar | Shows a hollow pulsing arrow while the live bar still qualifies. It is provisional until bar close. |
InpArrowShowLabels | bool | true | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpArrowAlertPopup | bool | false | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpArrowAlertSound | bool | false | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpArrowAlertSoundFile | string | "alert2.wav" | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpArrowAlertPush | bool | false | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpArrowToasts | bool | true | In-app toast card on every confirmed arrow | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
SIGNAL SCOREBOARD (measured outcome of every arrow) 4 parameters
| Parameter | Type | Default | Source purpose | Practical interpretation |
|---|---|---|---|---|
InpScoreTargetTicks | int | 8 | Target in ticks (touched first = WIN) | Scoreboard target distance. This is a measurement ruler, not an execution order. |
InpScoreStopTicks | int | 8 | Stop in ticks (touched first = LOSS) | Scoreboard stop distance. Same caveat: measurement only. |
InpScoreHorizonBars | int | 10 | Time-out after N bars (P/L at that point) | If neither target nor stop is hit first, the signal times out after this many footprint bars and is marked at the last available trade price. |
InpScoreJournal | bool | true | Log every resolved arrow to a CSV journal | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
MY TRADES ON THE FOOTPRINT (read-only) 3 parameters
| Parameter | Type | Default | Source purpose | Practical interpretation |
|---|---|---|---|---|
InpShowMyTrades | bool | true | Entries, exits, P/L, open position | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpMyTradesMagic | long | -1 | -1 = all EAs + manual, else this magic only | -1 displays manual + all EA trades for the symbol; otherwise filter to one magic number. |
InpShowMyOrders | bool | true | Pending orders + SL/TP tags on the DOM | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
VERTICAL AUTO-FIT 5 parameters
| Parameter | Type | Default | Source purpose | Practical interpretation |
|---|---|---|---|---|
InpVerticalOccupancyPct | double | 84.0 | Target vertical occupancy (55..94%) | Controls how much of the vertical plotting zone the automatically fitted price range should occupy. |
InpVerticalMinRangeTicks | int | 28 | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpVerticalBookRadiusTicks | int | 14 | L2 ticks around the market included | Includes nearby L2 levels in vertical auto-fit so visible depth is not clipped. |
InpVerticalSafetyTicks | int | 2 | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpVerticalContractRate | double | 0.22 | Smooth zoom-in, instant zoom-out | Auto-fit expands immediately when needed and contracts smoothly at this rate. |
SCALP FLOW ENGINE 7 parameters
| Parameter | Type | Default | Source purpose | Practical interpretation |
|---|---|---|---|---|
InpSignalThreshold | double | 72.0 | 50..95; LONG >= threshold, SHORT <= 100-threshold | Flow Engine state threshold. Source default 72 means LONG >=72 and SHORT <=28, subject to minimum live-bar volume. |
InpSignalMinBarVolume | double | 40.0 | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpSignalBookLevels | int | 12 | Near-market L2 radius used by Flow Engine book/depth calculations. | |
InpSignalTapeWindowSec | int | 8 | Recent Time & Sales window used in the tape factor. | |
InpSignalTapePrints | int | 80 | Maximum recent prints considered by the tape factor. | |
InpEnableSignalAlerts | bool | false | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpSignalCooldownSec | int | 30 | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
AUTOMATION BRIDGE 2 parameters
| Parameter | Type | Default | Source purpose | Practical interpretation |
|---|---|---|---|---|
InpPublishAutomationBridge | bool | true | Live flow state for MQ FLOW SCALPER EA | Publishes the live state for compatible automation workflows. |
InpPublishTerminalGlobals | bool | true | Publishes the bridge as MT5 terminal global variables as well as public indicator buffers. |
STYLE 8 parameters
| Parameter | Type | Default | Source purpose | Practical interpretation |
|---|---|---|---|---|
InpFont | string | "Consolas" | Numbers | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpUiFont | string | "Segoe UI" | Interface | Source-defined parameter. Use the adjacent feature chapters for interpretation. |
InpBackgroundColor | color | C'4,9,14' | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpAccentColor | color | C'0,215,255' | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpBuyColor | color | C'0,230,140' | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpSellColor | color | C'255,64,88' | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpPOCColor | color | C'255,201,64' | Source-defined parameter. Use the adjacent feature chapters for interpretation. | |
InpRememberSettings | bool | true | Remember on-screen settings per symbol | Persists on-chart Control Center overrides per symbol. |
Order-flow state can leave the screen without leaving MT5.
v1.01 retains the MQ Flow Scalper bridge contract and adds arrow state. This lets a compatible EA read the same live factors that the visual cockpit is displaying.
18 public indicator buffers
FLOW_SCORE, DIRECTION, DELTA, TAPE, BOOK, DEPTH, STACK, ABSORPTION, BAR_VOLUME, VELOCITY, ACCELERATION, SEQUENCE, LAST_PRICE, SPREAD_TICKS, ARROW_DIR, ARROW_SCORE, ARROW_SEQ, ARROW_PENDING.
Terminal global contract
When enabled, keys are published under MQFP_<symbol>_<tf>_*, including heartbeat/version, score/direction/factors, bid/ask/last/spread and arrow metadata.
Turn information into a repeatable decision process.
The following are workflow examples, not claims of profitability. They combine location, executed aggression, resting liquidity and follow-through rather than treating any single signal as magic.
Absorption reversal scalp
Stacked-imbalance continuation
Failed breakout / delta divergence
Day-trading around POC / value
No-L2 fallback workflow
Read the screen as a sequence, not a screenshot.
These studies use the supplied product captures as visual examples. The point is to practice a diagnostic process: location → aggression → resting liquidity → response → confirmation → measured outcome.
Reversal signal in a dense ES heatmap
Start with location: the arrow appears where the footprint meets a meaningful transition in the heatmap. Next inspect executed flow at the extreme. If heavy one-sided aggression fails to push price further, the key question becomes whether passive liquidity absorbed it or whether aggression simply exhausted.
Then read the right column: a neutral or rebuilding Flow Engine after an extreme can be more informative than a late fully directional score. Finally, use the Scoreboard tag only as a historical measurement of what happened after the signal, not as a substitute for live execution discipline.
Gold: footprint first, L2 second
On Gold, the visible footprint can be very sparse relative to index futures. That makes the distinction between exchange-side classification and fallback classification particularly important. Use the heatmap to identify where resting liquidity persisted, then ask whether executed volume actually interacts with it.
A single large number in the book is not enough. The more useful sequence is: level persists → tape accelerates into it → price fails to progress → reversal footprint appears, or the opposite: wall is consumed → price accepts through it → continuation.
Control Center as part of the trading process
Settings are not a “design menu.” They control what information gets visual priority. During fast scalping, a trader may prefer KEY LEVELS size labels, a cleaner heatmap floor and only essential panels. During post-session study, more slices, all-cell size labels and the full signal log can be useful.
The ability to save this per symbol is especially valuable because liquidity characteristics on ES and Gold are not visually identical.
What NEXUS shows, and what it does not prove.
Order flow is rich in context and equally rich in ways to fool yourself. These rules keep the screen from becoming a confirmation-bias machine.
Displayed liquidity ≠ guaranteed liquidity
Orders can pull, replenish or sit outside the actionable range. Treat the book as behavior over time, not as a static promise.
Delta ≠ direction
Positive delta can occur at a top and negative delta at a bottom. Price response to aggression is often more important than aggression alone.
Signal score ≠ probability
The arrow score is an internal setup-strength scale. Do not translate “ABS 90” into “90% chance of winning.”
Flow score ≠ entry trigger
It is a state synthesis. A threshold crossing may be late after an impulse or valuable as confirmation depending on location.
Scoreboard ≠ backtest engine
It uses real ticks after signals but assumes touch fills and no costs. It is a comparative diagnostic.
More detail ≠ more edge
If every quantity, marker and panel is visible at once, you can bury the one thing that matters. The Control Center exists to remove information as aggressively as it adds it.
When the cockpit looks wrong, diagnose the data path first.
Most apparent problems fall into one of four buckets: missing trade ticks, missing MarketBook depth, insufficient recorded L2 history, or a viewport/settings misunderstanding.
“NO MARKET DEPTH” in the DOM
Your symbol/feed is not currently returning MarketBook depth, or MarketBookAdd failed. The footprint may still work from trade ticks.
Heatmap has no old history
Expected on first use. MT5 has no historical L2. Keep the indicator running so NEXUS can record and persist its own cache.
Footprint values look too sparse
Check the instrument feed, real trade volume availability, InpMinPrintVolume, and whether your broker delivers exchange-side flags or requires fallback classification.
Numbers disappear when zoomed out
That is Auto LOD. Increase bar width or vertically zoom until cells have enough pixel room for text.
Saved settings suddenly reset
If you edited MT5 Inputs, the stored input hash changes and NEXUS intentionally lets the new input defaults win over saved visual overrides.
Scoreboard changes after T/S/H adjustment
Expected. Results are tied to the measurement parameters. Changing target, stop or horizon resets in-memory results and filters journal statistics to matching settings.
Trade markers seem different from native MT5 history
NEXUS hides native trade-history marks while its own overlay is enabled because the native time axis does not match the custom NEXUS horizontal viewport.
Questions you will ask after the first hour.
Short answers first. The deeper mechanics are documented in the relevant chapters above.
Do I need Level 2 data?
For the full heatmap, DOM, book/depth factors, walls and liquidity events, yes. The footprint and tape are built from trade ticks and can still operate when MarketBook is unavailable.
Does MT5 provide historical depth?
No. The source explicitly handles this limitation by recording L2 live from the moment NEXUS sees MarketBook data and optionally caching those recorded columns locally across reloads.
Why does the heatmap begin only after I attach the tool?
Because historical L2 is not supplied by MT5. NEXUS can backfill trade-tick footprint history, but depth history must be recorded prospectively.
What does BUY/SELL~ in Time & Sales mean?
A tilde means the side was classified by the fallback quote/tick-rule logic rather than a clean exchange-side BUY/SELL flag.
Are scoreboard WIN/LOSS labels real trades?
No. They are a standardized measurement: entry at the signal bar close, target-first = WIN, stop-first = LOSS, otherwise timeout P/L. It uses real subsequent trade ticks but assumes touch fills and no costs.
Can a live arrow disappear?
Yes. A pending live-bar arrow is provisional. Confirmed arrows are frozen at bar close and subject to the configured cooldown.
Why would I use Conservative mode?
It raises the internal setup threshold and the relative-volume gate, producing fewer but stronger qualifying arrows in the source logic.
What exactly does the Flow Engine score mean?
It is a normalized synthesis of six order-flow factors. Above the configured threshold it becomes a LONG CANDIDATE; below the symmetric lower threshold it becomes a SHORT CANDIDATE, provided minimum bar volume is met.
Can I use NEXUS without the right-side panels?
Yes. The Layout tab can independently hide the visible profile, DOM, Flow Engine/signal log and Time & Sales.
Does NEXUS replace MT5 execution?
It transforms the chart into an order-flow workstation while remaining inside MT5. The v1.01 code shown here is primarily visualization/analysis; it can display your trades/orders and publish state to an automation bridge.
What happens to my native MT5 chart when I remove NEXUS?
The code saves chart properties when it starts and restores them on deinitialization, including scale, colors, mouse settings and trade-history visibility.
Why are my MT5 trade-history marks hidden?
When NEXUS draws its own trade overlay, native MT5 history is hidden because MT5 positions those marks on the native time axis rather than the NEXUS viewport. The original setting is restored later.
Where are settings saved?
Per-symbol text configuration files under MQL5\Files\NEXUS_MATRIX when Remember Settings is enabled.
Where is the heatmap cache saved?
A binary file under MQL5\Files\NEXUS_MATRIX named from the symbol and footprint period.
Where is the signal journal saved?
CSV under MQL5\Files\NEXUS_MATRIX\signals_<symbol>_<period>s.csv when signal journaling is enabled.
Can I connect an EA to the engine?
Yes. The source exposes 18 indicator buffers and can publish a compatible MQFP_* terminal-global bridge containing score, direction, factors, velocity, acceleration, prices and arrow state.
What does the visible profile calculate?
It aggregates executed bid/ask volume across the bars currently visible in the NEXUS viewport, finds the largest-volume price as POC, then grows a 70% value area outward from POC.
Why do numbers disappear when I zoom out?
That is intentional Auto LOD. When rows/columns become too small, NEXUS switches away from dense text so nothing overlaps or overflows.
Can I have different workspaces for ES and Gold?
Yes. On-chart settings are saved per symbol, so each instrument can retain a different visual configuration.
Is a large resting order automatically bullish or bearish?
No. Resting liquidity can hold, pull, be eaten, or simply sit outside the action. The guide treats walls as context, not as standalone trade commands.
Order-flow language without fog.
Search the terms you see on screen and in the source-derived explanations.
- Aggressor
- A trade-side interpretation of the market order that initiated a print. NEXUS prefers exchange BUY/SELL flags when available, then falls back to quote/tick rules.
- Ask volume
- Executed volume classified as buyer-aggressive at a price level. In the footprint, this is the right side of Bid × Ask.
- Bid volume
- Executed volume classified as seller-aggressive at a price level. In the footprint, this is the left side of Bid × Ask.
- Book imbalance
- Near-market resting bid vs ask size imbalance over the configured number of L2 levels.
- CVD
- Cumulative Volume Delta: running sum of bar delta across retained footprint bars.
- Delta
- Ask-aggressor volume minus Bid-aggressor volume.
- Depth pressure
- Smoothed directional pressure derived from weighted bid/ask stacking and pulling close to the market.
- DOM
- Depth of Market. NEXUS renders a price-aligned ladder from MT5 MarketBook data.
- Eaten liquidity
- A detected wall that disappears after trades hit/cross it, shown as a dot when liquidity events are enabled.
- Exhaustion
- A reversal setup where a genuine new extreme forms with strictly fading aggression at the edge and price closes back from the extreme.
- Footprint
- Per-price executed volume inside a time bar, rendered as Bid × Ask, Delta, Volume or histogram depending on mode/zoom.
- Flow Engine
- Real-time 0–100 synthesis of Delta, Tape, Book, Depth, Stack and Absorption factors.
- Imbalance
- A diagonal comparison between aggressive volume at one price and the opposite-side volume one tick away.
- L2 / Market Depth
- Resting limit-order information exposed by the broker/data feed through MT5 MarketBook.
- Liquidity wall
- A resting level whose size exceeds a configurable multiple of the near-market median on the same side and persists long enough.
- Mid-price trail
- Historical best-bid/best-ask midpoint path recorded through heatmap time slices.
- MFE
- Maximum Favorable Excursion in ticks during scoreboard replay.
- MAE
- Maximum Adverse Excursion in ticks during scoreboard replay.
- POC
- Point of Control, the price level with the greatest displayed volume in the relevant bar/profile.
- Pulled liquidity
- A qualifying wall that disappears without trade interaction/crossing, shown as an X when events are enabled.
- Relative volume
- Current bar volume divided by average volume of the selected lookback bars.
- Stacked imbalance
- Consecutive diagonal imbalances in one direction; used as an initiative/continuation signal component.
- Tape
- Time & Sales stream of executed trades.
- TWA
- Time-weighted average resting size across heatmap slices.
- VAH / VAL
- Value Area High / Low. NEXUS expands from visible-profile POC until 70% of visible executed volume is included.
- Velocity
- Smoothed first derivative of Flow Engine score over time.
- Acceleration
- Smoothed change in Flow Engine velocity.
- Visible Profile
- Executed bid/ask volume aggregated over the footprint bars currently visible in the NEXUS viewport.
- Scoreboard
- Tick-replay measurement of confirmed arrows using target, stop and horizon rules; it is not a broker execution report.
- Pending arrow
- Live-bar, hollow/pulsing arrow that can disappear before close. Confirmed signals are frozen only after the bar closes.
- Auto LOD
- Automatic level of detail: wide columns show text-rich footprint cells, narrow columns collapse toward histogram/heat to avoid overflow.
- One canvas
- NEXUS composites its visual stack into one ARGB canvas instead of creating a large population of MT5 chart objects.
The guide, connected back to the real tool.
Every supplied product capture is included here. Click any image for a full-screen view.