Most calculators print a lot figure and stop. This one also tells you when that figure is smaller than the smallest trade your account will accept, because on anything under about $2,000 that is the normal answer, and it changes what you should do next.
1.00 lot is 100,000 units, so a major pair quoting in dollars is $10 a pip. Gold is 100 ounces, so $0.10 on XAUUSD is $10. Crosses and a non-USD account differ — type your own.
lots = (balance × risk%) ÷ (stop in pips × pip value per lot). A $1,000 account risking 1% is $10. A 30-pip stop on EURUSD is $300 per lot. $10 ÷ $300 = 0.0333 lots.
Then round down to the lot step, never up. Rounding up risks more than the number you decided on, and that decision is the only part of trading that is fully under your control.
Take a $500 account, 1% risk, a 30-pip stop. The sum gives 0.0167 lots. Most MT4 accounts will not accept anything below 0.01, so the trade you can place risks $3, or 0.6% — which is fine. Now take a 60-pip stop on the same account: the sum gives 0.0083, and the smallest placeable trade risks $6, or 1.2%. There is no smaller trade. The stop you are allowed to use is now set by your account size, not by the chart.
That is the constraint nobody's calculator prints. Below roughly $300 at 0.01 lots, a single stop costs more than 2% of the account, and two of them in a row costs more than most people's monthly return. The honest conclusion on an account that size is usually not “trade smaller” — it is that the account is too small for the stop the setup needs.
Checked against a real run. EA 0037 on this site traded a fixed 0.1 lots on a $10,000 account. Eleven consecutive losses cost $1,716, or 17% of the account. At 0.01 lots the same eleven trades cost $172 — 1.7% — and the account is never in danger. The lot size was the whole difference. That audit is here.
No margin requirement, no commission, no swap, and no slippage. If you trade 5 lots on a $1,000 account, the number this page prints is arithmetically correct and the account is still going to be closed out on the first gap. Of the 723 EAs in the 1,470 batch that opened a trade at all, 51.3% reached five lots or more from a $10,000 start. Position size is where that happens, which is why this is the first tool on the page and not the third.
It also assumes your stop is where you think it is. On this site that has not always been true: EA 056 computed a stop on every trade and passed OrderStopLoss() instead, so the stop never moved. The source walk-through is here.
Related: per-trade expectancy · how long a losing run to plan for · the five checks every EA here goes through