Position sizing on XAUUSD with ATR stops: what one minimum lot really risks

14 November 2026, 11:57
Pavel Polikarpov
0
14

Most position-sizing advice says: put the stop where the market tells you, then choose the lot so that the stop costs a fixed share of the account, for example 1%. On gold this rule runs into a hard floor. The smallest lot is 0.01, and on today's gold that minimum lot with an ordinary volatility stop can already cost several percent of a small account. This note shows the arithmetic with real price data, so you can check what your own EA is doing.

All figures below come from XAUUSD H1 and D1 bars of one broker server (FreshForex-MT5), 2017 to 13 November 2026, exported from a MetaTrader 5 terminal. Your broker's prices and contract settings may differ slightly. Nothing here is a promise of results; past data does not guarantee future results.

The arithmetic

On this server one lot of XAUUSD is 100 troy ounces, and the tick of 0.01 is worth 1.00 USD per lot. So:

  • 1.00 lot gains or loses 100 USD for every 1 USD move in the gold price.
  • 0.01 lot gains or loses 1 USD for every 1 USD move.

The usual sizing formula is:

lot = (equity x risk share) / (stop distance in USD x 100)

With a 600 USD account and 1% risk, the budget is 6 USD. A stop 6 USD away from the entry allows exactly 0.01 lot. A wider stop asks for less than 0.01 lot, and the broker does not offer that.

An ATR stop on gold, year by year

A common volatility stop is 2 x ATR(14). The table uses ATR(14) on H1 bars, Wilder smoothing, the median value of each year. The money column is what that stop costs at the minimum lot of 0.01.

Year Median gold price Median ATR(14) H1 2 x ATR stop at 0.01 lot Share of a 600 USD account Equity for 1% risk at 0.01 lot
2017 1264 2.26 4.51 USD 0.75% 451 USD
2018 1263 2.23 4.46 USD 0.74% 446 USD
2019 1406 2.45 4.90 USD 0.82% 490 USD
2020 1774 5.37 10.75 USD 1.79% 1075 USD
2021 1794 4.16 8.31 USD 1.39% 831 USD
2022 1804 4.53 9.05 USD 1.51% 905 USD
2023 1945 4.09 8.17 USD 1.36% 817 USD
2024 2381 5.85 11.70 USD 1.95% 1170 USD
2025 3344 10.05 20.10 USD 3.35% 2010 USD
2026 (to 13 Nov) 4443 18.68 37.36 USD 6.23% 3736 USD

Two things stand out.

First, the stop did not grow only because gold became more expensive. The median H1 ATR was 0.18% of the price in 2017 and 0.42% in 2026. Gold moves more per hour in relative terms too.

Second, the share of hours in which a 2 x ATR(H1) stop at 0.01 lot costs more than 6 USD (1% of 600 USD) went from 9.5% of H1 bars in 2017 and 8.6% in 2018, to 93.0% in 2020, 96.6% in 2024 and 100% in 2025 and 2026. For a 600 USD account, "1% risk with an ATR stop" has not been possible on gold for most of the last six years.

At the last H1 close in the data (13 November 2026, 3883.76) the ATR(14) H1 was 15.44 USD. A 2 x ATR stop at 0.01 lot costs 30.89 USD, which is 5.15% of 600 USD. The formula asks for 0.0019 lot. On the daily chart it is wider: ATR(14) D1 was 89.69 USD, and a 2 x ATR(D1) stop at 0.01 lot costs 179.39 USD, about 30% of 600 USD.

What an EA can do when the formula says "less than the minimum"

There are only three honest choices:

  1. Round down and skip. The formula gives 0.0019 lot, the EA rounds down to zero and does not trade. Risk stays at the chosen level, but the EA trades much less in volatile years.
  2. Round up with a ceiling. The EA accepts the minimum lot even when it risks more than the target, but only up to a hard limit, and skips the trade above that limit. The real risk per trade is then "target or a little more, never above the ceiling".
  3. Change the stop. A tighter stop fits the budget, but it is no longer the volatility stop you designed, and it will be hit by ordinary noise more often.

What an EA should not do is round up silently. Then the input says 1% while each trade really risks 5% or more, and the drawdown in the report has nothing to do with the number in the settings.

As one example of option 2: in our own EA, Golden Sniper XAU, each lane checks the money at risk of the minimum lot against a ceiling, which for the short lane is the smaller of 10% of equity and 80 USD; a trade whose 2 x ATR stop at 0.01 lot costs more is not opened. With 600 USD of equity that ceiling is 60 USD. Whether that ceiling is right for you is a separate question; the point is that the real limit is visible and enforced.

Two details that change the real risk

Spread. On this server the spread stored with the bars since 2020 is 75 points, which is 0.75 USD at 0.01 lot. Against today's 30.89 USD stop that is about 2.4% of the risk. Against a 4.90 USD stop, the 2019 median, the same 0.75 USD would be about 15% of the risk. A narrow stop on gold pays a large share of its risk to the spread before the price moves at all.

Credit. Some brokers add a credit bonus to the account. MetaTrader includes the credit in equity, so an EA that sizes from equity treats it as money. Suppose a balance of 150 USD and a credit of 450 USD: equity is 600 USD. The 30.89 USD stop is 5.15% of that equity, but 20.6% of the 150 USD that is really yours. If your account has a credit, read every "percent of equity" setting against the cash balance as well.

A short checklist

  • Compute the stop first, then the lot. Never the other way round.
  • Print the money at risk at the minimum lot in the EA log or on its panel, next to the target.
  • Decide explicitly: skip, or minimum lot up to a hard ceiling. Make the ceiling an input.
  • Recheck when volatility changes. The same 2 x ATR(H1) stop at 0.01 lot cost 4.90 USD in 2019 and 37.36 USD in 2026, more than seven times as much.
  • If the account has a credit, judge the risk against the balance too.

Golden Sniper XAU, the EA mentioned above: https://www.mql5.com/en/market/product/207995