What actually breaches an account

Almost every unexpected failure comes from one of two things: a floor that moved differently than the trader assumed, or a breach that already happened and had not been noticed yet.

Two limits, two different shapes

A funded account normally carries two loss rules and they fail in different ways.

The daily loss limit is a fence around one day. It resets, so surviving it costs you nothing tomorrow.

The maximum drawdown is a floor under the whole account. It does not reset, and depending on its type it may follow you upward — which is the part that surprises people, because a floor that rises means profit you have made can stop being a buffer.

The four floors

Everything in the maximum drawdown rule reduces to one question: which peak does the floor follow?

Static. The floor sits at your starting balance minus the drawdown amount and never moves. Start at $100,000 with a 10% drawdown and the floor is $90,000 forever. Make $20,000 and you now have $30,000 of room. The most forgiving shape, and the rarest.

Trailing on end-of-day balance. The floor follows the highest day-end balance. Intraday spikes do not count. Finish a day at $105,000 and the floor becomes $95,000; touch $105,000 at lunchtime and close at $101,000 and it does not.

Trailing intraday. The floor follows the highest equity ever reached, unrealised profit included. The same lunchtime spike raises the floor permanently, and giving that profit back moves you toward a limit that the profit itself created.

Trailing with a lock. Trails like one of the above until the floor reaches a defined level — usually your original account size — and then stops. This is the shape that turns into a static rule once you are far enough ahead, and it is the reason "trailing" alone is not enough information to size a position.

The drawdown calculator computes the floor for each of these from your own numbers, which is faster than reasoning about it.

The mistake we shipped

Our first implementation advanced the high-water mark after every trade. For an end-of-day rule that is wrong: it treats every intraday peak as if it were a day-end balance, so the floor rises earlier and higher than the firm's does.

The consequence runs one specific direction. A trader looking at our tracker would have seen less room than they really had and closed positions that were fine. Not a catastrophe, but the same class of error in the other direction ends accounts.

What makes this worth telling is why the test suite missed it. The original test had one trade per day — and with one trade per day, the balance after that trade is the day-end balance, so both methods return identical numbers. The bug was invisible to a test that looked thorough. It took a case with two trades in one day to expose it.

That is a general lesson about checking anything: a test has to include the case where the two candidate behaviours actually differ, or it is not testing the thing it appears to test.

Why the intraday floor is an estimate, and deliberately pessimistic

An intraday trailing floor follows peak equity, including unrealised. Reconstructing it exactly needs a tick-by-tick history of your floating P&L, and nobody has that from a statement — the best available input is periodic snapshots.

Between two snapshots the true peak may have been higher than either. So a computed floor from snapshots is a lower bound: it can only understate how high the floor really is, which means it can only overstate your remaining room.

Our engine therefore does two things rather than pretend otherwise. It marks the figure as an estimate so the interface can say so, and it applies a configurable safety margin that shifts the floor upward — deliberately reporting slightly less room than the estimate suggests. Being conservative about someone else's account rules is the only defensible direction to be wrong in.

A breach is a historical fact, not a current state

The last piece is the one people miss entirely: an account that breached and then recovered is still breached. The firm recorded it when it happened.

So the check cannot be "is equity below the floor right now". It has to walk the whole history, day by day, asking whether the balance at the end of each day was below the floor as it stood on that day.

That ordering matters more than it sounds, and getting it backwards produces a rule that can never fire:

Compare the day's closing balance against the floor first, and raise the peak afterwards.

Do it the other way — raise the peak, then compare — and a day that ends at a new high pulls its own floor up with it in the same step, so it is always above the line by construction. A trailing drawdown implemented in that order will never report a breach on a day that closed at a record, which is exactly the day a sharp reversal is most likely to have blown through the limit intraday.

If you are checking your own tracker against your firm's, that is the first thing to test: give it a day that closes at a new high after a deep intraday loss, and see whether it notices.

More in Prop firm rules, as arithmetic

  • Equity versus balanceWhy a prop firm measures equity rather than balance, what that does to open positions overnight, and why a withdrawal is not a loss but still changes what you can lose.
  • What a rulebook actually containsThe parameters that genuinely differ between firms, the ones that only look different, and the two rules that are warnings rather than account-enders.
  • Passing a challengeWhat the profit target is measured on, why the daily limit and the target pull in opposite directions, and how to work out the pace a deadline actually requires.
  • Payouts and the consistency ruleHow a best-day share is computed, the difference between a rule that blocks a payout and one that blocks a pass, and why the fix is arithmetic rather than appeal.