Forex arbitrage: from price gap to executable trade
Understand the mechanisms, count the full cost and evaluate the execution before choosing your software.
By Alexander Vinsky · Head of Research, Westernpips
Prepared · Author affiliation: software vendor
What is forex arbitrage?
Forex arbitrage seeks to capture inconsistent currency prices across venues, related pairs or quote streams. Traditional arbitrage combines offsetting transactions; retail latency arbitrage instead uses a faster reference price to trade against a slower quotation. A displayed discrepancy is only a candidate opportunity: executable bid and ask prices, fees, available size and the time required to fill orders determine whether it can produce a net gain. Real implementations can lose money.
The distinction matters when choosing software. Buying and selling on two venues creates a different exposure from opening one position because a reference feed moved first. Calling both “arbitrage” does not make their risk, capital requirements or exit rules interchangeable.
Think of the workflow as three separate questions: is the comparison valid, can the orders execute, and does the completed trade cover its costs? Software can automate these checks, but an attractive gap alone answers none of them completely.
How latency arbitrage works
A one-leg setup compares a fast reference stream with a broker’s quotes for the same underlying instrument. The reference is evidence about a possible price update, rather than a promise of where the broker will fill. Use the following sequence to understand the mechanism before choosing entry settings.
- Match the instruments. Check the symbol, contract size, price precision and trading session. Similar names can hide different contracts or pricing conventions.
- Receive both streams. Record reference and broker bid/ask prices with consistent local arrival timestamps. Provider timestamps can use different clocks.
- Calculate a directional gap. Compare the relevant sides and apply any documented price-offset adjustment. Express the price difference in points, using the instrument’s point size.
- Apply entry filters. Evaluate spread, quote freshness, position size and permitted trading hours. A threshold is a decision rule, not an expected profit.
- Send the order to the slower broker. In the WP7 OneLeg model supplied for this guide, only that account executes. The fast source supplies reference prices and signals; it receives no corresponding trade.
- Manage and reconcile the position. Apply configured exit conditions and risk limits, then compare actual fills with the signal. Rejected orders belong in the execution analysis too.
Market-data latency describes delay in receiving a price update. Order-execution latency concerns the path from sending an order to its handling and fill; an acknowledgement may arrive before the final execution report. A low network ping measures neither process completely. Keep these measurements separate when diagnosing a setup.
A price gap is not the final profit
This hypothetical EUR/USD example uses a USD account, a position of 100,000 EUR and a point size of 0.00001. For that size, one point is $1. These are illustration assumptions, not WP7 performance results or recommended settings. Your broker’s contract specification determines the actual conversion.
| Event | Assumed value | Meaning |
|---|---|---|
| Reference bid / ask | 1.10020 / 1.10022 | Reference prices; no trade here |
| Broker bid / ask | 1.10000 / 1.10002 | Broker spread: 2 points |
| Cross-side signal gap | 18 points | (1.10020 − 1.10002) / 0.00001 |
| Actual entry buy fill | 1.10005 | 3 points worse than observed ask |
| Actual closing sell fill | 1.10015 | Completed price gain: 10 points |
| Gross price P&L | $10 | (1.10015 − 1.10005) × 100,000 |
| Round-trip commission | $7 | Assumed total for entry and exit |
| Net trade P&L | $3 | $10 − $7, before fixed overhead |
The cross-side calculation illustrates a possible signal metric; it is not a claim about every WP7 algorithm’s internal gap formula. The actual entry and exit fills already reflect the traded sides and execution outcome. Subtracting the spread or the entry slippage again would double-count those effects.
If the exit instead fills at 1.10000, the price loss is $5 and the net loss is $12 after the same commission. The original 18-point signal does not protect the position from this outcome. Financing, currency conversion and additional broker charges would also need to be included where applicable.
What determines whether a setup is viable?
Comparable quotes come first. A persistent difference can reflect a price offset, different liquidity or a contract mismatch rather than a stale quote. Inspect quiet periods as well as fast moves. If a gap appears continuously in one direction, investigate its cause before treating it as a timing advantage.
Freshness and fill quality work together. A price may update later at your computer without remaining available for trading. The broker can process an order against a newer price, reject it or fill only part of the requested size. Record what happened at the account, rather than assuming the chart represents an executable commitment.
Timing varies. Evaluate spread and execution distributions across sessions, busy periods and reconnects. An acceptable average can conceal occasional long delays. Those tail events matter because a position remains exposed while an exit waits or a connection fails.
Academic work by Fenn and colleagues found short-lived triangular opportunities and substantial practical capture difficulties in its historical dataset. That supports a distinction between observing and capturing a discrepancy; it supplies no current retail latency target or WP7 return estimate. See the original triangular-arbitrage study.
What do you need before starting?
Required for the chosen implementation
Start with an account whose instrument specifications, automation permissions and trading terms fit the strategy. Obtain the necessary data access and trading credentials, compatible software and enough available margin for the intended exposure. For WP7, use a supported Windows environment and confirm installation prerequisites against the current release.
Ask which connection is available for your exact account. An advertised FIX connector does not grant FIX permission, a liquidity relationship or market-data entitlements. Likewise, a platform name does not establish that every broker using it exposes the same functionality.
Recommended for evaluation
Use tick recording, execution logs, a stable clock and documented configuration versions. A VPS near the relevant infrastructure is a candidate to measure, not a universal solution. Compare end-to-end behaviour from candidate locations; a nearby server can still have a poor route to the other feed.
Optional and strategy dependent
Multiple broker accounts, extra reference feeds and custom FIX integrations can support particular designs. They also add credentials, reconciliation and failure paths. Begin with the smallest setup that can answer your research question. Add components only when their contribution can be measured.
What does forex arbitrage actually cost?
Separate the software purchase from operating expenses and trading capital. A licence is an upfront cost; market data, hosting and relevant subscription tools are recurring costs. Commissions, financing and conversion charges depend on trading activity. Margin supports positions and potential losses; it is not a substitute for an operating budget.
Westernpips lists lifetime licences at $777 Silver, $1,777 Gold and $2,777 Platinum. Its optional package of Fast Sources, subscription algorithms, Back Tester and Analyzer is included for 90 days, then listed at $150/month. Connection rights differ by plan: M5 and cTrader FIX start at Gold; broader FIX/API and ITCH access is listed for Platinum. Check the current plan comparison before purchase. Prices checked 31 October 2026.
For a budget illustration, suppose recurring overhead totals $200 per month and the realized average net trade contribution is $2 after variable costs. Covering overhead would require 100 such trades. This arithmetic is a sensitivity check, not a forecast: it assumes a positive, stable contribution and enough eligible opportunities. Licence recovery and taxes remain outside that calculation.
Build pessimistic scenarios too. Reduce the fill rate, increase adverse slippage and include losing trades. If the budget works only with perfect fills or excludes paid data, the operating case is incomplete. Decide how much evaluation spending you can accept before knowing whether the setup has any usable advantage.
Compare strategies and software on the same terms
Separate the trading mechanism from the tool that implements it. An EA, a multi-terminal and a custom engine are architectures; one-leg, two-venue and triangular arbitrage are strategy families. An architecture can support several strategies, and a strategy can be implemented in several architectures.
| Approach | Transactions | Main evaluation question | Key limitation |
|---|---|---|---|
| One-leg latency | Position at one broker | Does the reference predict executable movement? | Unhedged position and fill risk |
| Two-venue arbitrage | Buy and sell across venues | Can both sides fill after all costs? | Failed legs, funding and basis differences |
| Triangular arbitrage | Three related currency conversions | Does the executable loop return more starting currency? | Three-leg timing, rounding and liquidity |
| Statistical relative value | Positions based on an estimated relationship | Is the relationship stable out of sample? | Convergence is uncertain |
For a triangular check, write the conversion direction for every leg before multiplying rates. Selling base currency uses the bid; buying it uses the ask. Convert sizes consistently and account for fees at each step. A profitable loop made from mid-prices can disappear when those executable sides replace the midpoints.
| Architecture | Integration model | What to verify | Practical trade-off |
|---|---|---|---|
| Conventional terminal | Broker terminal and native tools | Data export and automation interfaces | May need extensions for cross-feed analysis |
| MetaTrader EA | Automation inside MT4/MT5 | Specific EA logic and external-feed access | Capabilities depend on the EA and terminal setup |
| WP7 multi-terminal | Standalone Windows platform; multiple connections | Plan, connector and subscribed modules | Commercial licence, operating setup and broker permissions |
| Custom execution engine | Developer-built data and order stack | Protocol handling, testing and monitoring | Development and maintenance responsibility |
This is a comparison of architectures, not a speed or profitability ranking. A specialized competing arbitrage platform may offer comparable functions. Request documentation for the same workflow and instrument, then evaluate it with the same quote and execution evidence. Feature counts alone do not establish suitability.
Risks and reasons a system stops working
The SEC’s forex investor bulletin explains that transaction costs and leverage can turn apparently attractive trades into substantial losses. Automation repeats decisions quickly, including bad ones. A position limit and a clear pause procedure matter as much as an entry threshold.
- Technical: stale feeds, reconnects, duplicate messages or symbol errors can create false signals. Reject invalid inputs and reconcile positions after interruptions.
- Financial: adverse movement, wider spreads and failed exits can exceed the estimated gap. Size positions for loss scenarios; a stop instruction does not guarantee its execution price.
- Operational: expired credentials, insufficient margin or an unattended process can interrupt trading. Maintain alerts, protected access and a procedure for checking positions directly at the broker.
- Contractual: broker and proprietary-firm agreements can restrict latency arbitrage. Review execution, prohibited-strategy and dispute clauses before funding or enabling automation.
Do not infer local permission from the availability of a software download. For readers in the US, UK, UAE, Indonesia, India, China and other Asian jurisdictions, residence, instrument, account provider and funding route require separate checks. This guide does not certify legal access in any country. Confirm the applicable requirements with official local sources and qualified advice where needed.
If a previously useful setup deteriorates, change one variable at a time. Compare current spreads, quote offsets, fill delays and rejection reasons with the earlier period. Check software updates, server migration and broker contract changes. Raising size or lowering the entry gap before identifying the cause can amplify the problem.
A profitable backtest with disappointing live results often warrants an execution audit. Ask whether the simulation assumes immediate fills, omits rejected orders or was optimized repeatedly on the same data. A historical replay cannot reproduce every broker response. Keep a separate evaluation period and record how many parameter combinations were tried.
A practical evaluation plan
- Write the hypothesis. Specify the instrument, signal, execution account and reason the reference might lead. Define what observation would disprove the idea.
- Check permissions and access. Confirm broker terms, account rights, connector compatibility and the full budget before buying infrastructure.
- Record before trading. Collect comparable ticks across relevant sessions. Examine offsets, disconnections and quote age; remove data errors rather than optimizing around them.
- Replay conservatively. Include commissions, realistic delay and adverse slippage. Reserve unseen periods for evaluation and compare several execution assumptions.
- Run a limited execution test. Where available, a broker demo can check operation, but it cannot establish live fill quality. Any live evaluation should use a predefined small exposure and loss budget, with a working pause procedure.
- Review before scaling. Reconcile fills and account statements. Continue only if evidence survives costs and changing conditions; stop if contractual permission, execution quality or loss limits fail.
Choose evaluation criteria in advance: net contribution after variable costs, worst losses, rejection frequency, exposure during failures and recurring overhead. Keep unsuccessful sessions in the sample. There is no universal trade count or millisecond threshold that proves a strategy will remain profitable.
Where Westernpips Private 7 fits
Westernpips Private 7 is standalone Windows trading software for comparing feeds and automating supported strategies across broker connections. The supplied product specification describes OneLeg and other configurations, plus tick analysis, historical testing and configurable entry, exit and risk settings. These are software capabilities, not independently verified trading results.
It suits a trader or team prepared to evaluate data, account compatibility and execution. It is a poor fit for someone seeking managed funds, guaranteed returns or profitable settings without investigation. Westernpips supplies technology; users choose brokers, fund their own accounts and remain responsible for strategy configuration.
Use the official strategy documentation and confirm current module availability with the vendor. Do not assume every algorithm follows OneLeg, or that a “3-Leg” label establishes a documented triangular-currency workflow. No free WP7 demo or trial is offered in this guide.
Explore Westernpips Private 7Frequently asked questions
Is forex arbitrage risk-free?
No. The theoretical idea relies on offsetting prices, but real trades face execution, liquidity and operational risk. A one-leg latency position also has directional exposure until it closes. A visible mismatch does not guarantee that any profitable order can be filled.
Does OneLeg trade on the fast feed?
In the WP7 OneLeg model described here, the fast feed supplies reference prices and signals. The trade opens and closes on the slower broker account. Other strategies can have different execution structures and should be reviewed separately.
What is the difference between a point and a pip?
A point is the configured price increment used by the system. On a five-decimal EUR/USD quotation, a point commonly equals 0.00001 and a pip equals 0.0001. Confirm the instrument specification; this relationship is not universal. Gap is a price difference, not a duration.
Can a low-ping VPS make a losing strategy profitable?
It may improve part of the connection path, but it does not remove spreads, broker processing time or a flawed signal. Compare actual data arrival and order fills before and after a hosting change. A faster ping alone is insufficient evidence.
Do all brokers allow latency arbitrage?
No. Check the agreement for the specific account, including restrictions on stale-price trading and automated execution. If the wording is unclear, obtain clarification before using the strategy. Software compatibility does not establish contractual permission.
Can I evaluate arbitrage with candle data?
Candles can hide the sequence and executable sides of brief quote differences. Tick records are better suited to examining the signal, but even those records do not prove fill availability. Evaluation needs both quote data and an explicit execution model.
Why can live results differ from a backtest?
The replay may use unrealistic fills or omit rejected orders, variable delay and costs. Market conditions and broker behaviour can also change. Compare the live execution log with the model’s assumptions before changing strategy parameters or increasing exposure.


