Since 2 October at 18:05 UTC, Project Iris sizes every new trade the same way. Each family of instruments has its own starting share of one daily risk allowance. Nothing is set aside for a family that is not trading, and a trade is only made smaller when there is genuinely less room left. This post walks through how that works.
The short version
- There is one daily allowance, and gold, indices and commodities and FX each have their own starting share of it.
- A starting share is not a reservation. Any family can use the whole allowance while the others are quiet.
- Only live positions use up the allowance. A new trade takes its family's share, or what is left of the allowance if that is smaller.
Step 1: the allowance comes from your full capital
Everything starts from your usable capital: your full account balance minus what sits in the vault. Since 30 September at 23:37 UTC there has been no capital cap. Before then, sizing was capped at a capital figure fixed when the account was set up, and the dashboard showed it as a capital cap. That cap is gone from both the engine and the dashboard. Your capital is now simply split into the part that can be traded with and the part kept aside in the vault. A deposit counts towards sizing as soon as it arrives, just as a withdrawal reduces it.
Each trading day, your account's daily drawdown limit turns your usable capital into the day's allowance. The allowance is the most that the day's trades, taken together, are allowed to lose.
Step 2: each family has its own starting share
The allowance is divided into three starting shares: one for gold, one for indices and commodities, and one for FX. These are the same proportions that the previous generation of our engine used. A family's share is how much a single new trade in that family may lose if price runs all the way to its stop. The engine sizes the lot so that, at the stop the order actually carries, the possible loss matches that share.
The shares are not reservations. The three families are rarely all trading at the same moment, so setting money aside for an idle family would only make every other trade smaller. Each share is a starting size, and every trade draws from the same single allowance.
Step 3: only live positions count
A trade uses up part of the allowance only for as long as it can still lose money. In practice:
- Orders that have not filled draw nothing. A waiting entry order takes up no room.
- Locked-in trades draw nothing. Once a trade's stop sits at break-even or better, it can no longer lose, so its part goes back to what is left. This has been the rule since 25 September.
- Planned recovery legs draw nothing in advance. Each recovery leg is checked against what is left at the moment it is placed.
- Losses already taken today do count. What is left is the allowance, minus today's realised losses, minus what the open trades would lose at their stops.
Step 4: smaller only when less is left
For each new trade, the engine compares the family's starting share with what is left. If enough is left, the trade goes in at its full share, even when it is the second or third trade in that family today. If less is left, the trade is scaled down to exactly what is left. If nothing is left, it waits.
- Several gold trades in one day. The first gold trades take their full share. When what is left is smaller than a full share, the next gold trade is scaled down to fit. After that, a further gold trade finds nothing left and waits.
- One trade in each family. A gold trade and an index trade take their full shares. If the FX trade that comes next finds less than its share left, it is scaled down to fit. Any trade after that waits until room comes back.
Room comes back when a trade closes or locks in at break-even. Every trade is sized at its stop, so the day's trades together cannot lose more than the allowance, except through slippage or a price gap.
A few details that matter
- Sized on the real stop. The lot is calculated on the exact stop the order is sent with. Before, a lot could be calculated on one stop and then sent with another, which made some trades much smaller than intended. This was fixed for gold on 1 October and for FX on 2 October. Since 4 October, FX range trades are also sized on the ladder they actually place.
- A second opinion on index trades. Index and commodity trades have one extra check: two separate trend readings act as a second opinion. If one of them disagrees with the trade, the trade is made smaller. If both disagree, it is made smaller still.
- No hidden extra cuts. On 2 October several older trims were removed: a fixed cap on correlated gold trades, a cut when many trades were already open, and a reduced size for gold counter-trend trades. Now the allowance, the family's share and the stop decide the size, and nothing else quietly shrinks it.
The rule as a small program
The whole sizing rule fits in a few lines. This is a simplified sketch to show the logic, not the engine's source code.
def size_new_trade(family, stop_distance, day):
"""How much this trade may lose if price runs all the way to its stop."""
# Only trades that can still lose draw on the allowance.
at_risk = sum(t.loss_at_stop for t in day.open_trades if not t.locked_in)
left = day.allowance - day.realised_losses - at_risk
share = day.family_share[family] # a starting size, not a reservation
wanted = min(share, left) # smaller only when less is left
if wanted <= 0:
return None # nothing left: the trade waits
return wanted / (stop_distance * day.value_per_point) # lots, sized on the real stop
locked_in is true once a trade's stop sits at break-even or better. Orders that have not filled and recovery legs that have not been placed are not in open_trades, so they draw nothing.
A worked example, in made-up units
The numbers below are invented to show the mechanics. They are not the real proportions and not an amount from any account. Say the day's allowance is 100 units, and gold's starting share is 40.
| Step | What happens | Left afterwards |
|---|---|---|
| 1 | First gold trade takes its full share of 40. | 60 |
| 2 | Second gold trade takes another full 40. | 20 |
| 3 | Third gold trade wants 40 but only 20 is left, so it is sized to exactly 20. | 0 |
| 4 | A fourth trade finds nothing left and waits. | 0 |
| 5 | The first gold trade moves its stop to break-even and locks in. Its 40 comes back. | 40 |
At step 5 the waiting trade can go in, at the size the remaining room allows.
What you need to do
Nothing. The size of your allowance comes from your account's daily drawdown limit and your usable capital. If you move money into or out of the vault, sizing follows it the same day.
Notes
- Family-share sizing went live on 2 October 2026 at 18:05 UTC. The capital cap was removed on 30 September 2026 at 23:37 UTC. Locked-in trades stopped counting as exposure on 25 September 2026 at 04:15 UTC.
- The diagrams are illustrations. They show how the rule works, not amounts from any real account.
- Internal change references: #474 (family-share sizing), #483 (no capital cap), #433 (exposure counts only what can still lose), #471 (gold sized on the order's stop), #477 (FX sized on the placed ladder).