Multi-Factor FX Analysis in MT5: COT, CB Rates, Carry, and ESI in One Terminal

Multi-Factor FX Analysis in MT5: COT, CB Rates, Carry, and ESI in One Terminal

10 June 2026, 14:40
Santiago Nicolas Pla Casuriaga
0
482

Professional FX analysis draws from several distinct data streams simultaneously: central bank policy trajectories, speculative positioning from CFTC reports, carry yield differentials, macroeconomic surprise momentum, options market skew, and cross-asset correlations. Each of these signals lives in a different place — rate derivatives platforms, government data portals, broker swap specifications, options desks.

The practical consequence for a systematic trader is a fragmented pre-session workflow: multiple browser tabs, manual data reconciliation, and the near-certainty that some signal will go stale or be missed entirely during a live session. The larger problem is not data access — most of this information is publicly available — but synthesis: bringing it into a single decision surface where relationships between signals are immediately legible.

This article presents the Global Investing FX Terminal, an Expert Advisor for MetaTrader 5 that addresses this problem. It consolidates thirteen analytical panels into a single dashboard rendered directly over the chart window, drawing from both the MT5 native data environment and an external pipeline that processes publicly available institutional datasets on a continuous basis. A companion web terminal at global-investing.pages.dev provides the same analytical framework in a browser, extending the workflow beyond the trading station.

Global Investing FX Terminal — full dashboard overlay in MetaTrader 5
Figure 1. Global Investing FX Terminal — full dashboard overlay in MetaTrader 5.

Analytical Architecture: Thirteen Panels, One Dashboard

The terminal renders as a full-window dashboard — a single canvas-composited frame that eliminates the flicker and partial-refresh artifacts characteristic of object-based dashboard approaches in MT5. The layout adapts to any monitor resolution through a configurable scale multiplier accessible from the top bar (A+ / A−). All panels refresh on a user-defined cycle; the default is ten seconds.

The thirteen panels divide naturally into three analytical layers: market overview (live prices, calendar, open positions), macro-fundamental signals (CB rates, OIS expectations, COT positioning, ESI, composite score), and risk context (carry, volatility, correlations, retail sentiment). What follows is a description of each panel oriented toward analytical utility.

Market Overview

FX Pairs Table

Live bid/ask prices for all 28 major G10 pairs sourced from the MT5 symbol feed in real time, extended with NOK/SEK crosses — up to 36 pairs in total — whenever they're present in the broker's Market Watch. Each row displays spread in points, daily and weekly percentage change, absolute daily range in pips, and the current range as a percentage of the 14-day Average Daily Range (ADR%), where the ADR is the mean of the last 14 daily high-low ranges. The ratio is uncapped: a reading above 100% means the day is wider than the recent average.

The ADR% column provides immediate session-timing context. A pair at 100% of its average daily range has matched its typical extension; readings well above 100% mark an expansion day, usually driven by a catalyst. A pair at 30% ADR mid-session retains room for continuation. Row colors update tick-by-tick using the terminal's amber/dark palette, maintaining legibility under the high-contrast demands of a live trading environment.

FX Pairs Table — live G10 pairs with spread, daily and weekly change, ADR
Figure 2. FX Pairs Table — live bid/ask, spread, D%/W%, range in pips and ADR% across G10 pairs. Colors update tick-by-tick.

Pair Detail

Clicking any row in the FX Pairs Table opens a full analytical overlay for that pair. A centred popup renders a live candlestick chart with timeframe selector (M5 / M30 / H1 / H4 / D1 / W1) and chart-type toggle (Candles / Bars / Line), with price grid and time axis matching the MT5 native chart convention — oldest bar left, newest bar right. Below the chart, the popup surfaces the full analytical context for the pair in a single frame:

• Stats bar: ADR in pips, ADR% (colored red at 100% or more of the 14-day average range), 52-week High/Low, and HV30 with amber flag when realised volatility is elevated
• Composite & ESI: the six-factor composite score and economic surprise index reading per currency, colored using the same thresholds as their respective panels
• CB Rates: policy rate and directional bias (Hike / Hold / Cut) for both the base and quote currency
• 2Y Yield: each leg's 2-year government bond yield, colored relatively — the higher-yielding currency in green, the lower-yielding in red — as a carry/rate-differential read for the pair
• Swap rates: broker long and short swap values for the pair, color-coded by sign
• COT net positioning: leveraged fund net% for each currency; USD is estimated via a DXY-weighted synthetic of the seven G10 contracts and labeled accordingly
• Retail sentiment: long/short percentages colored using the same threshold rule as the Retail Sentiment panel (>55% green, <45% red)
• 25-delta Risk Reversal: the 1-month tenor for the pair, colored by sign
• AI Market Signal: the current signal for the pair with priority tag and generation timestamp
• Related News: headlines filtered to the base and quote currency, with publication date; clicking any headline opens an inline snippet popup to the side without closing the pair overlay

Pair Detail popup — EUR/USD analytical overlay with candlestick chart and multi-factor data
Figure 3. Pair Detail popup — EUR/USD, D1 view. Includes live candlestick chart (switchable M5—W1, Candles/Bars/Line), CB Rates, 2Y Yield, Swap, COT, Retail Sentiment, AI Market Signal, and Related News with inline article snippet.

Economic Calendar

Upcoming high- and medium-impact economic events surfaced from the MT5 native calendar API — the same dataset underlying the MetaTrader 5 calendar tab, displayed inline within the analytical framework without requiring a context switch. Each row shows event name, currency, importance level, time to release, and previous/forecast/actual values once published. Events within 15 minutes of release are highlighted in amber as a pre-alert signal ahead of the MT5 push notification.

The analytical value is sequencing: knowing that three JPY data releases cluster at the Tokyo open, or that a BoC statement falls 20 minutes into the New York session, directly informs position sizing and timing decisions in ways that no price chart communicates on its own.

Economic Calendar panel — upcoming G10 data releases with countdown, forecast and actual values
Figure 4. Economic Calendar — high and medium-impact events for the next 48 hours, with time to release, forecast, previous, and actual values as they print. Events within 15 minutes highlight in amber.

Clicking any calendar row opens a detail popup for that event: a release history chart plotting actual against forecast values over the trailing 24 prints, the upcoming release date and consensus forecast, and the event's data source.

Calendar event detail popup — Michigan 5-Year Inflation Expectations, Actual vs Forecast history chart, next release date, and release history table
Figure 5. Calendar event detail — Actual vs Forecast history chart, next scheduled release with consensus forecast, and a 24-period release history table.

Open Positions

Live account exposure pulled directly from the MT5 terminal: symbol, direction, volume, open price, current P&L in account currency, and accrued swap. Updates on every refresh cycle. The analytical value is adjacency — a trader monitoring an open AUD/USD long can simultaneously view COT showing leveraged funds at near-extreme short positioning in AUD, the CB Rates panel showing RBA at 4.35% with a Hike signal, and carry showing positive annualised yield, all on a single screen without navigating away from the position view.

Open Positions panel — live account exposure showing P&L and accrued swap per position
Figure 6. Open Positions — live account exposure with symbol, direction, volume, open price, P&L, and accrued swap.

Macro-Fundamental Signals

CB Rates & Bias

Policy rates for all eight G10 central banks (Fed, ECB, BoE, BoJ, RBA, BoC, SNB, RBNZ), plus Norges Bank (NOK) and Riksbank (SEK) whenever those currencies are present in the broker's Market Watch — ten central banks in total — alongside three forward-looking data points per bank: the current policy bias (Hike / Hold / Cut), the OIS market-implied probability of a move at the next meeting expressed as a percentage, and the next meeting date.

The bias signals are updated following each major central bank meeting and communication event. The probability column reflects live OIS market pricing of the next decision, displaying the dominant-direction probability that matches the current bias classification: a hike bias shows the probability of a hike (e.g. 100%^ for the ECB, or 97%^ for the BoJ ahead of a widely expected move off its current 0.85% rate); a hold bias shows no percentage (e.g. the Fed, GBP, AUD, and CAD, all displaying a dash — no move is priced); a cut bias shows the cut probability (e.g. 72%v for the CHF). This follows the Bloomberg WIRP convention of displaying the probability of the expected direction rather than a fixed cut or hike metric regardless of bias. For pair analysis, the divergence between two central banks' bias columns is often the most durable FX signal available: a Hike-biased ECB against a Hold Fed is a structural tailwind for EUR that tends to persist across multiple sessions.

Central Bank Rates & Bias panel
Figure 7. Central Bank Rates & Bias — policy rate, directional bias, OIS-implied probability, and next meeting date per G10 central bank.

Clicking any row in the CB Rates & Bias panel opens a detail popup for that central bank. The popup displays the current policy rate, directional bias badge, OIS-implied probability of the next decision, and the next scheduled meeting date — sourced directly from the MT5 native calendar so the data is updated intraday rather than relying on a static schedule.

The primary content is a rate history chart rendered in the step-after convention standard for central bank policy rate visualisation: each rate level holds horizontally until the exact date of a new decision, then steps vertically. A 1Y / 2Y / 4Y / 10Y range selector in the upper area of the chart filters the displayed window; the full 10-year history is fetched from the MT5 native calendar at popup open, so switching ranges requires no additional data requests. The Y-axis labels float on the right margin; X-axis dates are anchored left, centre, and right at their respective tick positions rather than centred uniformly, matching the axis convention used in standard financial charting for irregular time series.

Below the chart, a scrollable decision history table lists every rate decision in the MT5 calendar record: date (GMT), rate level in percent, change in basis points colour-coded green for hikes and red for cuts, and the previous rate. The table opens scrolled to the most recent decision with actual data, bypassing future scheduled meetings that have no outcome yet — the same auto-scroll behaviour applies when switching range selectors.

CB Rates detail popup — USD Federal Reserve, showing 4Y step chart of policy rate decisions, 1Y/2Y/4Y/10Y range selector, and scrollable decision history table with basis point changes colour-coded
Figure 7b. CB Rates detail popup — USD / Federal Reserve, 4Y view. Step chart plots the full rate decision history from the MT5 native calendar; 1Y / 2Y / 4Y / 10Y range selector filters the window. The scrollable table below shows Date (GMT), Rate (%), Change in basis points (red for cuts, green for hikes), and Previous rate for every decision on record.

COT Positioning — Leveraged Funds

The CFTC Commitments of Traders report represents the most comprehensive public window into institutional speculative positioning across the G10 futures complex, published weekly. The panel displays net leveraged fund positioning for seven currency futures (EUR, GBP, JPY, AUD, CAD, CHF, NZD) in thousands of contracts, the week-over-week change, and a horizontal bar chart that makes direction and relative magnitude immediately visible. NOK and SEK are intentionally excluded from this panel, as neither has a liquid CFTC futures contract.

The panel header timestamp reflects the exact week-ending date of the current data, confirming freshness without requiring the trader to cross-reference the CFTC publication schedule.

The analytical edge of COT data is not directional prediction but positioning extreme detection. When leveraged funds hold a multi-year extreme short in JPY — as observed at -41.1% net open interest in the session shown — the asymmetric risk is a sharp squeeze on any catalyst that forces those positions to unwind. The week-over-week change column, showing -19K for JPY in the same report, flags when a crowded trade is beginning to move.

COT Leveraged Fund positioning across G10 currencies
Figure 8. COT Leveraged Fund positioning across G10 currencies.

Surprise Index

A rolling economic surprise index showing how data releases for each of the nine covered currencies — the seven G10 currencies plus NOK and SEK — have come in versus consensus forecasts. Each currency receives a single bar: green for data consistently beating expectations, red for consistent misses. The methodology follows the Citi Economic Surprise Index approach — beat/miss/in-line scoring applied to the last N releases per currency, decay-weighted to give greater influence to recent events. High-impact releases (NFP, CPI, rate decisions) receive twice the weight of medium-impact releases, consistent with institutional weighting conventions; low-impact events are excluded from the index entirely. A surprise is always measured against the published consensus: releases with no published forecast are left out rather than compared with the previous value.

In the captured session: JPY at +0.9, USD at +0.8, AUD at -0.6. Surprise momentum tends to lead currency direction by two to four weeks in low-volatility regimes, as systematic data beats build a revision cycle that eventually gets priced into rate expectations — the ESI flags this shift before it appears in the CB Rates or OIS panels.

Economic Surprise Index panel
Figure 9. Economic Surprise Index panel.

Composite Score

A single ranked score per currency derived from six weighted inputs: COT positioning 52-week z-score, Momentum, retail sentiment, CB bias signal, Sharpe-adjusted carry yield, and economic surprise index. The default weighting is shown in the panel footer: COT 25% / Momentum 15% / Retail 18% / CB 18% / Carry 12% / ESI 12%. Momentum is a 5-day-smoothed reading of the Currency Strength Index (see the Currency Strength panel below), z-scored against its own trailing 60-day distribution — a realized-price-trend measure kept deliberately separate from the leveraged-fund positioning captured by COT. For NOK and SEK, which have no COT input available, the 25% COT weight is redistributed pro-rata across the other five components rather than scored as neutral. Using the z-score rather than raw net-as-%-of-open-interest for the COT component, and Sharpe-adjusting the carry component (annualised carry ÷ 30-day HV), ensures the score reflects how extreme or well-compensated a position is in historical context, not just its current size. The output is a color-coded bar per currency reflecting net bullish or bearish signal confluence across all factors.

This panel is not a mechanical trading signal. It is a rapid-scan surface for identifying where multi-factor evidence is aligned versus conflicted. Currencies with strong unidirectional composite scores warrant further analysis; near-zero scores indicate genuine uncertainty across the factor set.

Composite Score panel
Figure 10. Composite Score panel — six-factor weighted confluence per currency.

Risk Context

Carry Monitor

All scrollable G10 pairs, with the long-carry and short-carry sections each ranked by Sharpe-adjusted carry, calculated from the live broker swap specifications available directly within MT5. No external data source is required — the panel reads swap rates from the broker's own symbol feed and converts them to an annualised comparable basis, following the broker's swap calculation mode (points, interest percentage, or deposit currency).

Each row shows: long swap and short swap as quoted by the broker, net carry annualised (%), 30-day historical volatility as denominator context, Sharpe-adjusted carry score, and the direction of the positive carry trade. The Sharpe column is the primary filter: high-carry pairs with high realised volatility carry a fundamentally different risk profile than moderate-carry pairs in suppressed-volatility regimes. The column renders on a four-zone color scale — green above 0.5 (carry well-compensated), muted green between 0 and 0.5, muted red between −0.5 and 0, and red below −0.5 (volatility regime historically unfavorable for carry) — with a background tint on the most extreme rows to make the top and bottom of the ranking immediately visible. CHF as the quote currency provides a zero-rate funding cost (SNB policy rate at 0.00%), pushing pairs like GBPCHF and USDCHF toward the top of the carry ranking — while crosses where both currencies carry low rates (CADCHF, EURCHF) cluster toward the lower end.

Carry Monitor panel
Figure 11. Carry Monitor — G10 pairs ranked by Sharpe-adjusted annualised carry yield.

Retail Sentiment

Long/short positioning ratios aggregated across up to 36 pairs — the 28 G10 pairs plus NOK/SEK crosses when available in the broker's Market Watch — displayed as a percentage bar with the current ratio labeled. Retail sentiment functions as a structural context layer rather than a timing instrument: when 88% of retail accounts hold short USD/CAD — net long CAD exposure — the directional crowding that results has historically preceded mean-reversion squeezes. Cross-referenced against CFTC Commitments of Traders data, leveraged funds simultaneously carried net short CAD futures of −45.3%, representing the opposite directional bias: institutional money positioned long USD/CAD against the retail crowd. This retail-versus-institutional divergence — where the two populations sit on opposite sides of the same trade — is the signal that neither dataset surfaces in isolation.

Retail Sentiment panel
Figure 12. Retail Sentiment panel — long/short ratios across 28 G10 pairs.

Correlation Matrix

A rolling correlation matrix covering nine non-USD currencies — the seven G10 currencies plus NOK and SEK — against each other and against a synthetic DXY, calculated from daily log returns over a configurable lookback period (default: 30 days). Each currency's daily return is the mean of its log returns across all pairs it belongs to, with the sign flipped where it is the quote currency, so the shared USD leg does not make every currency look alike. Shading intensity scales with the size of the correlation: green for positive, red for negative.

The primary use case is seeing which currencies are moving together once the common dollar factor is removed, and how each one relates to the dollar itself through the DXY column. Position overlap still needs one extra step: long EUR/USD, AUD/USD and GBP/USD all carry the same short-USD exposure regardless of how EUR, AUD and GBP correlate with each other. Read the matrix together with the DXY column before sizing correlated trades.

Cross-Asset Correlation Matrix
Figure 13. Correlation Matrix — 30-day rolling, currency basis, G10 plus NOK/SEK vs. DXY.

Currency Strength

A multi-timeframe momentum chart for all nine non-USD currencies — the seven G10 currencies plus NOK and SEK — with timeframe selector buttons (M5 / M15 / H1 / H4 / D1) rendered directly on the panel. The D1 view displays approximately four weeks of relative momentum as overlapping line series, with the current reading labeled per currency. In the captured session on the D1 view: JPY +0.8% and USD +0.8% leading, followed by NZD +0.7% and GBP +0.1% narrowly positive, while CHF, EUR, and AUD sit mildly negative and CAD trails the group at -1.3%.

When this panel's momentum alignment matches the CB Rates bias direction for the same currency, the two signals are reinforcing. When they diverge — a Hike-biased currency showing negative momentum — it flags either a temporary correction or a forthcoming bias revision. The D1 reading also feeds the Momentum input of the Composite Score above, smoothed over 5 days and z-scored against its own 60-day distribution.

Currency Strength Index panel
Figure 14. Currency Strength Index — multi-timeframe momentum, D1 view.

Volatility & Options

Historical volatility at three lookbacks (7-day, 20-day, 3-month, all annualised from log returns) and risk reversal skew at three tenors (1-week, 1-month, 3-month) for nine major pairs. Risk reversals measure the implied volatility premium of out-of-the-money calls versus puts at equivalent delta. A negative 1-month risk reversal on EUR/USD (-0.41 in the captured session) indicates the options market is pricing more downside risk than upside. A sign flip — from negative to positive — triggers an alert in the terminal and is often a leading indicator of directional shift in the underlying.

USD/CHF showing a modestly positive +0.19 while EUR/USD shows -0.41 reflects the options market's relative conviction: more bearish on EUR than on CHF against the dollar at the current moment — a nuance not visible in the spot price alone.

Volatility & Options Skew panel
Figure 15. Volatility & Options Skew — historical volatility and risk reversal skew at three tenors.

Market Sessions

Sydney, Tokyo, London, and New York sessions with live open/closed status. Session times are displayed in broker server time, with the UTC offset shown in the panel header. Liquidity context modifies the interpretation of every other panel: a pair at 100% ADR during the Tokyo session in a typically London-driven market carries a different analytical weight than the same statistic at the London open.

Market Sessions panel
Figure 16. Market Sessions — live open/closed status for Sydney, Tokyo, London, New York.

Alert System

The terminal monitors all data sources on each refresh cycle and fires MT5 alerts — with optional push notification to the MetaTrader 5 mobile app — when predefined thresholds are crossed:

• Central bank bias classification changes
• OIS-implied meeting probability shifts by more than a configurable threshold (default: 5 percentage points between refresh cycles)
• CFTC COT week-over-week change exceeds a threshold (default: 10,000 contracts), or a new weekly release is detected
• Broker swap rates change materially
• A high-impact calendar event enters the configurable pre-alert window (default: 15 minutes)
• Risk reversal sign flip on any monitored pair
• AI Market Signal update detected between refresh cycles — fires when new signals are published to the data pipeline
• Economic Surprise Index (ESI) reaching a configurable extreme reading
• COT positioning reaching a 52-week z-score extreme (crowded trade)
• Correlation breakdown between any two monitored currencies versus their long-run norm (same calculation as the Correlation Matrix panel)
• Risk reversal term structure inversion between the 1-month and 3-month tenors
• Composite Score entering or exiting a configurable strong bullish/bearish zone
• A pair entering or leaving the top-ranked carry trades

Each threshold crossing is logged with a full timestamp and event description. In the captured session, two distinct events fire independently: COT NZD extreme WoW at -14K contracts, and COT JPY extreme WoW at -19K contracts.

Alert system — COT extreme positioning signal
Figure 17. Alert system — COT extreme positioning signal, dual event firing.

The Web Terminal: Extended Research Depth

The companion web terminal at global-investing.pages.dev provides the same core analytical framework in a browser interface, with several additions that exploit the expanded display environment of a full-page layout. The overview page organises the workflow into tabs — Overview, FX Pairs, Macro, Rates, Cross-Asset, Risk, Positioning, Sessions, Calendar, Derivatives and News — with a Ctrl+K command bar, a live headline ticker, and a status bar that lists the data sources feeding the page (ECB, CFTC, Yahoo Finance and TradingView) and the current data delay.

Global Investing web terminal Overview tab: price chart, FX pairs, calendar, cross-asset, risk monitor, central bank rates
Figure 18. Global Investing web terminal — Overview tab: narrative, price chart with data overlays, FX pairs, calendar, cross-asset and risk monitor, central bank rates and rate expectations on one screen.

The price chart is the centre of the page. It supports H1 to monthly timeframes, ranges from one year to full history, a compare mode, and toggleable overlays for the data behind each currency: retail average entry price, 25-delta risk reversal, COT net positioning, policy rate, 2-year government yield and the economic surprise index. Sub-panels plot the COT Index and the 2-year spread beneath the price series, so a price move can be read directly against the positioning and rate context that surrounds it. The FX Pairs table below it adds 30-day historical volatility, 1-month and 3-month forward prices, the 1-month risk reversal and session high/low per pair, with CSV and JSON export. Further modules on the same page include a currency strength heatmap, a carry ranking, a volatility leaderboard, a historical VaR / CVaR table, and a Dollar Smile regime read.

AI Market Narrative

The narrative is regenerated four times a day, scheduled at 00:20, 07:20, 12:20 and 21:20 UTC around the Sydney/Tokyo, London and New York sessions, with an additional run at the Friday close (22:50 UTC). Each run reads prices, central bank policy rates and meeting pricing, COT positioning, options skew and news flow, and produces a single macro narrative in plain language: what the current environment looks like, which pairs the regime structurally favours, and what the dominant risk factor is for the session ahead. The narrative sits at the top of the Overview tab and updates automatically; no manual interpretation is required. For a practitioner running multiple positions across currencies, this functions as a pre-session briefing that surfaces the most relevant macro context without requiring a review of every individual panel.

AI Market Narrative — session macro briefing, web terminal
Figure 19. AI Market Narrative — automated macro briefing at each major session open.

Risk Monitor & Cross-Asset

The Risk Monitor classifies the current environment as RISK-ON, NEUTRAL or RISK-OFF from a composite of five stress blocks: Equity Vol (VIX), Rates Vol (MOVE index), Credit (US high-yield and investment-grade OAS, averaged), FX Risk (AUD/JPY) and Equity Trend (S&P 500 drawdown). Every input is scored as a z-score against its own trailing 252-day distribution. For VIX, MOVE and the credit spreads the score is the average of the z-score of the level and the z-score of its 20-day change; for AUD/JPY it is the same measure on log changes with the sign flipped, so a falling AUD/JPY adds stress; for the S&P 500 it is the z-score of the drawdown from its 252-day high. Each z-score is capped at three standard deviations so a single outlier cannot dominate. The composite is the mean of the available blocks (at least three are required) and is smoothed over three days. The regime uses hysteresis: RISK-OFF is entered at a smoothed composite of +1.0σ and exited only below +0.5σ, while RISK-ON is entered at −0.5σ and exited above −0.25σ, which prevents the label from flipping on every small move around a threshold.

The panel shows the regime together with what is driving it. In the captured session the composite reads +0.89σ and the regime is RISK-OFF, held by hysteresis after an earlier breach of the +1.0σ entry threshold. The composite is the smoothed value, which is why it sits slightly below the plain average of today’s five block readings (about +0.98). The stress contribution by block makes the cause visible: Credit at +2.32 and Rates Vol at +1.00 carry the reading, Equity Vol (+0.82) and Equity Trend (+0.60) are elevated, and FX Risk (+0.18) is nearly flat. Credit reflects both the level and the speed of the move: high-yield spreads at 340bp sit at the 99th percentile of the past year, and the indicator table shows a 20-day widening of +60bp. VIX itself, at 19.4, is only moderate (82nd percentile over one year). A VIX-only gauge would therefore read moderate here, while the block decomposition shows the stress concentrated in credit and rates.

The Cross-Asset panel alongside it shows the S&P 500, gold, WTI, BTC/USD, Nikkei 225, Euro Stoxx 50, the dollar index and the US 10-year yield, and a compact indicator table adds the US–EU 10Y spread, the OFR Financial Stress Index, the Gold/S&P ratio and the 20-day change in high-yield OAS. This is where the FX implications are read: the same RISK-OFF label can come from credit, rates or equity stress, and only the decomposition shows which one is in play.

Cross-Asset panel and Risk Monitor: VIX, MOVE, HY and IG OAS, EUR/USD HV30, regime and stress contribution by block
Figure 20. Cross-Asset panel and Risk Monitor — composite z-score regime with stress contribution by block.

CB Rate Expectations & OIS Forwards

The web terminal extends the CB Rates panel from the EA with a full policy rate history per central bank. Clicking any central bank opens a detail view that plots the complete rate history — in the RBA example below, 442 months and 96 decisions — together with cycle analytics: the current cycle (a hiking cycle, +100bp so far, nine months long), the period high and low, the average move size, the current hold streak, the days to the next meeting, the number of meetings left in the year, and the OIS probability-weighted forward rate for the next decision. A Decisions tab lists each decision, and an institutional news feed filtered to that central bank sits beneath the chart.

The right-hand column places the same bank in context: the policy rate table for all ten central banks, rolling cross-asset correlations (30, 60 and 90 days) flagged as normal or stretched against their own 252-day distribution, and the CB Rate Expectations table. For each bank that table shows the next meeting date and four readings. Bias is the market consensus direction with its market-implied probability, prefixed with "Lean" when the priced probability is below a 60% conviction threshold (RBA at 54% and Riksbank at 43% in the captured session, against BoC at 85%). Impl. is the expected policy rate at the next meeting, derived from OIS markets where available and otherwise from the trend bias in 25bp steps. The 2Y column is an OIS cross-check: a dot means the currency’s own 5-day move in 2-year yield agrees with what OIS has priced, while an up or down triangle flags a 2-year yield running ahead of OIS.

CB Rate Expectations and OIS Forwards — RBA policy rate history with cycle analytics, central bank rates, correlations and rate expectations
Figure 21. CB Rate Expectations & OIS Forwards — RBA policy rate history with cycle analytics, alongside the central bank rate table, rolling correlations and next-meeting expectations.

The Real Rate Carry Analysis module subtracts inflation expectations from the nominal OIS overnight benchmark of each currency (SOFR for USD, €STR for EUR, SONIA for GBP, TONA for JPY, AONIA for AUD, CORRA for CAD, SARON for CHF, SWESTR for SEK, and the policy or official-cash-rate overnight for NOK and NZD). Inflation expectations use market-implied breakevens where the market is liquid (USD, EUR, CAD), forward-looking surveys where published (GBP, AUD, CHF, SEK, JPY, NZD), and realised CPI year-on-year as a fallback. The module has three views: a rates breakdown, a real rate matrix, and a pair detail. In the captured session the best real rate is NOK at +1.82% and the worst is JPY at −2.27%, giving a maximum real spread of +4.09% on NOK/JPY, with four of the ten currencies carrying a positive real rate. The footnote states the caveat that matters: real carry is not a CIP-adjusted figure, and the overnight tenor of the nominal rate is not matched to the inflation-expectation tenor — a precision limit of the method, not a data error. In the captured run, all ten currencies resolved to a forward-looking breakeven or survey rather than the CPI fallback.

Real Rate Carry Analysis — nominal OIS rate minus inflation expectation per central bank, NOK/JPY pair detail
Figure 22. Real Rate Carry Analysis — nominal OIS rate less inflation expectation for ten currencies, with methodology footnote.

The Yield Curve module renders full sovereign yield curves (US, DE, GB, JP, AU, CA, NZ) with today versus prior-close comparison and basis point changes per tenor. The US curve is built from FRED data and shows the 3M, 2Y, 5Y, 10Y and 30Y points, the 10Y–2Y and 30Y–2Y spreads, and a curve-shape label (Flat, Steep, Inverted). The curve shape matters because a flat or inverted curve implies a structurally different monetary environment from a steep one, with distinct implications for carry and risk appetite.

US Treasury Yield Curve — today vs prior close, basis point changes per tenor
Figure 23. US Treasury Yield Curve — today versus prior close, basis point changes per tenor.

The Economic Surprises module shows the full event-by-event history underlying the ESI index. It covers the last 90 days of releases for each of the ten currencies. Each release is scored by its surprise against the published consensus: the difference between actual and forecast, sign-inverted for series where lower is better (unemployment and jobless claims, for example), divided by the standard deviation of that series’ own past surprises, and capped at ±2.5σ. Scores are averaged with weights that combine an exponential decay with a 45-day half-life and the event’s impact (high 1.0, medium 0.5), then scaled to the −100 to +100 range and shrunk when fewer than six distinct series are available. BEAT, MISS and IN LINE are the sign of the surprise (positive, negative, zero) and feed the beat counts and beat rate; the index itself reflects the size of the surprises. The header gives the index value, beats, misses, scored events and beat rate, and a rolling chart shows how the index has evolved. Each event row carries its date, an impact tag (H or M), the actual, the forecast and the outcome. Releases without a published forecast stay in the table but are not scored.

In the captured session the USD index reads +9.8 on 329 scored events: 165 beats, 132 misses and 32 in line, a 50% beat rate. The chart is more informative than the single number: the index fell to around −2.5 in early September and has since recovered to the high single digits, which shows a swing in data momentum rather than a steady trend. The ESI summary panel on the Overview tab lists all ten currencies side by side with the event count behind each, so the currencies with thin samples (CHF and NZD at 25 and 24 events, against 329 for USD) are visible at a glance.

Economic Surprises USD — 90-day decay-weighted index, beats, misses, beat rate and event table with actual versus forecast
Figure 24. Economic Surprise Index — USD, 90-day rolling window with event-by-event BEAT / MISS / IN LINE scoring against consensus.

The COT Positioning Detail panel opens per currency and uses the CFTC Traders in Financial Futures (TFF) report, options and futures combined. The panel holds 522 weeks of history (about ten years); the Z-score, percentile and range are all computed on a trailing 52-week window. Its tabs are Overview, Net Position, Long / Short, Participants and History. The header shows the net leveraged-fund position in contracts, the long share of the group's gross positions (longs ÷ longs + shorts), the weekly change, net as a percentage of gross long + short positions, the 52-week Z-score with its percentile, and a positioning label such as Crowded Short. The Overview adds the distance of the net position from its 52-week mean, the position within the 52-week range, the distance from the 12-week trough with its date, an LF vs AM tile comparing leveraged funds with asset managers, and gross long and short contracts with their weekly changes.

In the EUR example, leveraged funds are net short 92,833 contracts, which is −33.3% of their gross positions (longs 92,912 or 33%, shorts 185,745 or 67%). That is a Z-score of −1.78, the 4th percentile of the 52-week window, and 62,283 contracts below the 52-week mean of −30,550. The position sits within 100 contracts of the 52-week low of −92,930 set on 28 July, so its range position reads 0%. The weekly change of −8,058 contracts is the sum of longs −733 and shorts +7,325.

The Participants table separates Leveraged Funds from Asset Managers and Dealers, each with net contracts, weekly change and Z-score, because LF and AM positioning frequently diverge at turning points. Here asset managers are net long 214,007 contracts (weekly change −4,696, Z-score −1.75), close to the 52-week low of their own net position (2nd percentile). Dealers are net short 154,174 contracts (weekly change +10,696, Z-score +1.78), but that is the least-short reading of the past 52 weeks (100th percentile). The panel labels the LF vs AM relationship Diverging, with leveraged funds short and asset managers long. A 12-week trend chart shows a short build-up in progress: the four-week net change is −41,478 contracts (−1.46σ), made up of longs +8,353 and shorts +49,831.

CFTC COT Positioning Detail for EUR: leveraged funds net position, Z-score, participant breakdown and 12-week trend
Figure 25. CFTC COT Positioning Detail — EUR leveraged funds: Z-score, 52-week range position, participant breakdown and 12-week trend.

Alerts & Market Signals

The Alerts & Market Signals panel is the synthesis layer of the web terminal. Rather than presenting raw data for the analyst to reconcile manually, it generates a structured narrative per pair — integrating COT positioning, OIS-implied carry differentials, options skew, technical levels, central bank guidance, macro data and energy prices into a single coherent read, timestamped and regenerated with each narrative run. A Weekly Outlook card at the top summarises the week's dominant theme and is expandable.

Each signal carries a session tag, a time and a regime label naming the analytical themes in play (for example Positioning + Volatility + Macro or Options Skew + Carry + Levels), followed by a narrative that explains the confluence: why the data combination is significant and where the asymmetric risk lies. Every signal closes with a fixed structure — Trade bias, Catalyst and Risk — and, where relevant, a Model check line noting whether the model read finds confirming evidence. The numbers quoted in the narrative (spot, moving averages, positioning, implied versus realised volatility, carry spread) can be checked against the individual panels, which keeps the reasoning independently verifiable.

This is the operational output of the multi-factor framework. Where the COT, CB Rates, carry, and OIS panels each provide one dimension of analysis, the Alerts & Market Signals panel provides the cross-panel read — the signal that only becomes visible when all factors are considered simultaneously.

Alerts and Market Signals — Weekly Outlook and AI-generated signals for NOK/EUR, EUR/USD and USD/JPY with trade bias, catalyst and risk
Figure 26. Alerts & Market Signals — Weekly Outlook and AI-generated cross-panel signals, each with trade bias, catalyst and risk.

Derivatives — Forwards, Volatility Surface & OTC Flow

The Derivatives section consolidates four data streams that are typically distributed across separate institutional platforms. CIP Forwards — covered interest parity-implied 1-month to 1-year forward prices for major pairs, allowing direct comparison of forward market pricing against OIS-implied rate differentials and flagging deviations from no-arbitrage conditions. Risk Reversal Term Structure — 25-delta risk reversals for nine pairs across five tenors (1 week, 1 month, 3 months, 6 months and 1 year), sourced from Saxo Bank indicative mid quotes and updated daily, with a skew label per pair (Put skew or Balanced). ECB Official Fixings — daily reference rates versus live spot, relevant for position valuation and cross-border transaction benchmarking. DTCC Global Trade Repository — actual OTC FX notional reported under Dodd-Frank regulatory disclosure, broken down by instrument type (swap, forward, NDF) per pair. The DTCC data is the closest publicly available proxy for real institutional transaction flow — not a survey, not a positioning report, but actual reported trade notional aggregated across reporting dealers.

The term structure shows more than a single reading does. In the captured session USD/JPY carries the steepest front-end put skew at −2.24 for both 1 week and 1 month, easing to −0.67 at one year: the market pays most for near-term downside protection on the pair and much less for it further out. EUR/JPY and EUR/CHF show the same front-loaded shape, while EUR/USD, GBP/USD and AUD/USD deepen with tenor (EUR/USD from −0.40 at 1 week to −0.88 at one year). USD/CHF is put-skewed at every tenor. USD/CAD and EUR/GBP are labelled Balanced; EUR/GBP flips to a positive skew of +0.31 at 1 week and +0.28 at one year, with readings near zero in between. A skew that is steepest at the short end often reflects hedging of an imminent event, whereas a skew that deepens with tenor reflects a longer-dated directional view.

Derivatives panel — 25-delta risk reversal term structure, Saxo Bank indicative mid, nine pairs across five tenors
Figure 27. Derivatives — 25-delta risk reversal term structure for nine pairs across five tenors (Saxo Bank, indicative mid; negative values indicate put skew).

The Integrated Workflow

Pre-session (web terminal): Review the macro narrative summary, check CB Rate Expectations for overnight bias shifts, scan the ESI for data momentum divergences, review COT Z-scores for crowded positioning extremes, and check yield curve shape for overnight moves. This takes approximately ten minutes and surfaces the session's highest-conviction analytical context.

Live session (MT5 EA): The terminal runs continuously on a dedicated chart. The Composite Score panel provides a rapid starting-point scan. The Calendar panel flags event risk with live countdown. The Positions panel keeps account exposure visible alongside all macro context. Alerts fire on COT threshold crossings or options sign flips without requiring continuous manual monitoring.

This is not a system that generates trading signals. It is an information architecture that ensures the signals a trader is already monitoring are consolidated, current, and contextually integrated — the standard applied by professional desks through Bloomberg or Refinitiv terminals, available within the MetaTrader 5 environment.

Setup

Requirements: MetaTrader 5, any broker with G10 FX pairs.

Step 1: In MT5, navigate to Tools → Options → Expert Advisors and enable Allow WebRequest for listed URL. Add raw.githubusercontent.com to the URL list. This single permission enables all external data panels.

Step 2: Attach the EA to any chart. The terminal does not use the underlying chart's symbol or timeframe — any chart works. The dashboard covers the full chart window.

Step 3 (optional): Adjust inputs to match your broker's symbol naming conventions, preferred refresh interval, and lookback periods for historical calculations.

Step 4: Access the web terminal at global-investing.pages.dev. The EA license key displayed in the terminal's top bar unlocks the full web terminal for the same account.

The Suite

The Global Investing suite includes four products sharing the same analytical framework and visual language:

• Global Investing FX Terminal — the full thirteen-panel EA described in this article.
• CSI Currency Strength — the multi-timeframe momentum indicator from the terminal's Currency Strength panel, available as a standalone chart indicator.
• Carry Trade Monitor — the carry yield ranking panel as a standalone EA, reading directly from broker swap specifications with no external data required.
• Institutional Risk Manager — an execution EA handling ATR-based position sizing, scaled exits at R-multiples, and breakeven automation, with an embedded CSI sub-panel for directional context. Designed to run alongside the GI FX Terminal on a second chart window.

Conclusion

The FX market's analytical complexity is not a problem of data scarcity — the data is largely public. It is a problem of integration: bringing policy rates, positioning, carry, volatility, and macro momentum into a coherent framework that can be consulted in real time, without switching tools or reconciling stale figures.

The Global Investing FX Terminal is built around that problem. Its value is not any individual panel in isolation — it is the simultaneous visibility of all signals in a single frame, allowing relationships and confluences to surface that would otherwise require manual assembly across multiple platforms.

This article describes the analytical framework and data panels of the Global Investing FX Terminal. The information presented is for informational and educational purposes only and does not constitute investment advice or a recommendation to buy or sell any financial instrument.

MT5 EA: mql5.com/en/market/product/180326
Web terminal: global-investing.pages.dev
Methodology: Global Investing FX Terminal — Methodology
MQL5 profile: mql5.com/en/users/santiagopla