The FTMO 2-Step Daily Drawdown Rule states that the account's equity must not, at any point during a trading day, fall more than 5% below the prior day's end-of-day balance, per the FTMO Trading Objectives page as of 2026-05-01. The rule reads simply but contains two non-obvious mechanics — the daily reset anchor and the inclusion of floating P&L on open positions — that account for most early-evaluation failures traders attribute to "bad luck". This post documents the rule as published, walks through the math at the boundary, and shows how Pass Lab evaluates it during a Monte Carlo iteration.
By the FXOptimize research team. Last updated 2026-05-12.
FTMO's Trading Objectives page (as of 2026-05-01) states that on the 2-Step Challenge, the account's equity at any moment of a given trading day must not be lower than 5% of the initial account size below the previous day's closing balance. For the $100,000 Standard challenge, this is a $5,000 daily floor that re-anchors each day.
Three properties of the rule are worth recording exactly as published:
The rule applies on FTMO 2-Step Phase 1 and Phase 2. The 1-Step variant uses a different daily drawdown structure (3% with a trailing end-of-day total drawdown), which is covered separately. Funded-stage rules are out of scope here.
The daily drawdown is static in the sense that the 5% threshold does not trail upward as the account grows — it remains pegged to the initial account size. But the anchor against which the 5% is measured does move: it re-anchors to the prior day's end-of-day balance every server-day.
daily_floor(day_t) = balance_at_eod(day_{t-1}) − 0.05 × initial_balance
breach if: equity_at_any_moment(day_t) < daily_floor(day_t)
Worked example. Initial balance: $100,000. Daily floor offset: $5,000.
The breach in the example is not a closed loss — it is an unrealised excursion. The position could close at break-even an hour later and the closed equity curve would never have shown a problem. The daily drawdown rule does not care.
Boundary case. Equity touching exactly the floor passes; equity moving below the floor by any amount fails. FTMO's published language uses "lower than", so the floor is inclusive on the pass side.
A trader passing the daily floor by $50 at the worst tick of a session is still a passing trader. The Strategy Tester reports the same trade as profitable; the live evaluation would have terminated it. The gap between those two readings is the entire reason for path-dependent simulation.
Pass Lab's rule evaluator is a per-trade state machine that runs inside each Monte Carlo iteration, with within-day trade order shuffled to capture path-dependence. See the engine description in methodology.md §4.4.
For the FTMO daily drawdown rule specifically, the simulator tracks:
cumulative_equity < daily_anchor − 0.05 × initial_balance, the iteration is recorded as a daily_drawdown_breach and short-circuits.Within-day trade order is shuffled with a deterministic ChaCha8 PRNG seeded by master_seed XOR firm_index XOR window_index, preserving daily clustering — losses cluster on the day the strategy actually had losses — while randomising the order in which those losses arrive. Eight trades on the same Tuesday in different orders produce different daily-drawdown trajectories, and the Monte Carlo iteration count of 1,000 per walk-forward window samples that order-space.
The FTMO daily drawdown rule is evaluated per-iteration, not as a pre-flight short-circuit. There is no portfolio pattern that structurally guarantees a daily drawdown failure (the way a martingale structurally guarantees a martingale-ban breach), so Pass Lab does not short-circuit the firm match. Instead, every iteration runs the rule, and the per-window pass rate is the fraction of iterations in which no breach occurred.
Across all walk-forward windows for the firm, the window pass rates are then resampled 5,000 times to produce a 95% bootstrap confidence interval. Pass Lab reports the lower bound of the CI as the headline metric, not the point estimate.
Pass Lab is a backtest analysis tool; the number it produces is a historical-statistical projection over the user's backtest data, not a forecast of a live account. Several specific divergences for this rule:
Full caveat list lives in methodology.md §4.6.
The 2026 FTMO product update also removed the previously published 30-day evaluation cap on both 2-Step and 1-Step, so the evaluation window in Pass Lab is now treated as open-ended. Pass Lab uses a 60-day window in this case — long enough to compound to the 10% profit target and clear the 4-day minimum, short enough for the bootstrap to estimate the tails.
The FTMO daily drawdown rule caps each day's equity loss at 5% of the initial account size, measured against the prior day's end-of-day balance, applied continuously to closed and floating P&L. Pass Lab simulates the rule per-trade inside a within-day-shuffled Monte Carlo loop and reports the CI lower bound of the resulting pass rate. The official rules page is the authoritative source for the current threshold; this post is an explanation of mechanics, not a substitute for verification.
CFTC Rule 4.41 disclosure: hypothetical and simulated performance results have inherent limitations and do not represent actual trading; no representation is made that any account will or is likely to achieve profits or losses similar to those shown.
Not affiliated with FTMO. FXOptimize is not a partner, affiliate, or representative of FTMO. The information above is sourced from FTMO's published documentation as of 2026-05-01; firms change rules without notice and the official page is the authoritative source. Pass Lab models the rule based on FXOptimize's reading of the published documentation; live evaluations may differ.
Pass Lab evaluates your MT4/MT5 backtest portfolio against eight propfirm rule sets, including FTMO 2-Step and 1-Step, with 1,000 Monte Carlo iterations per walk-forward window and 95% bootstrap confidence intervals. Firms are ranked by CI lower bound, not point estimate.
Upload your MT4/MT5 backtests. Free. Runs in your browser. No signup.
Open FXOptimize Free →