The daily loss limit does not measure what you think
Funded accounts sometimes fail for a reason that has nothing to do with trading badly. The daily loss limit is understood one way and measured another, and that two-word gap is what closes accounts.
The contract says maximum daily loss. The trader reads it as "I may not end the day down more than X." The firm may measure it as "your equity may not drop below this number at any point during the day." That is how FTMO, for one, writes it: what may not fall below the limit is equity, which counts the balance plus the result of open positions, swaps and commissions (rules checked in October 2026).
Those two sentences sound identical. They are two different rules, and one of them breaks without you closing anything.
Is the daily drawdown based on balance or equity
Balance is money from positions already closed. Equity is balance plus whatever your open positions are worth right now.
Open a position, let it move against you, and your balance does not budge. Your equity does.
Example: you start the day with a balance of 100,000 and the daily limit is 3%, so the day's floor is 100,000 − 3% of 100,000 = 97,000.
At the open: balance 100,000 · floating 0
At the worst: balance 100,000 · floating −3,200 · equity 100,000 − 3,200 = 96,800 ← you are already out
A while later: balance 100,000 · floating −1,100 · equity 100,000 − 1,100 = 98,900

That middle line is a moment that may last ten seconds. It never shows up in your trade history, because no trade closed. It shows up in the firm's log, if its rule watches equity and not balance.
And at five in the afternoon, when you close with a small loss and tell yourself you had a quiet day, the account is already flagged.
The rule, in the two forms firms write it
Not every firm defines it the same way, and the difference matters more than it looks:
| Form | Where the floor sits | Consequence |
|---|---|---|
| On the balance at the start of the day | A fixed number for the whole session | Predictable: you know your floor before you open |
| On the higher of balance and equity at the previous day's close | Rises if you reach the reset holding floating profit | 🔴 It takes air away, it does not give it |
The first is the predictable one. It is the one FTMO uses in its two-step challenge: the balance at 00:00, minus 5% of the initial capital. If the day opens at 100,000, the floor is 100,000 − 5% of 100,000 = 95,000 and it does not move (checked in October 2026).
The second is a trap, and almost nobody frames it that way. It is the one The5ers uses in its two-step plan: 3% of the previous day's closing balance or equity, whichever is higher (checked in October 2026). It sounds generous — "if I'm up, my floor rises" — and it is exactly backwards. Look at the numbers:
At reset: balance 100,000 · equity 102,000 (2,000 floating)
Base: 102,000 ← takes the HIGHER of the two
Limit: 3% of 102,000 = 3,060
Day's floor: 102,000 − 3,060 = 98,940 ← and your real balance is 100,000

Example: you started the session with 100,000 − 98,940 = 1,060 of room above your balance, and not with the 3% of 100,000 = 3,000 you expected. Giving back a gain you had not yet booked counts as a loss for the day. The better you were doing at the reset, the less air you have.
Read your own contract before you compute anything. It is the one number in the rule you cannot derive.
What time does the daily loss limit reset
Another way to lose the account is dumber: the firm's day does not start when yours does.
Each firm sets its own reset time. FTMO recalculates the limit at 00:00 CE(S)T, which is midnight in Madrid. But its MetaTrader server runs on GMT+2 with daylight saving, and it does not change its clock on the same day as Madrid. It is usually one hour ahead: on your chart the reset lands at 01:00 server time, not at server midnight. But FTMO announced that from 8 to 29 March 2026 the difference was 2 hours (checked in October 2026).
And far from Europe the reset lands in the middle of the day. Bogotá runs on UTC minus 5 hours: there, midnight in Madrid is five or six in the afternoon, depending on whether Madrid is on summer or winter time. Tokyo runs on UTC plus 9 hours: there it is seven or eight in the morning.
And not all of them use midnight. In futures, Topstep opens at 5:00 PM Central Time and closes at 3:10 PM the next day (checked in October 2026).
In practice: a position you opened "last night" may be counting against today, and the loss you just booked may be charged to a day that, for you, already ended.
And there is one detail that hardly ever gets mentioned. In MetaTrader, server time reads like this:
datetime now = TimeTradeServer();
According to its documentation, that time does not come from the server: the terminal computes it, and it depends on your computer's clock. The documentation does not say what it returns before the terminal has connected, so do not take it on trust.
If the clock reads zero at that moment and your start-of-day calculation runs then — on terminal startup, say — your "midnight" lands at the origin of the MQL5 calendar, which is 1 January 1970. The brake you believed you had is measuring against an imaginary floor.
It is a one-line bug with no symptom: everything runs, the numbers appear, and the brake does not brake.
How a small risk per trade ends up near the limit
Suppose you hold 3 trades and risk 0.5% on each: the maximum planned loss is 3 × 0.5% = 1.5%.
If those three are EURUSD, GBPUSD and AUDUSD in the same direction, you do not have three trades. You have a single one, the size of all three together and paying three commissions, because all three answer to the dollar. When the dollar turns, all three turn together.
The limit does not measure your risk per trade. It measures the sum of everything open at the worst instant of the day — and that instant is exactly when your positions are correlated, because that is when they line up.
This is why a risk plan that is correct on paper breaks in a live account: paper adds them up separately, the market moves them together. (We take this apart separately in Three trades are not three risks.)
What happens if you break the daily drawdown
It depends on the firm, and it is worth knowing beforehand.
In an FTMO Challenge, exceeding the maximum daily loss is a breach of a basic rule, and the challenge is deemed unsuccessful. It does not matter that your overall loss had plenty of room. And the fee: according to FTMO, in the two-step challenge it may be refunded with the first reward withdrawal, and in the one-step challenge it is not refunded (checked in October 2026).
Not all of them do the same. At Topstep the daily limit is optional in the Trading Combine and the Express Funded Account, and automatic in the Live Funded Account. Hitting it flattens open positions, cancels pending orders and allows no new trades until 5 PM Central Time of the next session. The account stays eligible for funding (checked in October 2026).
So the practical conclusion is not "risk less." It is that the daily loss limit is a condition that has to be watched continuously, and a human in front of a screen cannot do that.
Three things need watching, in this order:
1. The day's floor, computed at the first valid tick of the session and not before — on server time, and verified not to be zero. 2. Equity, not balance, on every tick. 3. The distance left to the floor, visible. Not a warning once it is gone: the distance, while there is still time to act.
And a fourth that actually decides the outcome: what happens when you get there. A warning that fires once you are out is not protection, it is a transcript. The brake has to act before the number, not at the number.
In MQL5, the honest minimum looks roughly like this:
// The floor is set ONCE a day, and only with a valid clock.
if(m_day_start == 0 || IsAnotherDay(TimeTradeServer()))
{
datetime server = TimeTradeServer();
if(server == 0) return; // clock has no value: decide nothing
m_floor = StartingBalance() * (1.0 - m_limit);
m_day_start = server;
}
// And it compares against EQUITY, on every tick.
double equity = AccountInfoDouble(ACCOUNT_EQUITY);
if(equity <= m_floor) Brake();
Look at the return that comes right after the clock check. It is not defensive out of habit: it is the difference between a guard and an ornament. Without it, a clock at zero leaves m_day_start at 0. The condition m_day_start == 0 is true on every tick, and the floor is recomputed endlessly against a balance that already fell: it chases the loss instead of stopping it.
What no code fixes
A well-watched limit tells you when to stop. It does not tell you why you got there.
A bad day does not usually start with a big loss. It starts with a small one, and with the trade meant to win it back. That is the mechanism, and it is human rather than technical: the second trade is not taken for a reason in the market, it is taken for a reason in your own bookkeeping.
The only real defence against that is a brake that will not negotiate with you. And for it not to negotiate, it has to be written before you need it.
This is part of what Stancel does — a desktop app for MetaTrader 5 that draws your open risk and the allowance you have left over the chart, and measures the day's loss against your limit on every tick. The calculation above is published so you can write it yourself.