Northmark
🔄 Last updated: 2026-07-31

XM Real Spread Measurements — 2026-07-31

This page shows actual measured spreads from a live XM Standard account (Tradexfin Limited, server XMTrading-MT5 2), not the "typical" values published on XM's website. We sample spreads every hour and record the real bid/ask.

Source: Real account, MT5 API, every hour (UTC). Stale ticks excluded. 1739 samples, 6 days (2026-07-25 → 2026-07-31).

All Pairs — Average Measured vs. XM Stated

PairMeasured avg (pips)XM stated (pips)Gap
AUD/CHF3.992.4+1.59
AUD/JPY4.412+2.41
AUD/USD31.6+1.4
CAD/JPY4.912.5+2.41
EUR/AUD5.22.6+2.6
EUR/CHF4.282+2.28
EUR/JPY4.312+2.31
EUR/USD2.341.6+0.74
GBP/AUD6.023.2+2.82
GBP/CHF5.413+2.41
GBP/JPY4.743+1.74
GBP/USD2.872.1+0.77
NZD/USD3.162+1.16
USD/CAD3.492.2+1.29
USD/CHF3.331.9+1.43
USD/JPY3.271.7+1.57

Gap = measured − stated. Positive = actual cost is higher than advertised.

USD/JPY — Spread by Time of Day (JST)

The spread is not constant. Here is the hourly breakdown for USD/JPY:

Hour (JST)Avg spread (pips)
00:00 JST2.4
01:00 JST2.44
02:00 JST2.5
03:00 JST2.62
04:00 JST2.42
05:00 JST2.5
06:00 JST17.46 ← peak
07:00 JST4.28
08:00 JST2.76
09:00 JST2.6
10:00 JST2.46
11:00 JST2.54
12:00 JST2.5
13:00 JST2.45
14:00 JST2.48
15:00 JST2.5
16:00 JST2.43
17:00 JST2.42
18:00 JST2.4
19:00 JST2.58
20:00 JST2.5
21:00 JST2.47
22:00 JST2.38 ← tight
23:00 JST2.65

Key Findings

Methodology

Spreads are measured by reading the live bid/ask from MT5 every hour via the MetaTrader 5 Python API. We record only real-account ticks (no demo) and exclude stale readings (ticks older than 60 seconds). The pip conversion uses the standard formula: spread_pips = (ask − bid) × 10^(digits−1) for JPY pairs (2 decimal places → × 100), or × 10,000 for others.

Conflict-of-interest disclosure: This site earns affiliate commission when you open a broker account via our links. This does not affect the raw measurements shown here — we record what MT5 reports, not what we want to show.