XAU
XAUAD
SIGN IN LONDON SPOT LIVE

Measure your own spread and slippage:100 recorded trades will tell you whether your platform is cheating you

436,527 internal quotes · 100-trade delayed-fill simulation · a four-field log sheet | XAUAD · October 2026 update

Gold spreadSlippageTrading costXAUUSD
LIVE QUOTE · SNAPSHOT 2026-10-21 16:24 (UTC+8)
4,121.70 USD / oz (XAU/USD mid price)
In CNY886.70 CNY/g
FX USD/CNY6.6913
Bid / Ask4,121.70 / 4,122.35
SpreadUSD 0.66 · 0.016%

"Is my platform cheating me?" Almost anyone who has traded short timeframes has asked that. Most of the time the answer is not "cheated" but a cost structure you have never measured: you believe you are trading direction, while every trade pays a fixed toll up front — and you only have a vague sense of how large that toll is relative to the timeframe you trade.

No theory here, just method. Using 436,527 Swissquote quotes in XAUAD's own quote store from 2026-10-18 to 10-24 as the ruler, we first measure what "normal" looks like; then we hand you a 100-trade log sheet so you can hold your own fills against that ruler; finally we simulate fills with a one-second delay on the real quote sequence to see how much of the damage slippage actually does. The conclusion up front: in this sample, what hurts you is not slippage — it is the spread as a proportion of your holding period.

Sampling and data sources (all reproducible):
① Internal quote store, quotes table, Swissquote feed, 2026-10-18 14:04:58 → 2026-10-24 23:42:31 (Beijing), 436,527 records, median gap between consecutive quotes 1.28 s (p90 1.4 s); queried 2026-10-24 23:45 (Beijing)
② Same store, last 30 days, 481,226 records, used for spread outliers (p99 and maximum)
③ /api/config read at 2026-10-24 23:42 (Beijing): bid 3,997.559 / ask 3,998.221, spread 0.662 USD (about 1.66 basis points)
④ Payouts per expiry (same read): 60 s 0.68, 300 s 0.80, 600 s 0.82, 900 s 0.85, 1800 s 0.88, 3600 s 0.90
⑤ 1-minute and 5-minute ranges: aggregated from the same quote store into 9,147 one-minute buckets and 1,832 five-minute buckets, defined as the highest mid minus the lowest mid within the bucket
⑥ Slippage simulation: 100 timestamps drawn at random from the same sequence, taking the first ask quote 1 second after the "click" as the fill and subtracting the ask at the moment of the click

1. Separate three words first: spread, slippage, rejection

These three are conflated more than any others, yet they are three entirely different costs. Talk about them together and the arithmetic never closes.

  • Spread = ask − bid. This is a certain cost: every trade, win or lose, quiet or wild, pays it on entry. You buy at the ask and sell at the bid, so you start half a spread behind.
  • Slippage = the price you saw − the price you got. This is an uncertain cost: it can be zero, against you, or occasionally in your favour (positive slippage). Its size depends on how far the quote travels in the few hundred milliseconds between your click and the fill.
  • Rejection = the quote lapsed and the order did not fill. It costs no money directly, but it makes you miss the price you wanted and tends to trigger chasing — and chasing generates fresh slippage.

Why insist on the distinction? Because the three differ by an order of magnitude. The table below is the core reading of this sample: the same 0.662 USD means completely different things depending on the horizon:

BenchmarkValueSpread ÷ benchmarkMeaning
1-minute median rangeUSD 1.0264.9%On a 1-minute trade the spread eats nearly two thirds of normal movement
1-minute p90 rangeUSD 2.5126.4%Only in the more volatile minutes does the cost share fall to a quarter
5-minute median rangeUSD 2.5825.7%Stretch the horizon 4x and the share drops to roughly a quarter
Median 60-second moveUSD 0.38174%The spread is 1.7x larger than a typical 60-second move
Half a spreadUSD 0.33187% (vs 60 s median)You owe this on entry; the median trade barely clears it

Definitions: range = highest mid minus lowest mid within the bucket; "move" = median absolute difference between two mids 60 seconds apart (4,609 samples). Data source as described at the top.

That table has already written the conclusion: the spread itself is not the problem — "spread ÷ your holding period" is. Every test below exists to compute that one ratio, not to argue about whether 0.66 is "high". In isolation the number is neither high nor low; it is a numerator, and without a denominator it means nothing.

2. The 100-trade log: four fields, one sheet

Most people "test slippage" from memory: a win means the market was good, a loss means the platform slipped them. That is not testing, it is recollection. To be verifiable, the fields must be defined before the trade and filled in immediately after the fill. Four are enough:

FieldHow to record itWhy it is mandatory
① Order time (to the second)Screenshot with system clock visible, or the millisecond timestamp in the platform's fill reportWithout a timestamp you cannot go back and check the public quote for that second — and all three later steps collapse
② Bid / ask at order timeThe two prices in the frame before you press confirm, not the fill priceThis is your expected fill. Slippage = fill price − this price
③ Actual fill priceThe fill price in the execution report, not what you estimate from the chart afterwardsThe fill is the only legally meaningful number; the chart shows you the mid
④ Target profit (USD)How much you intended to make on this trade — write it down firstWith it, the spread converts into "what percentage of my target it eats"

Add two optional fields; after 100 trades you will find they explain more than the first four: time to fill (click to report, in milliseconds) and whether you were within 5 minutes of a data release. The first explains slippage, the second explains the outliers.

Three sampling rules matter more than the fields:

  • Do 25 trades in each of four sessions — do not bang out 100 in one night. The 1-minute median range is only USD 0.67 between 00:00 and 06:00 Beijing, but USD 1.52 from 21:00 to 24:00 — a 2.3x difference. Average them together and you have averaged two different things into a number that does not exist.
  • At least 10 of the 100 must fall inside a data-release window. The spread in the seconds around an NFP or CPI print is 60x normal (measured in section 6). Leave those out of the pool and you will conclude the platform is "always stable" — right up until the one minute when you most need the truth.
  • Do not change strategy mid-log. If you adjust position size or expiry while measuring, the strategy change is baked into your slippage and you can no longer tell the platform's fault from your own.

3. Test one: is the spread stable? Use 436,000 quotes as the ruler

First, see what "normal" looks like. Below is the spread distribution from the internal quote store over the last 7 days, every value computed live from bid and ask with no estimation:

StatisticLast 7 days (436,527)Last 30 days (481,226)
Median0.6620.662
p900.663— (p90 not computed separately)
p950.822—
p990.8233.000
Maximum2.75857.00 (2026-10-15 15:36 Beijing)
Share of quotes with spread > USD 1≈0 (max 2.758 in 7 days)4.52%
Share with spread > USD 2≈02.447%

Source: internal quotes table, Swissquote feed; 7-day window 2026-10-18 14:04:58 → 10-24 23:42:31 (Beijing); 30-day window from the same store back to 2026-09-25; computed 2026-10-24 23:45 (Beijing). In the 7-day window p90 and the median almost coincide (0.663 vs 0.662), meaning the spread was extremely stable that week — which makes it the best available reference for "normal".

Use the table as a ruler and the tests are direct:

  • Your median spread should sit near 0.66. If you record 1.2 or 2.0 while the public quote in the same session is 0.66, you are being charged an account-level markup — ask support for a written explanation.
  • Your p99 should be under USD 1 unless the sample contains a data release. The 7-day p99 is 0.823 and the widest single quote was 2.758. If your p99 is above 10, check whether those trades all fall at 20:30 or 02:00 — most likely they do, and then it is not a platform issue.
  • Look at what time the widest quote happened. Platform manipulation tends to occur in the thinnest liquidity (around maintenance at 04:00–08:00 Beijing, or before the Friday close), whereas market-wide spread expansion happens at data releases. The time signatures are completely different, which makes this the most useful discriminator you have.

One easily overlooked fact while we are here: 14.6% of the minutes in that week had zero range (1,339 of 9,147 one-minute buckets had high equal to low). In those minutes the 0.662 spread does not eat "part of the movement" — it eats all of it. Long or short, 60 seconds later the price is probably back near where it started, and you have already paid half a spread.

4. Test two: how much slippage? Solve the "fair fill for that second" first

The hardest part of measuring slippage is not the statistics, it is finding a price to compare against. You cannot use "I think it should have filled at 4,000.00" — that is subjective. Three usable references, in order of reliability:

  • A public quote feed at the same instant. The hardest evidence. Two conditions: it must give second-level timestamps, and it must not be the same feed your platform uses (same feed, same error, no information). This article uses the internal Swissquote continuous feed (median 1.28 s between quotes).
  • Your own platform's quote snapshots. Second best, but it only measures "fill vs quote at order time" and cannot detect a systematic offset. Its advantage is that everyone has it.
  • Candle extremes before and after the fill. Weakest, useful only for coarse screening. If a buy fills above the minute's high (or a sell below the minute's low), you can say the direction was adverse but not by how much.

With a reference price in hand, pin the definition down: buy slippage = fill ask − ask at order time; sell slippage = bid at order time − fill bid. Positive means adverse, negative means positive slippage. Note that you must not compute it off the mid — the mid contains no spread, so a "slippage" figure derived from it double-counts the spread. That is the single most common mistake in this exercise.

One more trap: mistaking spread expansion for slippage. At the moment of a data release the ask jumps from 4,196.88 to 4,240.08. If you market-buy there and fill at 4,240.08, the formula above gives "slippage" of USD 43.20 — but almost all of that 43.20 is spread expansion, not slippage. That is why the log must store bid and ask separately, so you can decompose afterwards: the spread component (current spread − normal spread) belongs to the market, and only the residual belongs to execution quality.

5. Measured: the slippage distribution over 100 trades at 1-second delay

Method alone is not enough — you need the order of magnitude of "normal", or you will not know whether to distrust your own data. So I ran a simulation on the same quote sequence: 100 timestamps drawn at random as the "confirm" moment, the first ask one second later taken as the fill, minus the ask at the click. Results:

MetricValue (USD)How to read it
Median slippage0.000In half the sample, the price one second later never reached your fill
Mean slippage−0.014Slightly negative, i.e. on average in the buyer's favour by 1.4 cents
p900.142Only 10% of samples slipped more than 14 cents
Worst case0.56Still smaller than one spread (0.662)
Best case−0.70Positive slippage can exceed the spread itself
Share moving against the trader44 / 100Under half — close to a coin flip

Method: 100 timestamps drawn at random (fixed seed, reproducible) from the 436,527 Swissquote quotes between 2026-10-18 14:04:58 and 10-24 23:42:31 (Beijing); the fill is the first ask after "click + 1.0 s". This measures 1-second latency, not 0.1 s and not 7 s — the longer the delay, the wider the distribution. Sampling time 2026-10-24 23:45 (Beijing).

These numbers deserve three readings, because they contradict most people's intuition: in normal conditions the median slippage at one-second latency is zero, and the mean is actually negative. 44% of samples moved against the trader, 56% did not move or moved in their favour — exactly what an information-free random process should look like. What actually costs you money is the 100%-certain 0.662 spread, not this slippage that is zero half the time.

So why do so many people insist slippage has been robbing them? Because people only remember the bad fills. The worst in the sample was USD 0.56, 55% of the 1-minute median range — painful enough to stick. The best, −0.70, gets remembered as "I read that one well". The greatest value of the 100-trade log is that it corrects this memory bias: a spreadsheet does not remember pain, only numbers.

6. Test three: behaviour at the extremes (four spreads over USD 40 in 30 days)

The normal 0.66 is not the whole truth. In the same 30-day data there were four moments when the spread exceeded USD 40, each lasting a few minutes:

Time (Beijing)Peak spreadMultiple of normalCharacter
2026-10-15 15:3657.0086xOff the hour — looks like a feed switch
2026-10-02 20:3043.2065xOn the hour — NFP release
2026-10-16 22:2042.5064xOff the hour
2026-10-14 20:3042.2064xOn the hour — US data release

Source: internal quotes table, Swissquote feed, 2026-09-25 → 10-24, 481,226 records, four widest spreads taken; "multiple of normal" = peak ÷ 7-day median 0.662. Queried 2026-10-24 23:45 (Beijing). The table states what the quote record shows and does not infer causes.

Those four records make two points. First, extreme spreads are a market-wide phenomenon: the two at 20:30 land exactly on data releases, and every market maker pulls and re-quotes the same way. No platform is picking on you. Second, the real risk is not "a wide spread" but "you trading while the spread is wide". A spread of 43.20 is 16.7x the 5-minute median range of 2.58 — market-ordering into that is paying sixteen candles' worth of movement as a fee.

So test three is really a discipline: in the log, put every trade with a spread above USD 3 into a separate bucket and keep it out of your overall average. In this 30-day data, USD 3 sits near the 97.6th percentile (spreads above USD 2 are 2.447% of the sample); cross it and you are almost certainly in an abnormal window.

7. Converting spread into win rate: how to compute break-even

Every number above has to land on one question: with costs this high, how accurate do I need to be just to break even? Two steps.

Step one, compute the break-even win rate. The platform publishes a payout for each expiry (readable at /api/config), and break-even win rate = 1 ÷ (1 + payout). Readings from 2026-10-24 23:42 (Beijing):

ExpiryPayoutBreak-even win rateMeasured hit rate of random entries (buy / sell)
60 s0.6859.5%25.3% / 27.5%
300 s0.8055.6%30.2% / 34.5%
600 s0.8254.9%— (not simulated separately)
900 s0.8554.1%31.3% / 38.5%
1800 s0.8853.2%—
3600 s0.9052.6%—

Break-even win rate = 1 ÷ (1 + payout); e.g. 60 s: 1 ÷ 1.68 = 59.5%. The measured hit rates on the right come from the same quote sequence: a timestamp every 120 seconds, buys entering at the prevailing ask and sells at the prevailing bid with the mid checked at expiry, 4,602–4,609 samples. Payouts come from platform configuration and may change; the live page governs. Simulated 2026-10-24 23:45 (Beijing).

Step two, understand why that hit rate is so low. 25.3% does not mean "the market only rises a quarter of the time" — over the same period up and down were almost evenly split (17.2% vs 18.4%). The rate is low because you buy at the ask and sell at the bid: the mid must move more than USD 0.331 before a buy wins. And the median 60-second mid move is only USD 0.38, so half the time the price cannot clear even half a spread. A 50% chance of rising gets compressed into a 25.3% chance of clearing half a spread.

Put the two steps together and the break-even line becomes very concrete: on 60 seconds you need a 59.5% win rate while a random entry delivers 25.3% — the 34-point gap in between is the real edge you have to earn on direction. On 900 seconds the baseline rises to 31.3% and break-even falls to 54.1%, so the edge required shrinks to 23 points. Every step up in horizon cuts the spread's damage by a notch — not a coincidence, but the fixed 0.331 hurdle being diluted by larger movement over a longer window.

A worked example you can use directly. Account USD 1,000, risking 1% = USD 10 per trade, 60-second expiry, payout 0.68: a win pays +6.80, a loss costs −10. To break even long term the win rate must exceed 59.5%. Suppose your real directional skill is 55% (already strong): long-run expectation = 0.55 × 6.80 − 0.45 × 10 = −USD 0.76 per trade, or −76 over 100 trades. The same 55% on a 900-second expiry (payout 0.85): 0.55 × 8.50 − 0.45 × 10 = +USD 0.175 per trade — barely positive. Identical skill, different horizon, loss turns into profit. That is the leverage of the spread.

8. Five signals — two of them and it is time to change platform

After 100 trades, do not conclude from "a feeling". Check these five. Two or more, and start looking elsewhere:

  1. Median spread clearly away from 0.66. The public quote is 0.662 and your median is above 1.2, and it is not a data window — that is an account-level markup.
  2. Median slippage persistently above half the spread. The measured median at 1-second latency here is 0.000. If yours is above 0.3, fills are systematically away from the quote; that is not luck.
  3. Fills always landing at the extremes. Compare your 100 fill prices with the high and low of the minute: if more than 80% of your buys fill near the minute's high, that is not slippage, that is the execution mechanism.
  4. Rejections clustered at the moments you would have made money. The occasional rejection is normal (a lapsed quote); but if rejections always appear on the side that would have favoured you and never on the other side, that is selective execution.
  5. Withdrawals deteriorating at the same time as quotes. Abnormal spread + slower withdrawals + shifting explanations from support — when all three appear together, get your money out first and debate later. The step-by-step diagnostic for withdrawals is in When your withdrawal gets stuck.

Conversely, three things should not be blamed on the platform: the spread explosion in the seconds around a data release (synchronised market-wide, with four documented instances in section 6), the gap at the weekly open (the quote jumps from Friday's close straight to Monday's open with no trading in between, so slippage is unavoidable), and your own decision to market-order into a USD 40 candle.

9. From 60 seconds to 5 minutes: how to use these numbers

Compress every reading in this article into three actions you can take immediately:

Action one: check the session before choosing a horizon. The same 0.662 is 43.5% of the 1-minute median range between 21:00 and 24:00, but 98.8% of it between 00:00 and 06:00. Short horizons belong in the overlap session only; in the small hours either stand aside or stretch the horizon beyond 15 minutes. Session-by-session range and spread measurements are laid out in The best hours to trade gold.

Action two: compute "spread ÷ target profit" before every order. It takes ten seconds and 90% of people skip it. Target USD 3 and the 0.662 spread is 22% of it; target USD 1 and it is 66% — the latter requires a win rate more than 20 points higher just to stand still. Trades with a target under USD 2 have essentially no mathematical room to survive a 0.66 spread.

Action three: in abnormal windows, use limits only, never market orders. Do not chase when the spread is above USD 3 (2.4% of the time in this 30-day data). Wait for it to come back under USD 1 — usually 30 seconds to 2 minutes. On 2026-10-02 the spread went from 43.20 back to 0.70 in 30 seconds. Waiting those 30 seconds is the highest-value action in this article.

If you also want to know how much platforms differ, the verified public information for each one is listed with sources and capture dates in Gold spread comparison; to see every cost on a single trade at once (spread + overnight financing + leverage amplification), read Gold trading costs, fully broken down. For the live bid/ask and spread right now, see today's gold price.

10. Three common misconceptions

Misconception one: the tighter the spread the better, so go to a 0.1 platform. A 0.1 spread usually means the money is taken elsewhere — commission, overnight fees, or worse fills. Compare total cost: spread + commission + overnight + slippage, all four. Looking at one line item is how people walk into the next trap.

Misconception two: positive slippage means I am skilled. The best fill in this sample was −0.70, larger than the spread itself. That is not skill; the quote moved your way in that one second. Treating positive slippage as ability makes you doubly suspicious of the platform the next time it goes against you — when both are simply two tails of the same random process.

Misconception three: 100 trades is too many, 10 will show the problem. At n=10 the standard error of the median is so large it is meaningless: here p99 and the median differ by 0.16 USD, which ten samples cannot resolve at all. 100 is the minimum, and it must be spread across sessions; if you want to test whether the platform only misbehaves in data windows, at least 10 of those 100 have to fall inside one — otherwise you have no usable subsample.

11. Frequently asked questions

Q. What is a normal gold spread?
A. Two layers. In absolute terms: the 7-day median across 436,527 quotes is USD 0.662 with a p99 of 0.823. In relative terms: the 1-minute median range is only USD 1.02, so 0.662 eats 64.9% of it. "0.66 is small" only holds from 5 minutes up; on a 1-minute trade it is your largest cost.

Q. What is normal slippage?
A. In normal conditions, materially smaller than the spread. Across 100 simulated one-second delays the median was 0.000, the mean −0.014, p90 0.142, with 44% moving against the trader. Only a median persistently above half the spread (0.33) justifies doubting execution quality.

Q. How many trades do I need, and how do I stratify them?
A. Start with 100, 25 in each of four sessions (Beijing 08–14, 15–20, 21–23, 00–06), with at least 10 inside data windows. The reason for stratifying: the 1-minute median range is USD 0.67 at midnight and USD 1.52 in the overlap, and averaging them smears two different things into a number that does not exist.

Q. How much win rate does the spread cost?
A. At a 60-second expiry and 0.68 payout you need 59.5% to break even, while random entries hit 25.3% (buy) / 27.5% (sell). Stretch to 900 seconds and the hit rate rises to 31.3% / 38.5% while break-even falls to 54.1%. The shorter the horizon, the greater the relative damage.

Q. How do I tell a cheating platform from a normal market?
A. Look at the time signature. Market-wide spread expansion clusters at data releases (documented here: USD 43.20 on 2026-10-02 20:30 and 42.20 on 10-14 20:30) and recovers within minutes; platform manipulation tends to happen in the thinnest hours and only on your account. Also, comparing your fills with the minute's high and low will immediately reveal a "always fills at the extreme" pattern.

See the live gold price and current spread
Risk disclosure: the data here illustrates cost structure and a testing method; it is not investment advice. Gold and CFDs are leveraged, price moves can wipe out your capital and losses can exceed your deposit. All spreads, ranges, slippage and hit rates were taken between 2026-10-24 23:42 and 23:45 (Beijing) from the internal quotes store, the /api/config endpoint and statistics on the same sequence; quotes change with the market in real time and historical distributions do not predict the future; payouts come from platform configuration and may change. The 100-trade method here is a logging and statistics recommendation and says nothing about the execution quality of any particular platform.

Related tools

SydneyTokyoLondonNew York