PositionSizeTool
Forex · Stocks · Crypto — size every trade from your risk, not from hope

How to Calculate Position Size in Forex

Last updated 18 September 2026

The only question position sizing answers

Position sizing answers one question: given the amount I am willing to lose if this trade goes against me, and the distance between my entry and my stop, how many units am I allowed to hold? Everything else in trade planning sits downstream of that number.

It matters because stop distance is not a constant. The same EUR/USD setup with a 10-pip stop and the same setup with a 40-pip stop are not the same trade, and they must not be traded at the same size. Fixing the lot size first and then deciding where the stop goes inverts the logic: the size becomes random and the risk becomes whatever the market happens to do.

This guide walks through the calculation by hand so you can check the number your broker terminal gives you. If you would rather not do the arithmetic every time, the position size calculator on the home page does exactly the steps below.

The four inputs

  1. Risk budget — the money you accept losing on this one trade. Usually your account balance multiplied by a percentage (1% is the most common starting point), or a fixed cash amount.
  2. Stop distance in price terms — the absolute difference between your entry price and your stop-loss price, in the quotation units of the pair.
  3. Spread — you pay it the moment you open, so it is part of what you lose if the trade goes straight to the stop.
  4. Commission — also paid on the round turn, also part of the loss.

Points 3 and 4 are the ones most calculators leave out. They are not a rounding detail: on a tight stop with a live spread, they can move the answer by a double-digit percentage.

The formula

risk budget = account balance x risk % effective stop = |entry price - stop price| + spread units = (risk budget - commission) / (effective stop x quote-to-account rate) tradable size = floor(units / unit step) x unit step

Two details are worth pausing on. The spread is added to the stop distance, not tracked separately, because it is loss you incur at entry. The commission is subtracted from the risk budget, because money spent on fees is money that can no longer be risked. Rounding goes down, never to nearest, because rounding up silently increases your risk.

Position value is then units x entry price x quote-to-account rate, and margin required is position value / leverage. Leverage decides how much margin you post. It does not decide how much you risk.

Worked example: EUR/USD

Assume a 10,000 USD account, risk of 1% per trade, buying EUR/USD at 1.1000 with a stop at 1.0980, a 1-pip spread, a 7 USD round-turn commission, and a broker that deals in 1,000-unit steps (0.01 lots).

Inputs for the worked example.
InputValue
Account balance10,000.00 USD
Risk per trade1% = 100.00 USD
Entry price1.1000
Stop-loss price1.0980
Spread1 pip = 0.0001
Commission (round turn)7.00 USD
Quote-to-account rate1.00 (USD account, USD quote)
Unit step1,000 units

Step by step

  1. Risk budget: 10,000.00 x 1% = 100.00 USD.
  2. Stop distance: 1.1000 - 1.0980 = 0.0020, which is 20 pips.
  3. Effective stop distance: 0.0020 + 0.0001 = 0.0021.
  4. Budget left after commission: 100.00 - 7.00 = 93.00 USD.
  5. Units: 93.00 / 0.0021 = 44,285.71 units.
  6. Round down to the unit step: 44,285.71 / 1,000 = 44.28, floor to 44, so 44,000 units = 0.44 standard lots.
  7. Check the worst case: 44,000 x 0.0021 = 92.40, plus 7.00 commission = 99.40 USD. Inside the 100.00 budget.
Result, and what a cost-free shortcut would have produced.
With spread and commissionIgnoring both
Position size44,000 units (0.44 lots)50,000 units (0.50 lots)
Real loss at stop99.40 USD112.00 USD
Against a 100.00 budgetunder by 0.60over by 12.00 (+12%)

The shortcut version comes from the familiar 100.00 / 0.0020 = 50,000 units. It looks tidy and it is wrong, because the trade does not stop out at 0.0020 of movement; it stops out at 0.0020 of movement plus the pip you paid to get in, and you pay the commission either way. Run that arithmetic on every trade and your effective risk is not 1% per trade, it is 1.12% per trade, every single time.

When the quote currency is not your account currency

The formula only works if both sides are in the same currency. If they are not, you need a conversion rate, which is the quote-to-account rate field in the calculator.

Take USD/JPY with a USD-denominated account. Prices are quoted in JPY, so a stop distance measured on the chart is a JPY amount. To turn it into USD you divide by the USD/JPY rate: at a rate of 150.00, one JPY is worth 1 / 150.00 = 0.006667 USD. Multiply your JPY stop distance by that number and the rest of the formula is unchanged.

The clean way to check yourself: compute the loss in the quote currency first, then convert the loss once. If converting twice gives a different answer, one of the two conversions is inverted.

Mistakes that survive years of trading

Do it once by hand, then automate it

Work through the seven steps above on your next trade with a calculator app open. Once the number matches what your platform shows, you will have confirmed both your contract specification and your understanding of it. After that, let a tool do it: enter balance, risk, entry, stop, spread and commission, and read the size.

Open the position size calculator

Related guides