Forex Price Feeds: Why Broker Charts Differ
A forex price feed is a stream of bids, offers or derived chart prices from a specific source. Two retail traders can see slightly different candles because their brokers use different liquidity sources, spreads, timestamps and display rules.
That does not make one feed βrealβ and the other automatically fake. It means every quote needs a source, instrument, side and time before it can be compared.
Is there one true forex price?
Spot foreign exchange is largely an over-the-counter market rather than one centralized exchange with a single consolidated order book. Banks, dealers, electronic venues and customers trade through different relationships.
The CFTC explains that a US retail customer using a dealer’s platform, mobile app or website is not connecting to a live exchange in an ordinary OTC forex transaction. The dealer is the counterparty and supplies the customer’s executable terms.
A price is therefore specific to:
- The currency pair and contract.
- Bid or ask side.
- Available quantity.
- Dealer or venue.
- Exact time and latency.
- Account type and markup.
βEUR/USD was 1.1000β is incomplete unless those details are known.
How is a retail forex price feed built?
A broker may receive market data feeds or executable quotes from several sources, combine them and apply its spread or commission policy. The trading platform then builds candles from the broker’s recorded ticks.
A simplified process is:
- Upstream sources send bid and ask quotes.
- An aggregator selects or combines available prices.
- The broker applies account-specific markup or pricing logic.
- The platform streams the resulting quote in real time.
- Chart candles are constructed from received ticks.
The exact process varies. A broker price feed can be proprietary without being invented arbitrarily. The client agreement and execution policy should explain the dealer’s role and conflicts.
Why do broker charts differ?
Common reasons include:
- Different liquidity providers or market-data sources.
- Different bid/ask spread and markup.
- Different server timezones and candle boundaries.
- One chart displaying bid while another displays mid or last.
- Different tick filtering and missing network updates.
- Different symbols, such as spot, rolling spot or a CFD.
- Different decimal precision and weekend or session hours.
Large or repeated differences deserve investigation. Small differences are expected in decentralized forex markets and do not by themselves prove a rigged feed.
Why can a stop trigger when the candle does not touch it?
The chart may not display the quote side used by the order.
For example:
- A long position closes by selling at the bid.
- A short position closes by buying at the ask.
- A chart may display bid candles only.
If the ask widens above a short stop while the bid candle remains below it, the stop can trigger even though the visible candle appears not to touch the level. Platform and broker conventions vary, so verify the symbol specification.
Other causes include gaps, slippage, an incorrect timezone or a chart that did not receive every tick. The slippage guide explains how requested and filled prices differ.
RelicusRoad Pro
Have you been trading for a while but have never made consistent profits or are you new to FOREX trading and want to get a head start? Try RelicusRoad and you'll never look back.
Get RelicusRoad ProWhat is market depth in forex?
Market depth shows available bids and offers from the sources included in that tool. It is not automatically a complete view of global trading volume.
An interdealer venue, futures exchange, broker book and retail platform can each show different participants. A depth panel is useful for that market or pool, but it should not be described as every order in the foreign exchange market.
Retail traders should ask:
- Which source supplies the depth?
- Are prices executable or indicative?
- Is quantity aggregated or limited to one pool?
- Does the display include the customer’s order size?
- Is the feed delayed?
Is currency-futures data the real forex data?
Currency futures trade as standardized contracts on a centralized exchange, so their exchange order book and trading volume are observable for those contracts. That makes futures data useful context.
It is not the one true spot-forex price. Futures differ through contract expiry, interest-rate relationships, trading hours and basis. A trading system designed for spot execution should not replace its broker quote with a futures price without testing that relationship.
Use futures data as another market reference, not proof that every spot quote must match it tick for tick.
How do you compare two forex feeds correctly?
Make the comparison reproducible:
- Confirm both feeds represent the same currency pair and product.
- Align timezones and timestamps.
- Compare bid with bid and ask with ask.
- Record spread and quote size where available.
- Note whether the data is real time, delayed or indicative.
- Export raw ticks or logs instead of relying only on screenshots.
- Compare several events across calm and volatile conditions.
One isolated spike can be a data error or execution issue. A repeated, material pattern that conflicts with the broker’s policy is stronger evidence.
How should you investigate a disputed fill?
Preserve:
- Account and order IDs.
- Currency pair, side, volume and order type.
- Requested, trigger and filled prices.
- Broker-server and local timestamps.
- Bid, ask and spread around the event.
- Platform journal and connection messages.
- Relevant news and market conditions.
- Independent feed data with matching conventions.
Ask the broker which quote triggered the order and request a server-side execution report. If the response does not resolve a material issue, follow the formal complaint process for the exact regulated entity.
Common price-feed mistakes
The first mistake is calling a midpoint chart an executable quote. The second is comparing candles with different timezones. The third is treating futures volume as the complete spot market.
Also avoid:
- Assuming an ECN or STP label guarantees one routing method.
- Widening stops without a price-based invalidation rule.
- Ignoring spread and slippage in risk management.
- Calling every difference stop hunting.
- Using market sentiment from one feed as universal positioning.
Key takeaways
- Retail forex feeds can differ without either one being automatically false.
- Match instrument, quote side, spread and time before comparing prices.
- Market depth and trading volume describe the included venue or pool.
- Futures data is useful context but not the single real spot price.
- Investigate execution with raw logs and written policies.
Trading leveraged products can produce losses quickly. This article is educational and is not financial or legal advice.
Next step: Add bid, ask, spread and server-time fields to the slippage log before reviewing another disputed fill.