Position size calculator for crypto futures
Free position size calculator for USDT-margined perpetuals: size in coins and USDT, loss at the stop with fees, margin at your leverage, 1R–3R targets.
Position size is the money you accept to lose on a trade, divided by the gap between your entry and your stop. Enter your balance, your risk, the entry and the stop above: the calculator gives the size in coins and in USDT, the loss at the stop with fees, the margin your leverage locks and where 1R, 2R and 3R are.
How position size is calculated
The calculator reads the direction from the stop. A stop below the entry is a long; a stop above it is a short. Then it works through these formulas:
Risk (USDT) = Balance × Risk % ÷ 100
Size (coins) = Risk ÷ |Entry − Stop|, rounded down to the quantity step
Value (USDT) = Size × Entry
Margin = Value ÷ Leverage
Fees = Size × Entry × Fee + Size × Stop × Fee
Target kR = Entry ± k × |Entry − Stop|Leverage is not in the loss formula. Bybit's help center puts it plainly: leverage does not multiply profits and losses; position size and the price move do. Leverage only sets how much of your balance the exchange locks as margin.
The fee is the taker fee, charged on both sides: a market entry and a stop that fills at market both take liquidity. That is why the loss at the stop with fees is larger than your risk. If you want the loss with fees to stay inside your risk, take the line Size with fees inside the risk: there the risk is spread over the stop distance and both fees together.
Worked example: a BTCUSDT long
The calculator opens with these values: a 10,000 USDT balance, 1% at risk, a BTCUSDT long from 62,500 with its stop at 61,250, a 0.05% taker fee, 10× leverage and a 0.001 BTC quantity step.
- Money at risk: 1% of 10,000 is 100 USDT.
- The stop sits 62,500 − 61,250 = 1,250 USDT away for each BTC, 2% of the entry.
- 100 USDT over 1,250 gives 0.080 BTC, a position worth 5,000 USDT (0.080 × 62,500).
- Margin at 10×: 5,000 ÷ 10 = 500 USDT.
- Fees: 0.05% of 5,000 on entry is 2.50 USDT; 0.05% of 0.080 × 61,250 = 4,900 on exit is 2.45 USDT. The loss at the stop is 104.95 USDT.
- Fees inside the risk: 100 ÷ (1,250 + 0.0005 × 123,750) = 0.0762 BTC, rounded down to 0.076 BTC. Its loss at the stop is 99.70 USDT.
The targets sit one, two and three stop distances away: 63,750, 65,000 and 66,250. After both fees they pay +94.95, +194.90 and +294.85 USDT.
Why there is no liquidation price
A liquidation price depends on more than these inputs. Binance sets the maintenance margin by notional tiers, and the larger the position, the higher its rate. With cross margin your entire balance stands behind the position, and your other positions move that price too. Each venue has its own formula, so a single number here would be wrong somewhere.
What the calculator can say for sure: when the margin is smaller than the loss at the stop, the stop never gets its turn. With isolated margin, liquidation comes first. In the example that happens from 47.6× up: at 50× the margin is 100 USDT, less than the 104.95 USDT the stop would cost. Below that line, read the liquidation price in the order panel before you place the order. The risk per trade guide gives a rough ceiling without fees: divide 100% by how far the stop is, in percent. Here that is 50×.
Why the real loss can differ from the plan
- Fees. 0.05% is the base taker fee on Binance and OKX; Bybit's is 0.055%, and it says the rate can differ by region. VIP tiers and maker orders pay less. Enter your own.
- Slippage. Once triggered, a stop-market order takes whatever the book offers. When price gaps, that fill can land well past your stop. In one of my own trades the stop cost 1,001 USDT on paper and the trade lost 1,812 USDT; the risk per trade guide shows it.
- Funding. Perpetuals pay or charge funding while you hold the position. The calculator leaves it out.
- Quantity step. Binance and Bybit take BTCUSDT orders in 0.001 BTC increments. OKX counts contracts, each worth 0.01 BTC on BTC-USDT-SWAP: the example's 0.080 BTC becomes 8 of them. Other symbols have other steps.
For forex and gold on MetaTrader 5 the size is counted in lots; the risk per trade guide works through a EURUSD example. How each exchange connects to a journal: Binance, Bybit, OKX. To keep the numbers by hand, there is a free trading journal template.
Frequently asked questions
Does leverage change the position size?
No. The size comes from your risk and the distance to the stop. Leverage changes only the margin: 1,000 USDT at 5×, 500 USDT at 10×, 250 USDT at 20× for the same 0.080 BTC.
Should fees count as part of my risk?
Yes, when 1% must cover everything you lose at the stop. Then take the fees-inside size: 0.076 BTC rather than 0.080 BTC in the example.
How do I size a short?
Put the stop above the entry. The formula is the same; the targets then lie below the entry.
Why is the size rounded down?
An exchange accepts a size only in whole quantity steps. Rounding down keeps the loss at the stop within your risk; rounding up would break it.
Sources
- Bybit help center on profit and loss for USDT contracts: the loss comes from quantity and price change; leverage is no multiplier.
- Binance futures fee schedule: a regular account pays 0.05% as taker and 0.02% as maker; every fill costs notional × rate.
- Bybit fee table: perpetuals at VIP 0 cost 0.055% for takers and 0.02% for makers, and the rate can depend on the region.
- OKX Learn on its perpetual swaps: the entry tier charges takers 0.05% and makers 0.02%.
- Binance on leverage and margin in USDⓈ-M futures: maintenance margin rises with the notional bracket; falling short of it can end in liquidation.
- Binance futures order types: once its trigger is hit, a stop-market order executes at the best price available.
- Quantity steps, read from the venues' public APIs: Binance exchangeInfo and Bybit instruments-info give BTCUSDT a 0.001 step; the OKX instruments endpoint gives BTC-USDT-SWAP a contract value (ctVal) of 0.01 BTC.
A calculator works out the plan. What your trades really cost is in your journal. From the moment you connect, FOQUS records every trade in USDT and USDC perpetual futures on Binance, Bybit and OKX, and with MetaTrader 5 brokers, by itself (an exchange connects with a read-only key). Its Risk per trade widget shows what share of the account an average losing trade takes. FOQUS →