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.

USDT
Below the entry for a long, above it for a short.
%
Base tier: Binance and OKX 0.05%, Bybit 0.055%.
×
BTCUSDT on Binance and Bybit: 0.001. Empty or 0: no rounding.
Position size
0.080 coins · long
Position value
5,000.00 USDT
Risk
100.00 USDT · 1.00% of balance
Distance to the stop
1,250 · 2.00%
Margin
500.00 USDT at 10×
Loss at the stop
−100.00 USDT
Loss at the stop with fees
−104.95 USDT · fees 2.50 + 2.45
Size with fees inside the risk
0.076 coins · loss −99.70 USDT
Target 1R
63,750 · +94.95 USDT after fees
Target 2R
65,000 · +194.90 USDT after fees
Target 3R
66,250 · +294.85 USDT after fees
Margin is below the loss at the stop from
47.6×

Your numbers stay on this page: the calculator stores nothing and sends nothing.

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:

Formula
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.

  1. Money at risk: 1% of 10,000 is 100 USDT.
  2. The stop sits 62,500 − 61,250 = 1,250 USDT away for each BTC, 2% of the entry.
  3. 100 USDT over 1,250 gives 0.080 BTC, a position worth 5,000 USDT (0.080 × 62,500).
  4. Margin at 10×: 5,000 ÷ 10 = 500 USDT.
  5. 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.
  6. 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.
Size0.080 BTC
Position5,000 USDT
Margin500 USDT
Stop with fees−104.95 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

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 →