Marek's first trade looked textbook-clean. He bought 0.1 lots of EUR/USD, the rate travelled a clean thirty pips in his favour, so on paper he counted thirty dollars of profit. Yet the broker credited his balance with just under twenty-eight. Marek recalculated three times, kept coming up more than two dollars short, and concluded the platform "must be counting wrong." It is not counting wrong. The formula "price move times position size" shows gross revenue, not the result on your account. Below I take apart every leak that sits between the price on the chart and what actually lands on the balance.

Why "move times lots" is only gross revenue

First identify the prices used in the calculation. For a linear FX contract, the difference between actual opening and closing fills, multiplied by the contract units, gives price P/L in the quote currency. Those fills already include the quoted spread. Separately booked commission, financing and currency conversion then affect the account result; financing or price improvement can add value as well as reduce it. A chart-only move uses a different baseline, so keep that distinction explicit rather than subtracting a spread twice.

The most important thing is to separate two ideas from the start: the market move, and the cost of accessing that move. The market handed Marek thirty pips, that is a fact. But to enter that move and exit it at all, Marek had to pay the broker for the service. Those charges do not depend on whether he won or lost, so they should be treated as a fixed cost of doing business rather than as bad luck. They leak in several places at once, and I will take each one separately.

The spread, the loss you see before the price moves

The first and most often overlooked leak is the spread. You open a long position at the ask, the higher of the two quotes, while the platform measures your live result against the bid, the lower one. The mechanics of execution on the bid and ask side are exactly what I cover in the article on bid and ask prices and order execution. The result is that at the instant of opening, the position shows a loss equal to the spread, even though the rate has not moved. If the EUR/USD spread is one pip, a long position starts at roughly minus one pip.

That means the real net move you earn is smaller than the move shown on the chart by the full spread. Marek saw thirty pips, but his position first had to recover the spread, so the move that reached his pocket was shorter. It is worth killing off a common misunderstanding here: you pay the spread once per round turn, not twice. Buying at the ask and selling at the bid are two sides of one and the same difference. The cost is written into the entry and exit prices rather than charged as a separate line on the statement, which is exactly why it is so easy to miss.

Slippage is the difference between a defined reference price and the actual execution price. It can be adverse or favourable. Define the reference consistently and record both signs; do not treat all slippage as a fixed charge or deduct it again when it is already included in the executed-price P/L.

Commission and swap, the costs that are easy to skip

The second leak appears on ECN or raw accounts. There the spread is raw and close to zero, but the broker charges a separate commission for every lot turned over, counted round turn, that is for the open and the close together. On a standard account you will not see that line, because the cost is hidden inside a wider spread. These are simply two ways of packaging the same charge, and which one comes out cheaper is what I unpack in the comparison of spread versus commission as real trading costs. For the result, one thing matters: commission, where it applies, has to be subtracted from gross revenue.

The third leak is swap, the swap points charged for holding a position overnight. A same-day trade can still cross the provider’s financing cutoff; fully closing before the applicable accrual point avoids that accrual under a cutoff-based contract. But when you hold across the rollover moment, at the provider’s specified cut-off for that instrument, swap adds to or subtracts from the result, depending on the interest rate differential between the two currencies in the pair and the broker margin. In this hypothetical model, Marek crosses two single-day negative-financing accruals, so he pays twice, and that is another amount that was never in his original "thirty pips times pip value" sum.

Add entries in the same currency, using each applied rate

When a profit and a fee are converted separately, do not replace both rates with one chosen history-row rate.

Scroll sideways to see the full diagram

Add entries in the same currency, using each applied rateHypothetical profit of 20 USD is converted at 4.00 PLN/USD; a 2 USD cost at 4.20. The sum is 71.60 PLN. One shared rate of 4.00 would overstate it by 0.40 PLN.TWO ENTRIES • TWO RATESPrice profit: +20 USD× 4.00 PLN/USD = +80.00 PLNSeparately charged cost: −2 USD× 4.20 PLN/USD = −8.40 PLNSum of PLN entries80.00 − 8.40 = 71.60 PLNOne conversion at 4.00 would give 72.00.

An original model of two booked cash flows. Both rates are hypothetical and already include the entire applied conversion; no separate conversion fee or other cost. These are not IG rates or charges. IG describes conversion of results, funding and commissions, depending on account settings.

Hypothetical profit of 20 USD is converted at 4.00 PLN/USD; a 2 USD cost at 4.20. The sum is 71.60 PLN. One shared rate of 4.00 would overstate it by 0.40 PLN.

Reconciliation trail: record the source amount, its sign, applied rate and booked amount for each flow. Then add amounts in the account currency. The difference from one shared rate is 2 × (4.20 − 4.00) = 0.40 PLN here; it is not missing EUR/USD slippage.

Converting the result and the pip-value trap

The fourth leak affects anyone trading a pair that is not quoted in their account currency. If you hold an account in zloty and open a position on GBP/JPY, your result is born in yen and has to be converted into zloty at the prevailing rate. At each such conversion a small difference is left behind, and some brokers add their own mark-up on top. Individually these are pennies, but across many trades a month the sum becomes noticeable. The MetaTrader 5 documentation states plainly that a position result is converted into the deposit currency at the current rate.

The fifth issue is not really a cost but a common error in the calculation itself: a wrongly assumed pip value for the pair. That value depends on the pair, the position size and the account currency. For pairs with the dollar as the quote currency, one pip on a micro lot is worth roughly ten cents, on a mini lot one dollar, on a standard lot ten dollars. If someone plugs in the pip value for a different size or a different pair, their gross estimate is out of step with the platform from the start, and the whole feeling of "money is missing" comes from arithmetic, not from hidden charges.

Let us run the numbers (an illustrative example)

Let us go back to Marek's trade and break it down step by step. This is an illustrative example, rounded for clarity, but the figures are realistic for an ECN account and the EUR/USD pair.

Gross revenueA 30-pip move on 0.1 lots, with a pip value of about 1 USD, gives roughly 30 USD gross.
SpreadAbout 1 pip for the whole trade, because you buy at the ask and sell at the bid — on 0.1 lots, roughly 1 USD.
Commission to open and closeOn an ECN account, turning over 0.1 lots in both directions costs about 0.65 USD.
Swap for 2 nightsA negative swap for two nights held at this size is, say, around 0.60 USD.
Net result30 minus 1 minus 0.65 minus 0.60 leaves 27.75 USD on the account.

The numbers line up with what Marek saw. Thirty dollars gross became just under twenty-eight net, because each leak took its share. Had Marek fully closed before the relevant financing accruals, those model charges would have dropped out. A different tariff may replace explicit commission with a wider spread; compare actual rates and execution rather than assuming the same total cost. The price move itself does not lie; only the assumption that it reaches the account in full does.

How to reconcile the move with the result, step by step

Reconcile the trade using its actual fill prices, volume and contract calculation, then convert under the account’s rules. Add separately booked commission and signed financing entries from the transaction history. Do not subtract a spread again when it is already contained in the fills. If you instead start with a Bid-only chart move, state that baseline and account for the different entry quote; the model’s cost assumptions must remain consistent.

It is also worth checking your own account specification at the broker from time to time, where the current rates for spread, commission and swap points are listed. A broader walk-through of these costs sits in the forex basics section on forexmechanics.com. Once you reconcile a single trade from start to finish, the mechanics become a habit, and you will make the next estimates in your head to within a few per cent.

What to do tomorrow

  1. Reconstruct your last trade from its records. Use the actual entry and exit fills, volume, contract size and account-currency conversion. Reconcile separately posted fees and financing with the transaction history. Investigate a mismatch by checking units, rounding, rates, additional charges and other balance operations; do not infer one cause from the discrepancy alone.
  2. Check the three rates in your account specification. Open the terms of your account at the broker and note the current spread for your main pair, the round-turn commission per lot, and the swap points for both the long and the short side. Those three numbers let you compute the real cost of any trade before you even open it.
  3. Work out your break-even in pips. Add the spread and the commission expressed in pips, and the result is the distance the price has to travel before you reach zero. For strategies with small targets that number can eat most of the move, so you will see at once whether your system makes sense on cost alone.
  4. Decide consciously whether you hold overnight. If your strategy does not require holding across midnight, close positions before the rollover moment and you avoid swap entirely. If you must hold longer, check in advance whether swap works for you or against you, because across several nights it can reverse the whole point of the trade.