Futures Position Size Calculator

How many contracts your stop allows, what a trade makes or loses, and what to type into NinjaTrader’s ATM dialog.

Free · runs in your browser · by the UsefulIndicators team · updated 13 Nov 2026
Position size · futures CME Group contract specs
Your trade
Percent of account risked on this trade.
Distance from entry to stop, in ticks.
2 means a target twice the stop distance.
Result
— contracts
Risk per contract—
Actual risk—
Share of account—
Stop distance—
Target—
Contract—
ATM strategy input Ticks any size Currency
Stop loss — —
Profit target — —

Ticks holds at any quantity. —

Profit or loss · one trade Before commissions
The trade
Points in your favour. A minus number is a move against you.
Result
— profit or loss
Move—
Per contract—
Contracts—
Contract—

Commissions, exchange fees and slippage come off on top. This is the move times the tick value, nothing else.

How the number is worked out

There is only one piece of arithmetic here, and it is worth knowing by heart.

Contracts = risk budget ÷ (stop in ticks × tick value)

Say you trade MES with a $50,000 account and risk 1% — that is a $500 budget. A 20-tick stop on MES risks 20 × $1.25 = $25 per contract. $500 ÷ $25 = 20 contracts.

The result is always rounded down. You cannot trade part of a futures contract, and rounding up quietly breaks the risk limit you just set.

Putting it into NinjaTrader’s ATM strategy

NinjaTrader’s ATM strategy dialog lets you set a stop or target in five parameter types, Ticks, Currency, Price, Percent and Pips. The calculator gives you Ticks and Currency, the distance and the dollars. Price is a fixed price level rather than a distance, and Percent and Pips are not how futures stops are usually set.

Ticks is the one to save in a template

A Ticks value is a distance. Twenty ticks is twenty ticks whether you trade one contract or ten, so a template built in ticks behaves the same way every time you use it. The dollars it risks still grow with the size you trade. That is why the calculator lists Ticks first.

Currency is a total, not a per-contract amount

This is the part that catches people, and it is worth reading twice.

When you set a stop in Currency mode, NinjaTrader treats that dollar figure as the risk for the whole allocated quantity — not per contract. It divides by the quantity to work out the distance.

So a $50 Currency stop on MES lands at two different distances.

  • on 1 contract, lands 40 ticks from the fill — $50 ÷ $1.25
  • on 2 contracts, lands 20 ticks from the fill — $50 ÷ ($1.25 × 2)

Same number in the box, half the distance on the chart. If you built the template on a 1-lot and later traded a 2-lot, your stop is twice as tight as you think it is — and nothing on screen tells you before the fill.

Two more details, both found by watching real fills rather than by reading the dialog.

  • The quantity that divides is the quantity on the entry order you actually send — whatever is in the Chart Trader quantity box — not the quantity saved in the ATM template row. A 1-lot order on a row saved at quantity 3 divides by 1.
  • We measured this on templates with one stop and one target. Templates with several targets may divide differently. We have not verified them, so do not assume the same rule holds there.

None of this is a bug — it is what Currency mode is for. It only bites when you assume the number is per contract. If you would rather not think about it, use Ticks.

Contract specifications used

Every number in the calculator comes from this table. Tick value is always the point value multiplied by the tick size, and the calculator refuses to use any row where that does not hold.

SymbolContractTick sizeTick valuePoint value
ESE-mini S&P 500E-mini S&P 5000.25$12.50$50
MESMicro E-mini S&P 500Micro E-mini S&P 5000.25$1.25$5
NQE-mini Nasdaq-100E-mini Nasdaq-1000.25$5$20
MNQMicro E-mini Nasdaq-100Micro E-mini Nasdaq-1000.25$0.50$2
YME-mini DowE-mini Dow1$5$5
MYMMicro E-mini DowMicro E-mini Dow1$0.50$0.50
RTYE-mini Russell 2000E-mini Russell 20000.1$5$50
M2KMicro E-mini Russell 2000Micro E-mini Russell 20000.1$0.50$5
CLCrude OilCrude Oil0.01$10$1,000
MCLMicro Crude OilMicro Crude Oil0.01$1$100
NGNatural GasNatural Gas0.001$10$10,000
RBRBOB GasolineRBOB Gasoline0.0001$4.20$42,000
GCGoldGold0.1$10$100
MGCMicro GoldMicro Gold0.1$1$10
SISilverSilver0.005$25$5,000
HGCopperCopper0.0005$12.50$25,000
ZB30-Year T-Bond30-Year T-Bond0.03125$31.25$1,000
ZN10-Year T-Note10-Year T-Note0.015625$15.625$1,000
ZF5-Year T-Note5-Year T-Note0.0078125$7.8125$1,000
6EEuro FXEuro FX0.00005$6.25$125,000
6BBritish PoundBritish Pound0.0001$6.25$62,500
6JJapanese YenJapanese Yen0.0000005$6.25$12,500,000

These are exchange contract specifications, not margins. Margins change and differ by broker. Tick values are set by the exchange and rarely change. The futures tick values guide has the same table, and MNQ, MES, NQ, ES, MGC and GC each have their own page with examples.

Common questions

Why did it tell me zero contracts?

Because one contract would risk more than your budget allows. That is a real answer, not an error. A futures contract cannot be split, so the trade does not fit at this size. Where a micro contract exists, it risks a tenth as much per tick.

Why was my stop rounded?

NinjaTrader's ATM dialog works in whole ticks. A 2.1-point stop on ES is 8.4 ticks, which cannot be placed, so the calculator rounds it to the nearest whole tick and says so under the result.

Should I risk 1% or 2%?

That is your decision and it depends on things a calculator cannot see. The field is there so you can put your own number in, not because we think there is a correct one.

Does this account for commissions or slippage?

No. It sizes the position against your stop distance. Fills happen at the price the market gives you, and commissions and fees come off on top. Treat the result as the planned risk, not the guaranteed loss.

Can I share a calculation?

Yes, for the position size. The address bar holds those inputs as soon as you change one, so copying the address carries them with it. The profit or loss calculator is not kept in the address.

This tool does arithmetic on numbers you supply. It is not trading advice and it does not know anything about your circumstances. Futures trading carries substantial risk of loss. See our risk disclosure.