Forex Quotes Explained: Where Prices Come From and How They Reach Your Platform
A forex quote is the Bid and Ask a particular source is showing at a moment in time. Spot FX has no single worldwide exchange price. Your terminal receives a broker-specific stream shaped by liquidity sources, pricing rules and delivery. The price on the screen and the price available when an order arrives are related, but they are not necessarily identical.
Open EUR/USD on two platforms and the numbers often disagree. One chart ticks first. A stop can close at a level the candles never printed. Before blaming the broker, or renting a faster server, it helps to know what the quote actually is and which clocks you are mixing.
In spot FX a quote is an offer from a named source, usually two-sided: Bid and Ask. Banks, non-bank dealers and venues each stream their own prices. The broker then applies liquidity, markup and delivery rules. Related, not identical: the screen price and the price still available when an order arrives.
What a Forex Quote Is
Call it a price if you like, but a retail forex quote is a message: this source, at this instant, is showing this Bid and this Ask, sometimes with a size. It is not a print from a single central exchange, and it is not a promise that the same numbers will still be there when your order lands.
Three facts follow from that, and they explain most of the confusion later on this page.
- The source matters. Two brokers can be honest and still disagree, because they are not looking at the same stream.
- The side matters. You sell on the Bid and buy on the Ask. A midpoint, a Bid-only chart and a Last print are different objects.
- The clock matters. Quote arrival, network ping and order response are not the same measurement. A short ping does not prove a fresh quote.
How to Read Bid and Ask
Suppose EUR/USD is quoted at 1.08500 / 1.08512. EUR is the base currency; USD is the quote currency. The pair of numbers says how many US dollars correspond to one euro on each side of that source's book.
| Your action | Relevant side | Example price |
|---|---|---|
| Open a buy | Ask | 1.08512 |
| Close that buy by selling | Bid | 1.08500 if the quote has not changed |
| Open a sell | Bid | 1.08500 |
| Close that sell by buying | Ask | 1.08512 if the quote has not changed |
For EUR/USD, one pip is normally 0.0001. On a five-decimal display, one point is 0.00001, so ten points equal one pip. Do not copy that convention onto gold, indices or another broker's symbols: read the instrument's tick size, contract size and profit formula first.
If you buy 0.10 standard lot of EUR/USD (10,000 EUR under a 100,000-EUR contract) and immediately sell at the unchanged Bid, the round-trip costs about $1.20 in a USD account before commission. That cost is already inside the Ask-in / Bid-out. Subtracting the spread again double-counts it.
Where Forex Prices Come From
There is no master tape labelled "the Forex exchange" that every broker must reprint. Spot FX is an OTC web of banks, non-bank market makers and trading venues. A dealer can stream its own two-way prices. A venue can publish prices implied by the orders it holds. Those streams are connected, but they are not one book.
What you see depends on access, size and credit as much as on "the market". The best displayed price somewhere else is not automatically available to your account.
Spot FX
An OTC market with multiple dealers, venues and price streams. A retail broker shows prices under its own account rules and execution model.
Exchange-traded futures
A named contract lives on a named exchange order book. Its data may reach you directly or through intermediaries. A currency future and a spot pair are different instruments.
For a retail CFD, keep the reference market and the contract apart. A gold CFD may track external gold prices, but its hours, spread, specification and fills are still the broker's product.
How a Quote Reaches Your Terminal
This is a typical retail FX/CFD pricing route, not a wiring diagram of every broker. Some firms collapse stages, connect straight to a venue, or run a different order. The point is the stages that can add delay, markup or filters before the number hits your screen.
-
A dealer or venue produces a quote
A dealer updates its Bid and Ask, or a venue publishes a change in its order book. The update can include size and a source timestamp.
-
A liquidity connection carries the data
A broker receives prices through a provider, a prime-of-prime relationship or a direct venue link. Seeing the data and being allowed to trade against it are separate permissions.
-
An aggregator assembles the available prices
Where several streams are merged, the system maps symbols and sizes, drops invalid quotes and picks a Bid and Ask by its own rules. The output can be a top of book or a depth view.
-
A pricing engine creates the client quote
Markup, spread floors, size tiers or throttles can sit here. The client quote can therefore differ from the upstream quote even when nothing is "late".
-
A gateway and trading server distribute it
The update is packed into the platform format, sent to the right server and pushed to subscribers.
-
Your connection and terminal receive it
The terminal stores the tick, hands it to any attached software, then draws the chart. Code can see the update before the candle finishes redrawing.
Clicking Buy sends an order back to the broker. The broker checks it under the account's execution model, may internalize it or route it out, and may fill, reject or requote. Receiving a quote does not prove that your order travels the same route in reverse.
Why Two Brokers Show Different Prices
Broker A shows EUR/USD at 1.08500 / 1.08512. Broker B shows 1.08503 / 1.08515. Both spreads are 1.2 pips; the levels sit 0.3 pip apart. That screenshot does not tell you which broker is slower. Offset and delay are different diagnoses.
| Possible cause | What you might observe | What to check |
|---|---|---|
| Different liquidity sources | A persistent or changing price offset | Same instrument and comparable account conditions |
| Markup or spread rules | One side differs more than the other | Bid and Ask separately; commission separately |
| Different delivery timing | Similar moves arriving in a different order | Repeated tick sequences and receive timestamps |
| Filtering or batching | Different tick counts or skipped intermediate prices | Raw quote logs rather than screen animation |
| Different products | Offsets that drift through the day | Spot versus futures, CFD specs and expiry |
| Chart configuration | Candles differ even when some quotes match | Bid versus Last, time zone and bar boundaries |
A screenshot is a clue. A diagnosis needs both sides of the quote, timestamps, and a run of updates, not one freeze-frame.
Why a Stop Can Hit When the Chart Did Not
First ask which price the chart is plotting. Retail OTC charts often plot Bid. Some symbols plot Last. Ask is often an extra line, not the candle. Your exit uses the side required to close the position, not whichever line looks convenient.
Take a short EUR/USD with a stop at 1.08520. The Bid only reaches 1.08510, but the Ask reaches 1.08522 as the spread opens. A Bid-only chart stays below the stop while the Ask crosses it. Closing a short means buying, so the Ask is the relevant side. Trigger rules still belong to the platform and the broker.
Ask for Bid/Ask history, order timestamps and execution details. Include the account server, symbol, time zone and order ID. A one-sided chart screenshot cannot reconstruct the other side of the market.
Profit comparisons fail the same way. A reference feed's midpoint is not the price at which you can sell a long. Compare the side you would actually trade, then add size, commission and the fill you received.
Quote Latency, Ping and Execution Time Are Different Clocks
A server with a 2 ms ping can still be looking at an older quote than a server with a 10 ms ping. Ping is usually a round trip to an endpoint. It does not say how long the quote sat upstream before that endpoint sent it.
Market-data latency
Time from a defined source event to data arriving at a defined receiver. A one-way figure needs meaningful timestamps and clocks you can trust.
Relative feed lead
How much earlier comparable moves arrive on one observed feed than on another. Useful on your machine. Silent about absolute delay from the original event.
Network round-trip time
Time for a probe to go to an endpoint and back. Trading packets may take another path or wait in another queue.
Order response time
Time from sending an order to getting a response. Acknowledgement, rejection and fill are different events. Do not fold them into one number.
Here the same receiver sees a matching move at 110 ms on one stream and 155 ms on the other. The observed lead is 45 ms. That does not mean either feed has 45 ms of absolute latency, and it does not mean an order will still catch the earlier price.
A VPS next to the trading server can shorten one network hop. It cannot delete upstream aggregation, broker processing or last-look checks. Measure the whole path, not ping in isolation.
How to Compare Two Quote Feeds Without Fooling Yourself
Ask a question you can score: "At my receiver, does feed A show comparable EUR/USD moves before feed B?" That is measurable. "Which feed is the fastest on earth?" is not, not from one laptop.
- Match the instrument. Symbol mapping, price scale, contract type, session. Spot XAU/USD and a gold future are not the same contract.
- Record both feeds on one machine. Bid, Ask, local receive time, symbol, plus any source timestamp or sequence id. Use a monotonic clock for elapsed time.
- Keep price offset separate from timing. A wider Ask is not a slower stream. Track both sides, over many events.
- Sample different conditions. Quiet tape, busy tape, widening spreads, disconnects and reconnects.
- Report a distribution. Median lead, tail lead, how often the lead flips, how long gaps last. A best-case screenshot is not a study.
- Validate execution separately. If live tests are allowed, use small size and log sends, replies, fills, commission and slippage. Displayed quotes do not prove a trade was available.
| Minimum log field | Why you need it |
|---|---|
| Feed name and exact symbol | Identify the source and the product |
| Bid and Ask | Compare tradeable sides and the spread |
| Local receive timestamp | Compare arrivals on one clock |
| Source timestamp, if available | Inspect upstream timing once you know what the clock means |
| Connection state | Drop gaps and reconnect artefacts |
| Order and fill records, for execution tests | Separate a visible gap from a fill |
Even aligned moves can be a mismatch if the feeds do not share a source or a filter. Write down how you paired events, and leave doubtful pairs in the doubtful pile. More ticks per second add detail; tick count is not a latency number.
What This Means for Latency Arbitrage
Latency arbitrage is a bet that one quote stream is still showing a price another stream has already left. The route above is why that disagreement can exist. Execution is why it may be gone before you are filled.
Suppose a reference Bid is 1.08530 and a broker Ask is 1.08512. The cross-side gap is 0.00018, or 1.8 pips. That is a reason to look closer, not a locked profit. You may be unable to sell on the reference, the broker Ask may move before the order arrives, and the exit Bid is still unknown.
If you buy at the broker and later close there, the result is broker entry, broker exit, commission and the other charges on the account. A reference price you never traded is not a fill. Rejection rules and the client agreement still apply.
This page is the plumbing. The strategy, costs and legal limits are in the latency arbitrage guide. Measured window lengths on gold, at three brokers, are in the XAUUSD data study — those figures are session recordings, not a default for EUR/USD.
A Practical Checklist for the Next Session
Before you change brokers or rent another VPS, answer these five:
- Am I comparing Bid with Bid and Ask with Ask?
- Are these the same instrument and contract?
- Does the chart show Bid, Ask or Last?
- Have I measured quote arrivals separately from ping and from order replies?
- Does the conclusion come from logs and fills, or from animation on the screen?
Those five split a genuine delivery lag from a spread change, a product mismatch or a chart setting. Once the cause is named, the next step is specific: fix the comparison, change the route, reread the account terms, or take the fill log to the broker.
Westernpips Private 7, its Analyzer and BackTester can record quote streams and run tests on those recordings. Use the fields and simulation assumptions in your version. Start with how to check which quote feed is faster. Treat recorded data and backtests as a check, then compare them with live fills.
Forex Quotes FAQ
What is a forex quote?
Is there one official forex quote?
Are live forex quotes always executable?
Why do two forex brokers show different prices?
What is the difference between quote latency and ping?
Does FIX automatically mean faster quotes?
Why does my demo feed differ from my live account?
Can a low-ping VPS fix slippage?
Can I compare gold futures with XAU/USD?
Risk warning: trading leveraged products involves a high risk of loss. This article is educational and is not investment advice. Examples and diagrams are illustrations. Execution, spreads and permitted strategies vary by broker.

