How to calculate lot size: the formula with forex and index examples
How to calculate lot size, with worked examples for EURUSD, USDJPY, gold and NAS100: the formula, MT5's tick value, why you round down and when to skip.
Key takeaways
- Lot size is the money you accept to lose divided by what 1.00 lot loses at your stop, rounded down to the broker’s volume step.
- The stop comes first and the size follows from it. For the same risk, a wider stop means a smaller position.
- In MT5, the loss per lot for any symbol is (stop distance ÷ tick size) × tick value, from the symbol’s Specification window.
- On index CFDs, what one point on 1.00 lot is worth is set by each broker, so a guessed value can put the size out by a factor of ten.
- When the size rounds down below the broker’s minimum lot, the trade does not fit the risk, and the honest answer is no trade.
On this page
- The lot size formula in one line
- Step 1: decide the money at risk
- Balance or equity
- What the percentage means over a losing streak
- Step 2: measure the stop in the right unit
- The spread is part of the stop distance
- Step 3: the value of one pip per lot, in your account currency
- Worked examples: $5,000 account, 1% risk, 0.01 volume step
- Indices: one spec field, a 10x difference
- How to calculate lot size in MT5 for any symbol
- Round down, and skip the trade below the minimum lot
- Below the minimum lot, the answer is no trade
- What correct sizing does not protect you from
- How PipWarden sizes every trade
To calculate lot size, divide the money you accept to lose on a trade by what 1.00 lot would lose at your stop loss, then round down to your broker’s volume step. With a $5,000 account risking 1% ($50) and a 25-pip stop on EURUSD, that is $50 ÷ $250 = 0.20 lot.
The sections below cover each input, then how to read them from MT5 for any symbol, including gold and index CFDs, where the textbook figures do not apply. Every example uses the same made-up account: $5,000 in US dollars, 1% ($50) at risk per trade. For your own numbers, the position size calculator does the same math.
The lot size formula in one line
lots = money at risk ÷ (stop distance × value of that distance on 1.00 lot)
then round DOWN to the broker's volume step
A lot is MT5’s unit of trade size. On a forex pair, 1.00 lot is usually 100,000 units of the first currency; 0.10 lot is 10,000 and 0.01 lot is 1,000. The volume step is the smallest amount a lot size can change by at your broker, commonly 0.01 on forex.
Step 1: decide the money at risk
There are two common ways to set it:
- A share of the account. 1% of $5,000 is $50. The amount shrinks after losses and grows after gains.
- A fixed amount. $50 per trade, whatever the balance does. Simple, but after a run of losses the same $50 is a larger share of a smaller account.
Balance or equity
Equity is your balance plus or minus the floating result of open trades. With nothing open the two are equal. With one trade open and $200 down, equity is $4,800, and 1% of it is $48, not $50. Sizing from the $5,000 balance would risk 1.04% of what the account is worth at that moment. Many traders therefore size from equity whenever trades are open. Whichever you choose, apply it the same way every time.
What the percentage means over a losing streak
Figures between 0.5% and 2% per trade are common conventions. None of them is a recommendation; the table only shows the arithmetic of each choice, with each loss sized from the account after the previous one.
| Risk per trade | At risk on $5,000 | After 10 losses in a row | Gain needed to get back |
|---|---|---|---|
| 0.5% | $25 | −4.89% | 5.14% |
| 1% | $50 | −9.56% | 10.57% |
| 2% | $100 | −18.29% | 22.39% |
| 5% | $250 | −40.13% | 67.02% |
How likely a streak like that is depends on how often your trades lose and how many you take. The drawdown calculator gives the odds for a loss rate you assume, and how many losses in a row reach a daily or overall drawdown limit.
Step 2: measure the stop in the right unit
A stop typed in the wrong unit makes the size wrong by a factor of ten. MT5 counts in points, the smallest price step the symbol is quoted in. Traders usually talk in pips, which on a pair quoted to 5 decimals (3 on yen pairs) are 10 points.
| Symbol, example quote | One point | One pip | A 25-pip stop is |
|---|---|---|---|
| EURUSD, 1.13550 | 0.00001 | 0.0001 | 250 points = 0.00250 |
| USDJPY, 157.000 | 0.001 | 0.01 | 250 points = 0.250 |
| XAUUSD, 3,000.00 | 0.01 | no agreed size | measure it in dollars |
Before sizing, write the stop out in all three forms: on EURUSD, 25.0 pips = 250 points = 0.00250. If the three do not agree, one of them is wrong. A 250-point stop entered as 250 pips gives a size ten times too small. A 25-pip stop entered as 25 points gives one ten times too large, which is the direction that hurts.
The spread is part of the stop distance
MT5 builds chart bars from the Bid price (or from Last where the symbol has depth of market; MT5 Help: chart settings). A long position opens at the Ask and its stop is checked against the Bid. A short opens at the Bid and its stop is checked against the Ask (MT5 Help: basic principles). So the spread enters the stop distance on both sides:
- A long fills one spread above the price on the chart, so the real distance to the stop is the chart distance plus the spread.
- A short’s stop triggers while the Bid on your chart is still one spread below it. For the chart to have to reach the level you picked, the stop has to sit one spread beyond it, which makes the distance one spread longer.
With a 1.0-pip spread (an illustrative figure), the 25-pip EURUSD stop costs 26 pips: $260 per lot, so $50 buys 0.1923 lot, rounded down to 0.19 lot, which loses $49.40. Why a short’s stop can trigger before the chart touches it is covered in stop losses and the bid-ask spread. A commission charged per lot adds to the loss per lot the same way.
Step 3: the value of one pip per lot, in your account currency
A pip on 1.00 lot is worth pip size × contract size, paid in the pair’s quote currency (the second one). If that is not your account currency, convert it once:
- The quote currency is your account currency: nothing to convert.
- A pair of your account currency against the quote currency exists (USDJPY for a USD account): divide by its price.
- A pair of the quote currency against your account currency exists (GBPUSD for a USD account): multiply by its price.
| Pair and account | One pip on 1.00 lot | Conversion | Pip value |
|---|---|---|---|
| EURUSD, USD account | $10 | none | $10.00 |
| USDJPY, USD account | ¥1,000 | ÷ USDJPY 157.00 | $6.37 |
| EURGBP, USD account | £10 | × GBPUSD 1.32865 | $13.29 |
| EURUSD, EUR account | $10 | ÷ EURUSD 1.1355 | €8.81 |
The rates are the ECB euro reference rates of 30 Sep 2026: 1.1355 US dollars, 178.27 yen and 0.85463 pounds per euro. USDJPY and GBPUSD are the crosses of those figures, 157.00 and 1.32865. Rates move every day, and so does the pip value of every pair not quoted in your account currency. The pip value calculator works it out for 28 pairs, gold, silver and index CFDs.
Worked examples: $5,000 account, 1% risk, 0.01 volume step
| Trade (illustrative) | Loss per 1.00 lot | Exact size | Rounded down | Loss at the stop |
|---|---|---|---|---|
| EURUSD, 25-pip stop | $250.00 | 0.200 | 0.20 lot | $50.00 |
| USDJPY at 157.00, 25-pip stop | $159.24 | 0.314 | 0.31 lot | $49.36 |
| XAUUSD, $7.50 stop, 100 oz | $750.00 | 0.0667 | 0.06 lot | $45.00 |
| NAS100, 40 points at $1 a point | $40.00 | 1.25 | 1.25 lots | $50.00 |
| NAS100, 40 points at $10 a point | $400.00 | 0.125 | 0.12 lot | $48.00 |
The position size calculator gives the same figures for all five rows.
Indices: one spec field, a 10x difference
Index CFDs have no standard contract. For symbols MT5 calculates as CFDs, profit is (close − open) × contract size × lots (MQL5: symbol calculation modes), so the contract size is what one index point is worth on 1.00 lot, in the symbol’s profit currency. Each broker sets it for each symbol. As of October 2026, one broker lists a contract size of 1 for its US30 (its specification): $1 per point per lot. A broker that sets 10 makes the same point worth $10, and every lot ten times the risk. Tick value ÷ tick size is the cross-check: it gives the money a 1.0 move is worth on 1.00 lot whatever the calculation mode, usually in your account currency. Read both for every new symbol and every new broker.
Two more traps sit in the same window:
- “Point” means two things. Traders say “a 40-point stop” and mean 40.0 index points. MT5’s point is the smallest price step, which on an index quoted to one decimal is 0.1. A spread of 25 MT5 points is 2.5 index points, and a 40-index-point stop is 400 MT5 points.
- Volume limits differ. The minimum lot and volume step on index CFDs are 0.01 at some brokers and 0.1 at others; the MQL5 book’s example output shows an index symbol, SP500m, with a 0.1 minimum and step. A size that works at one broker can be below the minimum at another.
An index quoted in another currency, such as a German index in euros, then needs the same conversion as a cross pair in Step 3.
How to calculate lot size in MT5 for any symbol
MT5 already knows every number the formula needs, for every symbol, at your broker. You can read them yourself:
- Open Market Watch with Ctrl+M (MT5 Help: hot keys).
- Right-click the symbol and choose Specification (MT5 Help: Market Watch).
- Note Contract size, Profit currency, Tick size, Tick value, Minimal volume, Maximal volume and Volume step.
Tick size is the minimum price change. Tick value is what one tick is worth on 1.00 lot. With those two, the loss per lot for any symbol is:
loss per lot = (|entry − stop| ÷ tick size) × tick value
Before you rely on the tick value, check which currency it is in. Tick size × contract size gives the value of one tick in the profit currency: on EURUSD, 0.00001 × 100,000 = $1.00. The MQL5 book says the tick value MT5 reports is usually in the account currency, but some symbols can be set up to use the base currency. So on a USD account, EURUSD should read 1, and USDJPY at 157.00 about 0.637 (¥100 ÷ 157). If the number does not add up, ask your broker which currency it uses.
An Expert Advisor reads the same fields with SymbolInfoDouble: SYMBOL_TRADE_TICK_SIZE, SYMBOL_TRADE_TICK_VALUE, SYMBOL_VOLUME_MIN, SYMBOL_VOLUME_STEP and SYMBOL_VOLUME_MAX (MQL5 symbol properties).
Round down, and skip the trade below the minimum lot
The exact size is rarely a whole number of volume steps, so it has to be rounded. Rounding up breaks the limit you set. Rounding down keeps the loss at the stop at or under it. Write down the real loss after rounding, not the target:
| Trade | Exact size | Rounded down | Rounded up |
|---|---|---|---|
| USDJPY, 25 pips | 0.314 | 0.31 lot: $49.36 | 0.32 lot: $50.96 |
| XAUUSD, $7.50 stop | 0.0667 | 0.06 lot: $45.00 | 0.07 lot: $52.50 |
| NAS100 at $10, 40 points | 0.125 | 0.12 lot: $48.00 | 0.13 lot: $52.00 |
On gold, rounding down takes the loss from 1% to 0.90% of the account; rounding up takes it to 1.05%.
Below the minimum lot, the answer is no trade
Every symbol has a minimum lot size, usually 0.01 on forex. When the exact size rounds down below it, the smallest order the broker accepts would lose more than you set. Take a $100 account at 1%: $1 at risk. A 25-pip EURUSD stop costs $2.50 at 0.01 lot, which is 2.5% of the account. “Use 0.01 anyway” quietly turns a 1% plan into a 2.5% one.
Within a 1% plan, the arithmetic leaves two outcomes: a closer stop, if one still fits the trade idea, or no trade. Raising the risk to fit the minimum lot defeats the reason for sizing at all. The numbers for small accounts are worked through in lot size for a $100 account.
At the other end, a size above the broker’s maximum volume is capped, and the trade then risks less than planned.
What correct sizing does not protect you from
Sizing fixes how much a trade loses if it closes at its stop. Several things sit outside that sum:
- Gaps and slippage. A stop is a trigger price, not a promised fill. In a fast market it can fill beyond the level (slippage), and after a weekend gap the first price can be well past it. The 0.20 lot EURUSD trade above moves $2 per pip: if the market reopens 65 pips from the entry instead of 25, the trade closes about $130 down, not $50.
- Related positions. Long EURUSD and long GBPUSD at 1% each are both short the US dollar, so one dollar move can hit both stops: closer to one 2% position than two separate 1% ones. Sizing each trade does not add them up for you.
- Several losses in one day. Each trade can be sized correctly and a bad day can still add up. A daily loss limit stops new trades once the day’s losses reach a set level; how to set a daily loss limit covers how it is counted.
- The strategy itself. Sizing controls how much you lose when a trade is wrong, not how often it is wrong.
How PipWarden sizes every trade
PipWarden does this sum before every order, with your broker’s own numbers instead of textbook ones:
- Money at risk is your risk per trade (1% by default; you can set 0.1% to 5%) of the account’s equity at the time of the check.
- The stop comes from the strategy: a stop loss set from ATR (a measure of recent volatility), attached to the order and then aligned to that distance from the price the order actually fills at.
- Loss per lot is (stop distance ÷ tick size) × tick value, with the tick size and tick value the EA reads from MT5 for that symbol at your broker.
- The size is rounded down to the broker’s volume step and capped at your maximum lot (5.00 by default) and the broker’s maximum volume.
- Below the minimum lot, the trade is skipped and logged as “Risk below minimum lot”. The risk is not raised to fit.
Other checks run on the same signal: the daily loss limit, open-position caps, correlated exposure and the high-impact news window (both on by default), the spread limit if you set one for the pair, free margin, and “Stop too close” when the stop is nearer than your broker allows. They are checked before every order, and every skipped trade is logged with its reason. Open trades still run to their own stops, and gaps or slippage can make a loss larger than planned.
PipWarden runs as an Expert Advisor in MT5 on a Windows PC or VPS, with a broker that allows Expert Advisors. It does not run on a phone. See how it works and the risk controls.
Forex and CFD trading is high risk, and you can lose money, including more than a correctly sized stop suggests. Read the risk disclosure before trading.
Frequently asked questions
What is the lot size formula in forex?
How do I calculate lot size in MT5?
Should I size positions from balance or equity?
How do I calculate lot size for NAS100 or US30?
Why should lot size be rounded down, not up?
Educational content, not financial advice. Forex and CFDs are traded on margin and are high risk: you can lose money, and more than your deposit with some brokers. Examples use made-up numbers and show no real results. Read the risk disclosure.