Skip to content
Back to App

Rules & Limits

This page is a comprehensive reference for every rule type that TestMax enforces during prop firm practice. Understanding these rules deeply is essential — most evaluation failures come from rule violations, not bad trading.

Drawdown rules

The drawdown rule is the single most important rule in any prop firm evaluation. It defines the maximum amount your account can decline from its peak before you fail. TestMax supports four drawdown calculation methods.

Static drawdown

The simplest type. Your maximum loss is a fixed dollar amount below your starting balance, regardless of how much profit you make.

How it works:

  • Drawdown floor = Starting balance - Maximum drawdown amount
  • The floor never moves — not up, not down
  • If your equity touches or drops below the floor, you fail

Example: $50,000 starting balance, $2,000 static drawdown.

EventEquityDrawdown floorStatus
Start$50,000$48,000OK
Win $3,000$53,000$48,000OK — floor unchanged
Lose $4,500$48,500$48,000OK — close to floor
Lose $600 more$47,900$48,000FAIL — below floor

Trailing intraday drawdown

The drawdown floor follows your equity high watermark in real time, including unrealized gains. This is the strictest drawdown type.

How it works:

  • Drawdown floor = Highest equity ever reached - Maximum drawdown amount
  • The floor updates on every tick as your equity changes
  • Unrealized P&L counts — if you have an open position in profit, the floor moves up even before you close the trade
  • The floor never moves down

Example: $50,000 starting balance, $2,000 trailing intraday drawdown.

EventEquityEquity highDrawdown floorStatus
Start$50,000$50,000$48,000OK
Open trade, unrealized +$800$50,800$50,800$48,800Floor moved up
Price pulls back, unrealized +$200$50,200$50,800$48,800Floor stays
Close trade at +$500$50,500$50,800$48,800Floor stays at high
Win another $1,500$52,000$52,000$50,000Floor now at starting balance

Trailing end-of-day (EOD) drawdown

Similar to trailing intraday, but the floor only updates at the end of each trading day based on your closing balance. Intraday equity fluctuations do not affect the floor.

How it works:

  • At the end of each trading day, the system checks your closing account balance
  • If the closing balance is a new high, the drawdown floor moves up to (new high - maximum drawdown)
  • During the trading day, the floor remains at its previous level
  • The floor never moves down

Example: $50,000 starting balance, $2,000 trailing EOD drawdown.

DayClosing balanceBalance highDrawdown floorStatus
Day 1$50,800$50,800$48,800Floor trails up at EOD
Day 2$50,400$50,800$48,800No new high, floor stays
Day 3$51,500$51,500$49,500New high, floor moves up
Day 4$49,600$51,500$49,500Close — only $100 of room left

Trailing EOD with lock

This is the drawdown type used by TopStep. It works like trailing EOD with one important addition: once the drawdown floor reaches your starting balance, it locks and stops trailing.

How it works:

  • Same as trailing EOD — floor updates at end of day based on closing balance highs
  • When the floor reaches the starting balance, it locks permanently
  • After locking, your drawdown behaves like a static drawdown at the starting balance

Example: $50,000 starting balance, $2,000 trailing EOD with lock.

DayClosing balanceBalance highDrawdown floorStatus
Day 1$50,500$50,500$48,500Trailing
Day 2$51,200$51,200$49,200Trailing
Day 3$52,100$52,100$50,100Locked — floor reached $50,000, locks at $50,000
Day 4$54,000$54,000$50,000Floor stays at $50,000 forever
Day 5$50,200$54,000$50,000Safe — $200 above locked floor

Drawdown type comparison

FeatureStaticTrailing intradayTrailing EODTrailing EOD with lock
Floor moves upNeverEvery tickEnd of dayEnd of day (until locked)
Unrealized P&L affects floorNoYesNoNo
Floor can lockN/ANoNoYes
DifficultyEasiestHardestMediumMedium
Used byBulenox, FTMOSome firmsApex, Earn2TradeTopStep

Daily loss limit

The daily loss limit caps how much you can lose in a single trading day. This is separate from the trailing drawdown and is reset each day.

How it works:

  • At the start of each trading day, the daily P&L counter resets to $0 (the trading day rolls at 22:00 UTC — roughly 5:00 PM CT, the Globex open)
  • Both realized and unrealized P&L count toward the daily limit
  • If your daily loss reaches the limit (e.g., -$1,000), the challenge fails immediately — there is no warning and the day does not simply “end”

Example: $1,000 daily loss limit.

TradeTrade P&LDaily P&LStatus
Trade 1-$300-$300OK
Trade 2+$150-$150OK
Trade 3-$500-$650OK — still within limit
Trade 4-$400-$1,050VIOLATION — exceeded $1,000 limit

Profit targets

Each evaluation phase has a profit target you must reach to advance.

How it works:

  • Your net realized P&L in the current phase must reach the target — profit is measured from your balance at the start of the phase (Phase 1 starts from the account size; Phase 2 starts from whatever your balance was when you advanced)
  • Unrealized P&L does not count — you must close the trade to book the profit
  • You must also meet the minimum trading days requirement before the phase is considered passed
  • Time limits are optional: you can configure a maximum number of days per phase (measured in simulation days, not wall-clock time). The built-in presets leave this disabled

Typical profit targets:

Account sizePhase 1 targetPhase 2 target
$50,000$3,000$2,000
$100,000$6,000$4,000
$150,000$9,000$6,000

Minimum trading days

You must trade on a minimum number of distinct trading days before a phase can be completed. This prevents traders from passing on a single lucky day.

How it works:

  • A “trading day” is a simulation date on which at least one order fill executed — days where you open the platform but do not trade do not count
  • The trading day rolls at 22:00 UTC (~5:00 PM CT, the Globex open), so a fill at 23:00 UTC counts toward the next day
  • You must accumulate the required number of trading days even if you hit the profit target early
  • The requirement is per phase — the counter resets to zero when you advance to Phase 2

For most TopStep configurations, the minimum is 5 trading days per phase.

Consistency rules

Consistency rules prevent you from passing an evaluation based on one or two outsized winning days. They ensure your profit is distributed across multiple sessions.

This is a soft gate — exactly like the real TopStep rule, it never fails your account. It only raises the bar you must clear.

How it works (evaluation phases):

  • Your single best day’s profit must stay at or below a percentage of the profit target (TopStep uses 50%)
  • If your best day exceeds that limit, your effective profit target increases to best day ÷ 50% — you must earn more to pass
  • Losses never reduce your best day; only the locked daily totals count
  • The rule mathematically requires at least two profitable days to pass

Example: 50% consistency rule, $3,000 profit target → best day must stay ≤ $1,500.

DayDay P&LTotal P&LBest dayEffective targetStatus
Day 1+$2,000$2,000$2,000$4,000Target raised ($2,000 ÷ 0.50)
Day 2+$1,200$3,200$2,000$4,000Over original target, under raised one
Day 3+$900$4,100$2,000$4,000PASS — $4,100 ≥ $4,000

How it works (funded phase):

In the funded phase, consistency does not block trading or raise any target. On the Consistency payout path, your best day since the last payout must be at or below 40% of your net profit in that window to request a payout — keep trading and the ratio comes down naturally. The window resets after every payout. The Standard payout path has no consistency requirement. As with everything in TestMax, payouts are simulated for practice — no real money is paid out.

Trading hours restrictions

Many prop firms restrict trading to specific hours, typically aligned with the main US futures session.

How it works:

  • You can configure allowed trading hours (UTC) in your simulation setup
  • Enforcement is on open positions, not orders: holding an open position on a bar outside the allowed window fails the challenge immediately. Orders are not rejected and there is no warning — close your positions before the window ends
  • Wrap-around windows are supported (e.g., the TopStep presets use 22:00 → 21:00 UTC, matching the CME Globex session with its daily maintenance break)

Flat-by time

Separately from the trading-hours window, you can configure a flat-by time (TopStep requires being flat by 3:10 PM CT):

  • From the flat-by time onward, holding an open position triggers a warning with a countdown
  • If you are still holding 5 minutes past the flat-by time, the challenge fails
  • The rule only applies between the flat-by time and the 22:00 UTC session roll — positions opened after the roll belong to the next trading day’s evening session and are legal

Overnight and weekend holding

Some prop firms prohibit holding positions overnight or over weekends.

How it works:

  • When enabled, holding an open position across the trading-day boundary (22:00 UTC, ~5:00 PM CT) fails the challenge immediately — there is no warning at the boundary itself (use the flat-by time rule above if you want a warning window)
  • The weekend rule works the same way: a position held from a Friday trading day into the next session fails the challenge
  • Both rules are on/off toggles — disable them if your target firm allows overnight or weekend holding

Common configurations:

Firm styleOvernight holdingWeekend holding
TopStep (typical)Not allowedNot allowed
Apex (typical)AllowedNot allowed
CustomConfigurableConfigurable

Rule violation consequences

Every hard rule in TestMax is enforced the way real prop firms enforce them: a violation fails the challenge immediately. The only soft rules are the consistency rule and the flat-by-time warning window:

ViolationConsequence
Drawdown breached (any type)Challenge fails immediately
Daily loss limit exceededChallenge fails immediately
Consistency rule not metEffective profit target raised — keep trading (never fails the account)
Position open outside trading hoursChallenge fails immediately
Position open past flat-by timeWarning with countdown; challenge fails after 5 minutes
Overnight/weekend position heldChallenge fails at the day boundary
Order exceeds the contract limitOrder rejected (challenge continues)

Next steps