Your P&L does not match your broker
How VEXA calculates trade P&L, the three bases it uses in priority order, and the six reasons your number and your broker's number can legitimately differ.
What this does
VEXA rebuilds each trade from its individual fills and calculates the result itself, rather than copying a number from your broker’s summary screen. That is what makes the same trade comparable across brokers. It also means the two numbers can differ for reasons that are expected.
How VEXA calculates P&L
Three bases, tried in this order. The first one your data supports is the one used.
1. Broker net cash. When every fill in a trade carries the net cash amount the broker actually moved, VEXA uses that. It is the most accurate basis available, because it already includes everything the broker charged.
2. Broker realized P&L. When any execution carries the broker’s own realized figure:
P&L = total realized P&L - total commission
This basis matters most for forex, where the raw price difference is denominated in the quote currency rather than in your account currency.
3. Price reconstruction. When neither of the above is present:
P&L = (average sell price - average buy price) x quantity x multiplier - commission
Shorts use the same formula, which is why a short that closes below its entry produces a positive number.
The six reasons the numbers differ
1. Gross against net
VEXA reports net. Commission and fees are subtracted. Several broker screens report gross by default, and a scalper’s daily gross and net can differ by a lot. Check which one you are reading on your broker’s side first, because this explains most small discrepancies.
2. Commission your file did not contain
Some exports omit commission entirely. Tradovate order exports are the main case: they carry no commission at all, so VEXA estimates 0.79 US dollars per contract for micro futures and 1.29 for standard contracts. That estimate is close, and it is not exact.
If your prop firm or broker offers a round-trip performance report that carries real fees, upload that instead. It needs no reconstruction and no estimate.
3. The wrong multiplier
A multiplier is the cash value of one point of price movement. Options default to 100 per contract. Futures multipliers vary by contract, and VEXA resolves them from a contract specification list.
A P&L that is wrong by a clean factor is almost always a multiplier. Out by exactly 100 on an option means the trade was read as shares. Out by exactly 50 on an ES trade means the contract code was not recognised, which produces a visible warning at import time. See The “unrecognized futures contract” warning.
4. Rounding in the source file
Some broker exports round the price to two decimals in the file while showing four on screen. Where a file carries a net cash amount per fill, VEXA uses that instead of the rounded price, which removes the error. Where it does not, a heavily scaled position can drift by pennies.
5. Open positions are not counted
VEXA’s trade P&L is realized. A position still open contributes nothing to it. If your broker’s figure includes unrealized profit on something you still hold, the two numbers are measuring different things.
Check the Portfolio page for open positions, on web, iPad or Android tablet.
6. Missing fills
A trade reconstructed from an incomplete set of fills produces a real number from incomplete data. This is the one cause on the list that is worth acting on, and the symptom is usually that quantities look wrong rather than just the money. See Some of my trades are missing.
Two things that are working as intended
Swap and financing on MetaTrader accounts. A swap can be a charge or a credit. VEXA keeps the sign, so a positive swap on a carry trade reduces your cost rather than adding to it.
Stock splits. Executions from before a split are adjusted so the notional value is preserved: quantity is multiplied and price divided by the split ratio. Your position stays worth what it was worth, and your entry price is comparable with today’s chart. Your broker’s own statement may show the pre-split numbers.
How to check a specific trade
- Open the trade and read its Executions Timeline. Count the fills and compare against your broker’s confirmations for that trade.
- Check the quantity. A quantity that matches means the fills are right and the difference is pricing or fees.
- Check whether commission is present on the executions. Zero commission on a futures or options trade points at an export that did not include it.
- Check the multiplier against the contract specification, for futures and options.
- If a fill is genuinely absent, re-import a file covering that date rather than editing, unless it is a single trade. Re-imports skip what you already have.
What you should see
Trade-level P&L within rounding distance of your broker’s net figure for the same closed trade, and totals that agree once you compare like with like: realized against realized, net against net, and the same date range in the same timezone on both sides.
Related
Related
Still stuck? Email support@vexatrade.ai.