The one rule behind every drawdown type - equity vs. the failure threshold - and which phase settings produce each behavior.
Every is the same rule. What differs is the value each one measures down from - its anchor. Get this page, and every account’s failure behavior follows.
At a glance: an account fails the instant its equity touches its failure threshold. The phase settings decide where that threshold sits and when it moves. For step-by-step examples with the numbers filled in, see Drawdown scenarios.
equity = balance + unrealized P&Lfailure threshold = anchor - max drawdownThe account FAILS the instant equity <= failure threshold
Three facts, true of every type without exception:
Equity includes unrealized P&L - in both directions. Whenever a position is open, equity and balance are different numbers. An open losing position breaches an account exactly like a closed one, so holding a loser open never protects you. An open winning position pushes equity above balance - and on a trailing account that raises the peak, and with it the floor.
The check is live, on every tick - not at the close, not on realized P&L only.
The failure threshold never moves down. A losing day never lowers it.
Every type measures its floor down from an anchor - a reference value such as the starting balance, or the highest point the account has reached. The drawdown type decides only where that anchor sits and when it moves. Nothing else.
Balance and equity are not the same number.Current balance is realized only; Current equity adds the unrealized P&L of whatever is still open. Starting from a $50,000 balance:
Open position
Current balance
Current equity
None (flat)
$50,000
$50,000
$3,000 in profit
$50,000
$53,000
$2,000 down
$50,000
$48,000
Every drawdown check reads equity, never balance - which is why the charts on this page plot both lines. Scenario S2 is the case where that distinction decides the outcome.
The failure threshold is derived, never stored. With Lock trailing drawdown off it is anchor - max drawdown. With it on it is min(anchor - max drawdown, initial balance + Max trailing DD limit) - the lock ceiling caps it. Any value that cannot be reproduced from the anchor, the max drawdown and the lock ceiling is wrong. The CRM displays it as Failure threshold.
All amounts on this page are illustrative. They show how the rules behave - they are not live product settings. For any real account, read the values from its phase configuration.
Everything on this page traces back to fields on the phase, set on Challenge phases. This is the map:
Phase setting
What it controls
Global drawdown type
Where the anchor sits and when it moves - Static, Trailing (intraday), or End of day.
Global DD threshold
The max drawdown: how far below the anchor the floor sits. Always a hard .
Max trailing DD limit
The ceiling a trailing floor stops climbing at - initial balance plus this offset.
Lock trailing drawdown
Whether that ceiling is applied at all.
Daily drawdown
A second floor, reset every session.
Check daily drawdown
Master switch for the daily floor. Off = the amount is ignored entirely.
Soft breach
Whether a daily breach pauses the account or fails it. Daily only - it never affects max drawdown.
Auto-flatten before market close
Off = - the account may hold overnight, and the floor is checked around the clock.
Initial balance
The static anchor, and the reference point for the lock ceiling.
The phase is the source of truth. An account is bound to a phase, and that phase’s values are what get enforced - a phase may carry a different initial balance from its parent .A valid configuration satisfies all of these:
Global DD threshold is greater than zero and strictly under Initial balance
The account’s starting balance equals the phase’s Initial balance
Daily drawdown is strictly under the Global DD threshold, or Check daily drawdown is off
Every active account has a max-drawdown rule bound to it
Day N’s closing balance equals day N+1’s starting balance, net of commissions
A valid Failure threshold satisfies all of these: it reproduces exactly from the anchor, the Global DD threshold and the lock ceiling; it never decreases over the life of the account; and with Lock trailing drawdown on it never exceeds Initial balance + Max trailing DD limit.
The account fails at the intraday touch, even if it closes green.
The instant equity reaches or falls below the failure threshold, the account has failed - and it is immediately flattened (every position closed, every order cancelled). A later recovery does not un-fail it. Failure is decided by the lowest point equity reached, never by where the day ended.
A $50,000 account with the floor at $49,000 touches $48,900 at 11:00, then rallies to close at $51,300. It failed at 11:00. After 11:00 it held no position, so that $51,300 close is a number it could never actually reach.
Never evaluate an account on its closing balance. A closing-balance check passes an account that already failed intraday - the most expensive mistake available in these rules. Evaluate against the intraday low, on equity.
What happens during the flatten
The is not instantaneous. It holds for about 6 seconds, or until every position is confirmed closed - whichever is longer - and no new orders can be submitted during that window.On a fast move the liquidation can fill at a worse price than the floor, so the final balance can end up below the level that triggered the breach. That is expected and does not change the verdict: the breach is the touch that started the flatten, not the price the flatten happened to fill at.
Set Global drawdown type to Static. The floor is initial balance - Global DD threshold, fixed for the life of the account.
Static - a fixed floor, so every dollar of profit widens the gap to it.
A line in the sand set on day one. The more the account banks, the more it can lose in a single day without failing.$50,000 account, $2,000 Global DD threshold. Floor = $48,000, forever.
Day
Balance at open
Can lose before failing
1
$50,000
$2,000
30
$60,000
$12,000
The single-day allowance grows without bound. A profitable static account with no daily limit really can lose a very large amount in one session and survive, because the only floor is that fixed line. Add a Daily drawdown if you want to cap each session.
Set Global drawdown type to Trailing. The peak equity updates on every tick - including unrealized - and the floor is peak equity - Global DD threshold.
Intraday trailing - the floor follows the peak up; unrealized counts.
The floor follows the account up in real time, and unrealized profit counts. This is the tightest of the three, and the one traders dispute - a trade that goes green and round-trips costs drawdown room while making no money.$50,000 account, $2,500 Global DD threshold.
Moment
Equity
Peak
Floor
Open
$50,000
$50,000
$47,500
Position runs 1,000 in profit (unrealized)
$51,000
$51,000
$48,500
Position round-trips back to flat
$50,000
$51,000
$48,500 - does not move back down
Trader then loses 1,600
$48,400
$51,000
FAILED
Down only $1,600 on the day, failed on a $2,500 drawdown account. The unrealized high did that.Step-by-step examples: Trailing scenarios I1–I3.
Set Global drawdown type to End of day. During the session the floor is highest closing balance - Global DD threshold and is frozen. At the close, once, the anchor moves up - but only if that close is a new high.More forgiving intraday: the account can run a position deep into profit and give it all back without moving the floor. The floor only advances if the gain is banked and the day closes at a new high.
“End of day” describes when the anchor moves, not when the breach is checked. An End-of-day account is checked live, on equity, every second of the session - against a floor that is frozen for that session. Frozen, not suspended. That is exactly the case in the chart at the top of this page.
$50,000 account, $2,000 Global DD threshold.
Day
Intraday high
Closing balance
Floor after the close
1
$50,750 (unrealized)
$50,000
$48,000 - the close was not a new high
2
$51,300
$51,000
$49,000 - new high, so the floor moves up
3
$51,200
$49,500
$49,000 - a losing day never lowers it
Two properties of that closing balance this depends on:
It is net of commissions. A gross figure drifts from the true balance and misplaces the floor.
Day N’s closing balance is day N+1’s starting balance. Always the same number. If the two ever disagree, that is a commission or carry issue, not a rule difference.
Account details shows three different “peak” figures, and picking the wrong one is the most common mistake in this whole rule set. They are not interchangeable:
Field
What it records
Anchors which drawdown type
Peak equity
The highest equity the account ever reached - so it includes unrealized profit from open positions.
Trailing (intraday)
Peak realized balance
The highest realized balance the account reached at any moment, including mid-session.
None. It anchors nothing - this is the trap.
EOD peak balance
The highest closing balance - the value is sampled only at the session close.
End of day
Peak realized balance is not the end-of-day peak balance. A balance high reached at 13:00 and given back before the close raises Peak realized balance but leaves EOD peak balance untouched. Anchoring an End-of-day account to the wrong one puts the floor too high and fails accounts that should have survived.
The balance peaks intraday at $51,500, but only the $50,800 close moves the end-of-day anchor.
Here it is in numbers: the account opens at $50,000 and the trader banks winners through the morning, so the realized balance climbs to $51,500 by 13:00. Afternoon losses give some back and the day closes at $50,800.
Peak realized balance = $51,500 - a real high, but it is not what the end-of-day rule reads.
EOD peak balance = $50,800 - the close, and the only value that moves the anchor up.
Tomorrow’s floor is therefore 50,800 - 2,000 =$48,800, not 51,500 - 2,000 = $49,500.
The same principle explains E2: an unrealized intraday high does not move the anchor either. Only the closing balance does - realized or not, mid-session highs are ignored by the end-of-day rule.
Two fields work together: Lock trailing drawdown turns locking on, and Max trailing DD limit sets the offset. The ceiling is initial balance + Max trailing DD limit.Once the trailing floor reaches that ceiling it locks and never moves again. From that point the account behaves exactly like a Static account, including the growing single-day allowance.
The trailing floor climbs, then locks at the ceiling and stops.
Offset
Ceiling on a $50,000 account
Effect
$100
$50,100
The floor locks just above break-even.
$0
$50,000
The floor locks at the initial balance - any loss below the starting balance then fails the account.
There is no universal offset. It is set per firm, and sometimes per challenge - anywhere from $0 upward. Always read Max trailing DD limit from the phase configuration; never assume a value.
The ceiling applies whatever the Global drawdown type. Whenever Lock trailing drawdown is on, the failure threshold is min(anchor - Global DD threshold, initial balance + Max trailing DD limit) - for Static, Trailing and End of day alike. On Static the cap can never take effect, because the anchor is the initial balance itself. On End of day it takes effect once the EOD peak balance has climbed more than Global DD threshold + Max trailing DD limit above the initial balance.
Before the floor reaches the ceiling it is still trailing. It becomes static only after it locks.
A second, independent floor that resets every session: daily floor = start-of-day balance - Daily drawdown.The daily total includes unrealized P&L, exactly like the max drawdown - it is realized today + unrealized - commissions today.Two toggles govern it:
Check daily drawdown - the master switch. Off, and the Daily drawdown amount is ignored entirely, whatever value is stored.
Do not leave Daily drawdown at 0 or blank while Check daily drawdown is on. The test is equity <= daily floor, and a 0 amount puts the daily floor exactly at the start-of-day balance - so the account breaches on its first tick into loss and never gets a chance to trade. If you do not want a daily limit, turn Check daily drawdown off instead.
Soft breach - whether a daily breach pauses the account for the session or fails it permanently.
Breach
What happens
Afterwards
Soft breach
Flatten, cancel, and no trading for the rest of the session.
Trades again next session
Hard breach
Flatten, cancel, fail.
Never trades again
Max drawdown is always a hard breach.Soft breach applies only to the daily drawdown - it has nothing to do with the Global DD threshold.
A soft breach flattens exactly like a hard one. The instant it triggers, every position is closed and every order cancelled, and the trader can take no action for the rest of the session. The only difference is what happens next.
Once an account has breached, every order it submits is rejected, and the reason given states which floor was crossed. The outcome and the stated reason must agree - and both are decided by which floor was breached, nothing else.
Breach
Account outcome
Status
Stated reason
Max drawdown (any type)
Terminal - the account has failed
FAILED
The account’s equity has reached or fallen below the failure threshold, so trading is no longer allowed on this account. Never “suspended,” never a resume time.
Daily, soft
Flattened and closed out for the session; reactivates next open
DONE_FOR_DAY
The account hit its daily drawdown limit, so no further trading is allowed for the remainder of this session. It resumes at the next session open.
Daily, hard
Terminal
FAILED
The daily drawdown reached the allowed daily drawdown, so trading is no longer allowed on this account.
Daily, with Check daily drawdown off
Nothing happens
unchanged
Nothing is stated and no order is rejected - the rule is not enforced.
The max-drawdown reason names two live values: the account’s current equity at the moment it breached, and the Failure threshold computed for it. Neither is a fixed drawdown amount, and neither may be hardcoded - both are derived from the account’s own phase configuration.
DONE_FOR_DAY is an engine state, not a status you can look up. It does not appear in the Accounts grid’s Account status column, and you cannot filter on it. A soft-breached account still reads as Active there, because it has not failed and it trades again next session. To see that an account stopped for the session, check its Account events rather than its status.
A max-drawdown breach must never produce a “suspended until…” message - there is no time at which that account returns. And where there is a resume time, it is the next session open (futures 6:00 PM EST), never the session close.
Do not express “this product has no daily limit” by setting Daily drawdown equal to the Global DD threshold. Turn Check daily drawdown off instead. Equal amounts happen to behave correctly on a trailing account, but silently impose a real daily cap on a profitable static one.
An account with both rules has two thresholds, and on the way down the higher one is reached first. The the floor reached first is the higher of the failure threshold and the daily floor.
With both floors, the higher one is hit first.
The Failure threshold shown in the CRM is the max-drawdown floor only - it does not account for the daily loss limit. On any day where the daily floor sits higher, the trader is stopped above the displayed number, and the CRM gives no indication of it. The number on screen is correct; it is just not the whole picture.
Day 1. Equity touches $48,900 and the daily floor stops the trader, because it is the higher of the two. With Soft breach on, that is a pause for the session - the account survives and reactivates next session. The Failure threshold at $48,000 was never approached.Day 2. The trader loses another $1,000 and touches $48,000. This time the Failure threshold is the higher of the two, so it is reached first and the account fails permanently. The daily floor at $47,900 was never reached.On day 2 the trader lost $1,000 against an $1,100 daily limit. They never hit their daily limit, and the account fails anyway.
A gap or a fast market can carry equity through both floors on a single tick.
Max drawdown wins - a hard breach beats a soft breach. A soft breach only pauses the account for the session; a hard breach fails it permanently. A pause can never override a failure, so when both floors are crossed on the same tick the account is failed, not suspended. The daily loss limit is a monitoring threshold that triggers a flatten - it is not a stop loss, and it cannot rescue an account that has already breached its Failure threshold.
When the daily limit stops being the first floor reached
Profit lifts the Failure threshold above the daily floor, so the daily limit is no longer the first one reached.
A quick way to answer “which floor am I on today?” - compare two numbers:
H = Global DD threshold - Daily drawdownG = anchor - start-of-day balanceThe daily limit protects the trader only while G < H
Type
What G is
What that means
Static
Negative while the account is in profit
While the account is in profit, the daily floor is the one reached first and is doing real work. Once the account falls back within one daily limit of its Failure threshold, that stops being true - see SD3.
End of day
The drawdown already carried from the EOD peak
The daily limit stops protecting once that exceeds H.
Trailing
The gain above the session open
Making money can lift the Failure threshold above the daily floor. Once the trader is up more than H intraday, the Failure threshold is reached first and the next breach is terminal.
Auto-flatten before market close = off makes a challenge swing: positions may be held across the session boundary and held overnight.Swing is not a fourth drawdown type. It sits on top of Static, Trailing, or End of day and changes only how the floor is evaluated and carried across the overnight boundary.
A swing account is checked on equity around the clock, including through the overnight session.
Evaluated on equity, around the clock. The unrealized P&L of the overnight position counts exactly as it does intraday, so an overnight loser can breach the account before the next session even opens. There is no realized-only fallback.
The anchor carries on the closing value at the boundary. For a flat-at-close account the End-of-day carry uses the realized closing balance. For a swing account holding a position at the boundary it uses closing equity by default, which includes that open position. Some firms carry the anchor on the higher of the closing balance and the closing equity instead, so an overnight loser holds the anchor at the realized balance; the two differ only when the boundary position is at a loss, so read it from the configuration rather than assuming. The failure check reads equity either way, so an overnight loser can still breach while the anchor is held at the realized balance.
No swing product runs a daily limit today. Every swing account carries a max drawdown only, so the two-floor machinery on this page does not apply to any swing account that currently exists. If you are checking a swing account, there is one floor to check.
If you ever configure a daily limit on a swing account, the daily floor cannot come from the balance. Everywhere else the daily floor is start-of-day balance - Daily drawdown. On a swing account carrying a losing position across the boundary, the balance does not include that loss but the equity does - so a floor derived from balance would show the account breaching its daily limit at the open, before the trader has placed a single order that day.Both floors on a swing account are measured from the carried value at the boundary - the higher of the closing balance and closing equity - not from the realized balance.Step by step. A $50,000 account ends the session holding a winner: balance $50,000, equity $53,000. At the next open, both floors come off that $53,000:
Limit
Floor at the next open
Daily drawdown $2,000
53,000 - 2,000 = $51,000
Global DD threshold $3,000
53,000 - 3,000 = $50,000
Derive either floor from the $50,000 balance instead and you place it $3,000 too low. Talk to the Tickblaze team before configuring a daily limit on a swing account; none runs one today.
Static swing
The floor is fixed at initial balance - Global DD threshold and never moves, so there is nothing to carry across the boundary. The only swing effect is that the fixed floor is live overnight - an overnight loser can breach it, and a recovery by morning does not un-fail the account.
Trailing (intraday) swing
The equity peak keeps trailing through the overnight session, including on the unrealized highs of the open position. This is the tightest possible configuration: an overnight winner that spikes and retraces moves the floor up on the spike, and can fail the account on the retrace while the market is otherwise closed.
Auto-flatten before market close = on means the account should be flat at the session close. If it does not run - for any reason - the position is still open afterwards, and an intraday account ends up holding into a window it was never meant to be in.The rule does not change. Futures keep trading after the 5:00 PM close, so equity keeps moving on that position, and the floor is still checked against it on every tick. If equity reaches the failure threshold in that window, the account fails there, exactly as it would have intraday.
The failure stands regardless of why the position was still open. The breach is decided by equity reaching the failure threshold, not by whether the position should have been closed an hour earlier. An account that should have been flattened at 5:00 PM and instead breached at 5:40 PM has failed at 5:40 PM.
An intraday account holding past its session close is not expected behaviour. Tell the Tickblaze team - the failure itself is correct and stands, but the position surviving the auto-flatten is not.
Normally the flatten leaves nothing behind. But a position can still be open after a breach - during those first few seconds, on a swing account that breaches overnight, or where something goes wrong and one position stays open to the close.None of that re-opens the question. The rules do not run again:
The account failed the instant equity reached the failure threshold. That recorded failure is the authoritative one, and nothing after it is evaluated. A surviving position cannot un-fail the account, and it cannot fail it a second time.
The surviving position’s profit and loss still moves the account balance. So the closing balance can end up above or below the failure threshold, and neither tells you anything about whether the account failed.
This is exactly why the failure is recorded the moment it happens. Once a position outlives the flatten, the balance keeps moving, so the end-of-day figure is no longer evidence of the account’s state. Read the recorded failure on the account, never the closing snapshot. It is on Account details → Status, which shows the status change and the reason it was recorded with.
If a position is still open on a failed account:
Expect the platform to close it. The flatten runs on its own, and normally clears everything without anyone stepping in.
If it is still open, flatten it by hand.Pause the Accounts grid, then use Flatten on that row.
If a manual flatten does not close it either, tell the Tickblaze team on Slack. At that point it is a platform issue - do not try to resolve it by editing the account.
An account can show as Failed while having no trades, no positions and no orders in its entire history. It cannot have breached: equity never moved off the starting balance, so it never reached the failure threshold.Check Account events before doing anything else. Two very different things look identical from the account list, and they need opposite responses:
What Account events shows
What it means
What to do
A manual failure, with the actor and timestamp
Someone failed the account deliberately.
Nothing is wrong. Leave it, or reverse it if the person acted in error.
No manual failure - it failed automatically
The account was marked failed when nothing could have failed it.
Recover it, and report it.
A failure with nothing behind it does not mean the account was set up wrong. The initial balance, the Global DD threshold and the failure threshold derived from them can all be correct; the account simply got marked failed when it should not have been.If there is no manual failure behind it:
Reactivate the account. An authorized operator can set it back to Active from Account details → Status → Update status. The trader carries on with the same account.
Expect it to behave normally afterwards. Nothing about the account was ever below its failure threshold, so reactivating it does not leave it on the edge of failing again. Trades placed after reactivation go through like any other.
This only holds because the account never traded. Reactivating an account that failed on a genuine breach puts it straight back below its failure threshold - it fails again on the next tick. Bringing a real failure back needs its balance restored as well, which is what Account reset is for.
Tell the Tickblaze team. A failure with no trading and no manual action behind it points at something that needs investigating, even once the account is back up.
Everywhere else in these rules, a Failed status means equity genuinely reached the threshold. Check the account’s events for the breach before assuming otherwise - this case is the exception, not a general licence to disregard a failure.
Two different times, and they are an hour apart on futures. The close (5:00 PM) is when the session’s work happens - the end-of-day anchor moves up if the close was a new high, and the daily limit resets. The open (6:00 PM) is when trading resumes. An account stopped by a soft breach sits out the rest of the session and comes back at the 6:00 PM open, not at the 5:00 PM close. The hour between them is the daily break.
35 step-by-step examples with the full arithmetic - every drawdown type, with and without a daily limit, plus locking, breach mechanics, and swing.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Ignite · Prop Firm Intelligence","description":"Operating reference for Tickblaze Manager - how partner firms run users, accounts, challenges, risk operations, and compliance.","colors":{"primary":"#363EFC","light":"#8B90FF","dark":"#2A2FD6"},"logo":{"light":"https://mintcdn.com/tbignite/OlHmB8MlUnxshCJj/logo/tickblaze-black.png?fit=max\u0026auto=format\u0026n=OlHmB8MlUnxshCJj\u0026q=85\u0026s=fad9b242795c879c4576aed9c4097904","dark":"https://mintcdn.com/tbignite/OlHmB8MlUnxshCJj/logo/tickblaze-white.png?fit=max\u0026auto=format\u0026n=OlHmB8MlUnxshCJj\u0026q=85\u0026s=59438514f33ef5ccceb9b57ff2287767"},"favicon":"https://mintcdn.com/tbignite/OlHmB8MlUnxshCJj/favicon.png?fit=max\u0026auto=format\u0026n=OlHmB8MlUnxshCJj\u0026q=85\u0026s=c5c7426c8b09361779f3f8d4383c5401","navbar":{"links":[]},"footer":{},"banner":{"content":"🚧 In active development - something unclear? Tell us on Slack.","dismissible":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tbignite","hasAudioNarration":false,"actualSubdomain":"tbignite","customDomains":[],"gitSource":{"type":"github","owner":"prannay-tb","repo":"ignite-crm-wiki","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae95c08b9c52538cea8afe1:success","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"CRM Guide","count":22},{"language":"default","tag":"Tickblaze Manager","count":10},{"language":"default","tag":"Reference","count":8},{"language":"default","tag":"Proptech Configuration","count":5},{"language":"default","tag":"Risk Operations","count":4},{"language":"default","tag":"Getting started","count":3},{"language":"default","tag":"User Configuration","count":3},{"language":"default","tag":"Accounts","count":2},{"language":"default","tag":"Users","count":2},{"language":"default","tag":"Concepts","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"drawdown-and-failure","slug":"/drawdown-and-failure","pageMetadata":{"title":"How drawdown \u0026 failure work","sidebarTitle":"Drawdown \u0026 failure","description":"The one rule behind every drawdown type - equity vs. the failure threshold - and which phase settings produce each behavior.","icon":"chart-line-down","keywords":["drawdown","failure threshold","static","trailing","intraday","end of day","equity","breach","daily loss limit","soft breach","hard breach","locking","swing","daily floor","trading days"],"href":"/drawdown-and-failure"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"The one rule behind every drawdown type - equity vs. the failure threshold - and which phase settings produce each behavior.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,blockquote:`blockquote`,code:`code`,em:`em`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CodeBlock,Frame,Heading,Info,Mermaid,Note,OptimizedImage,Table,Tooltip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Mermaid)_missingMdxReference(`Mermaid`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tooltip)_missingMdxReference(`Tooltip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Every `,_jsx(Tooltip,{tip:`Which maximum-loss rule the account uses: a fixed limit, or a trailing limit that moves up as the account makes new highs.`,children:`drawdown type`}),` is the `,_jsx(_components.strong,{children:`same rule`}),`. What differs is the value each one measures down from - its `,_jsx(_components.strong,{children:`anchor`}),`. Get this page, and every account’s failure behavior follows.`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`At a glance:`}),` an account fails the instant its `,_jsx(_components.strong,{children:`equity`}),` touches its `,_jsx(_components.strong,{children:`failure threshold`}),`. The `,_jsx(_components.a,{href:`/challenge-phases`,children:`phase settings`}),` decide where that threshold sits and when it moves. For step-by-step examples with the numbers filled in, see `,_jsx(_components.a,{href:`/drawdown-scenarios`,children:`Drawdown scenarios`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`the-one-rule`,children:`The one rule`}),`\n`,_jsx(CodeBlock,{numberOfLines:`5`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`equity = balance + unrealized P\u0026L`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`failure threshold = anchor - max drawdown`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`The account FAILS the instant equity \u003c= failure threshold`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Three facts, true of every type without exception:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Equity includes unrealized P\u0026L - in both directions.`}),` Whenever a position is open, equity and balance are different numbers. An open `,_jsx(_components.em,{children:`losing`}),` position breaches an account exactly like a closed one, so holding a loser open never protects you. An open `,_jsx(_components.em,{children:`winning`}),` position pushes equity `,_jsx(_components.strong,{children:`above`}),` balance - and on a trailing account that raises the peak, and with it the floor.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The check is live, on every tick`}),` - not at the close, not on realized P\u0026L only.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The failure threshold never moves down.`}),` A losing day never lowers it.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Every type measures its floor `,_jsx(_components.strong,{children:`down from an anchor`}),` - a reference value such as the starting balance, or the highest point the account has reached. The drawdown type decides only `,_jsx(_components.strong,{children:`where that anchor sits`}),` and `,_jsx(_components.strong,{children:`when it moves`}),`. Nothing else.`]}),`\n`,_jsxs(Note,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Balance and equity are not the same number.`}),` `,_jsx(_components.strong,{children:`Current balance`}),` is realized only; `,_jsx(_components.strong,{children:`Current equity`}),` adds the unrealized P\u0026L of whatever is still open. Starting from a $50,000 balance:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Open position`}),_jsx(_components.th,{children:`Current balance`}),_jsx(_components.th,{children:`Current equity`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`None (flat)`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$50,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$50,000`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`$3,000 in profit`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$50,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`$53,000`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`$2,000 down`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$50,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`$48,000`})})]})]})]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Every drawdown check reads equity, never balance`}),` - which is why the charts on this page plot both lines. Scenario `,_jsx(_components.a,{href:`/drawdown-scenarios#static-max-drawdown-only`,children:`S2`}),` is the case where that distinction decides the outcome.`]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The failure threshold is `,_jsx(_components.strong,{children:`derived, never stored`}),`. With `,_jsx(_components.strong,{children:`Lock trailing drawdown`}),` off it is `,_jsx(_components.code,{children:`anchor - max drawdown`}),`. With it on it is `,_jsx(_components.code,{children:`min(anchor - max drawdown, initial balance + Max trailing DD limit)`}),` - the lock ceiling caps it. Any value that cannot be reproduced from the anchor, the max drawdown and the lock ceiling is wrong. The CRM displays it as `,_jsx(_components.strong,{children:`Failure threshold`}),`.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`All amounts on this page are illustrative.`}),` They show how the rules behave - they are not live product settings. For any real account, read the values from its `,_jsx(_components.a,{href:`/challenge-phases`,children:`phase configuration`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`which-fields-control-it`,children:`Which fields control it`}),`\n`,_jsxs(_components.p,{children:[`Everything on this page traces back to fields on the `,_jsx(_components.strong,{children:`phase`}),`, set on `,_jsx(_components.a,{href:`/challenge-phases`,children:`Challenge phases`}),`. This is the map:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Phase setting`}),_jsx(_components.th,{children:`What it controls`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Global drawdown type`})}),_jsx(_components.td,{children:`Where the anchor sits and when it moves - Static, Trailing (intraday), or End of day.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Global DD threshold`})}),_jsxs(_components.td,{children:[`The max drawdown: how far below the anchor the floor sits. `,_jsxs(_components.strong,{children:[`Always a hard `,_jsx(Tooltip,{tip:`The moment an account crosses one of its loss limits.`,children:`breach`}),`.`]})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Max trailing DD limit`})}),_jsx(_components.td,{children:`The ceiling a trailing floor stops climbing at - initial balance plus this offset.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Lock trailing drawdown`})}),_jsx(_components.td,{children:`Whether that ceiling is applied at all.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Daily drawdown`})}),_jsx(_components.td,{children:`A second floor, reset every session.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Check daily drawdown`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Master switch`}),` for the daily floor. Off = the amount is ignored entirely.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Soft breach`})}),_jsxs(_components.td,{children:[`Whether a daily breach `,_jsx(_components.strong,{children:`pauses`}),` the account or `,_jsx(_components.strong,{children:`fails`}),` it. Daily only - it never affects max drawdown.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Auto-flatten before market close`})}),_jsxs(_components.td,{children:[_jsxs(_components.strong,{children:[`Off = `,_jsx(Tooltip,{tip:`The account may hold positions overnight instead of being closed out at the session end.`,children:`swing`})]}),` - the account may hold overnight, and the floor is checked around the clock.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Initial balance`})}),_jsx(_components.td,{children:`The static anchor, and the reference point for the lock ceiling.`})]})]})]}),`\n`,_jsxs(Note,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The phase is the source of truth.`}),` An account is bound to a phase, and that phase’s values are what get enforced - a phase may carry a different initial balance from its parent `,_jsx(Tooltip,{tip:`The evaluation program an account is created under - its starting balance, profit target, and risk rules.`,children:`challenge`}),`.`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`A valid configuration satisfies all of these:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Global DD threshold`}),` is greater than zero and strictly under `,_jsx(_components.strong,{children:`Initial balance`})]}),`\n`,_jsxs(_components.li,{children:[`The account’s starting balance equals the phase’s `,_jsx(_components.strong,{children:`Initial balance`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Daily drawdown`}),` is strictly under the `,_jsx(_components.strong,{children:`Global DD threshold`}),`, or `,_jsx(_components.strong,{children:`Check daily drawdown`}),` is off`]}),`\n`,_jsx(_components.li,{children:`Every active account has a max-drawdown rule bound to it`}),`\n`,_jsx(_components.li,{children:`Day N’s closing balance equals day N+1’s starting balance, net of commissions`}),`\n`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`A valid Failure threshold satisfies all of these:`}),` it reproduces exactly from the anchor, the `,_jsx(_components.strong,{children:`Global DD threshold`}),` and the lock ceiling; it never decreases over the life of the account; and with `,_jsx(_components.strong,{children:`Lock trailing drawdown`}),` on it never exceeds `,_jsx(_components.code,{children:`Initial balance + Max trailing DD limit`}),`.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`the-breach-is-the-touch`,children:`The breach is the touch`}),`\n`,_jsx(Frame,{caption:`The account fails at the intraday touch, even if it closes green.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/eod-breach.png?fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=72711175dc248819c0e7ca632b19ac01`,alt:`EOD breach`,\"data-og-width\":`1240`,width:`1240`,\"data-og-height\":`690`,height:`690`,\"data-path\":`images/drawdown/eod-breach.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/eod-breach.png?w=280\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=f5bdf2a3c27493ddcd5a6f33df144edc 280w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/eod-breach.png?w=560\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=fe59b4febd853af4b75afd4670d4ad06 560w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/eod-breach.png?w=840\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=e1b0f7e007de793f07569ed0748368aa 840w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/eod-breach.png?w=1100\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=d5d04ccf689785046c09037b7ae1d255 1100w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/eod-breach.png?w=1650\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=c036f334cef7921c5773687dbeb6748f 1650w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/eod-breach.png?w=2500\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=c71c446569d58a4d998dde26ac79bc37 2500w`})}),`\n`,_jsxs(_components.p,{children:[`The instant equity reaches or falls below the failure threshold, the account has `,_jsx(_components.strong,{children:`failed`}),` - and it is immediately flattened (every position closed, every order cancelled). A later recovery does `,_jsx(_components.strong,{children:`not`}),` un-fail it. Failure is decided by the `,_jsx(_components.strong,{children:`lowest point equity reached`}),`, never by where the day ended.`]}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsxs(_components.p,{children:[`A $50,000 account with the floor at $49,000 touches $48,900 at 11:00, then rallies to close at $51,300. `,_jsx(_components.strong,{children:`It failed at 11:00.`}),` After 11:00 it held no position, so that $51,300 close is a number it could never actually reach.`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Never evaluate an account on its closing balance.`}),` A closing-balance check passes an account that already failed intraday - the most expensive mistake available in these rules. Evaluate against the intraday low, on equity.`]})}),`\n`,_jsxs(Accordion,{title:`What happens during the flatten`,id:`what-happens-during-the-flatten`,children:[_jsxs(_components.p,{children:[`The `,_jsx(Tooltip,{tip:`Close all of an account's open positions immediately.`,children:`flatten`}),` is not instantaneous. It holds for `,_jsx(_components.strong,{children:`about 6 seconds`}),`, or until every position is confirmed closed - whichever is longer - and no new orders can be submitted during that window.`]}),_jsxs(_components.p,{children:[`On a fast move the liquidation can fill at a worse price than the floor, so the final balance can end up `,_jsx(_components.strong,{children:`below`}),` the level that triggered the breach. That is expected and does not change the verdict: `,_jsx(_components.strong,{children:`the breach is the touch that started the flatten, not the price the flatten happened to fill at.`})]})]}),`\n`,_jsx(_components.p,{children:_jsxs(_components.em,{children:[`Step-by-step examples: `,_jsx(_components.a,{href:`/drawdown-scenarios#breach-mechanics`,children:`Breach mechanics B1–B3`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`the-three-types`,children:`The three types`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Global drawdown type`}),` selects the anchor - that is the only thing that differs between them.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Anchor`}),_jsx(_components.th,{children:`When the anchor moves`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Static`})}),_jsx(_components.td,{children:`Initial balance`}),_jsx(_components.td,{children:`Never`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Trailing`}),` (intraday)`]}),_jsx(_components.td,{children:`Highest equity ever reached, including unrealized`}),_jsx(_components.td,{children:`Continuously, on every new equity high`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`End of day`})}),_jsxs(_components.td,{children:[`Highest `,_jsx(_components.strong,{children:`closing`}),` balance ever reached`]}),_jsx(_components.td,{children:`Once per day at the close, and only on a new high`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`static`,children:`Static`}),`\n`,_jsxs(_components.p,{children:[`Set `,_jsx(_components.strong,{children:`Global drawdown type`}),` to `,_jsx(_components.strong,{children:`Static`}),`. The floor is `,_jsx(_components.code,{children:`initial balance - Global DD threshold`}),`, fixed for the life of the account.`]}),`\n`,_jsx(Frame,{caption:`Static - a fixed floor, so every dollar of profit widens the gap to it.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/static.png?fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=ff4b59004fccf0ef44eae4095a203404`,alt:`Static`,\"data-og-width\":`1240`,width:`1240`,\"data-og-height\":`690`,height:`690`,\"data-path\":`images/drawdown/static.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/static.png?w=280\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=221cf4235fb0ff27c930b96f47c4248a 280w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/static.png?w=560\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=edf6ef41a4b368996a9cba6b3842f15b 560w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/static.png?w=840\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=84bcf480ce6544558cfcfac357373c2d 840w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/static.png?w=1100\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=122f60c07866e1c7d9b09db3bc75f75e 1100w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/static.png?w=1650\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=9ca3e8a34ff243b5d634ec9ff67e37ad 1650w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/static.png?w=2500\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=4a6c9105ce4d46ab1fdaedb9c3b22bee 2500w`})}),`\n`,_jsx(_components.p,{children:`A line in the sand set on day one. The more the account banks, the more it can lose in a single day without failing.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`$50,000 account, $2,000 Global DD threshold. Floor = $48,000, forever.`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Day`}),_jsx(_components.th,{children:`Balance at open`}),_jsx(_components.th,{children:`Can lose before failing`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`1`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$50,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$2,000`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`30`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$60,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`$12,000`})})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The single-day allowance grows without bound.`}),` A profitable static account with no daily limit really can lose a very large amount in one session and survive, because the only floor is that fixed line. Add a `,_jsx(_components.strong,{children:`Daily drawdown`}),` if you want to cap each session.`]})}),`\n`,_jsx(_components.p,{children:_jsxs(_components.em,{children:[`Step-by-step examples: `,_jsx(_components.a,{href:`/drawdown-scenarios#static-max-drawdown-only`,children:`Static scenarios S1–S4`}),`.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`trailing-intraday`,children:`Trailing (intraday)`}),`\n`,_jsxs(_components.p,{children:[`Set `,_jsx(_components.strong,{children:`Global drawdown type`}),` to `,_jsx(_components.strong,{children:`Trailing`}),`. The peak equity updates on every tick - `,_jsx(_components.strong,{children:`including unrealized`}),` - and the floor is `,_jsx(_components.code,{children:`peak equity - Global DD threshold`}),`.`]}),`\n`,_jsx(Frame,{caption:`Intraday trailing - the floor follows the peak up; unrealized counts.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/intraday.png?fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=f4fc5da9f259837382ac7613333f45c6`,alt:`Intraday trailing`,\"data-og-width\":`1240`,width:`1240`,\"data-og-height\":`690`,height:`690`,\"data-path\":`images/drawdown/intraday.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/intraday.png?w=280\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=571f15ee6ce85b071dbebe64fefe2978 280w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/intraday.png?w=560\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=8324428347787163995e4a90e78f9202 560w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/intraday.png?w=840\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=c497ca081f881d1161fda24de1365fd2 840w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/intraday.png?w=1100\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=bf428cee5ecc478e381d869f25629ad0 1100w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/intraday.png?w=1650\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=854eaff52004fa18d75113db02e35a10 1650w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/intraday.png?w=2500\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=f7c80d60a45a6ce87deec35bc7ca6c70 2500w`})}),`\n`,_jsxs(_components.p,{children:[`The floor follows the account up in real time, and `,_jsx(_components.strong,{children:`unrealized profit counts`}),`. This is the tightest of the three, and the one traders dispute - a trade that goes green and round-trips costs drawdown room while making no money.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`$50,000 account, $2,500 Global DD threshold.`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Moment`}),_jsx(_components.th,{children:`Equity`}),_jsx(_components.th,{children:`Peak`}),_jsx(_components.th,{children:`Floor`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Open`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$50,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$50,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$47,500`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Position runs 1,000 in profit (unrealized)`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$51,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$51,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`$48,500`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Position round-trips back to flat`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$50,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$51,000`}),_jsx(_components.td,{children:`$48,500 - does not move back down`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Trader then loses 1,600`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$48,400`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$51,000`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`FAILED`})})]})]})]}),`\n`,_jsx(_components.p,{children:`Down only $1,600 on the day, failed on a $2,500 drawdown account. The unrealized high did that.`}),`\n`,_jsx(_components.p,{children:_jsxs(_components.em,{children:[`Step-by-step examples: `,_jsx(_components.a,{href:`/drawdown-scenarios#trailing-intraday-max-drawdown-only`,children:`Trailing scenarios I1–I3`}),`.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`end-of-day`,children:`End of day`}),`\n`,_jsxs(_components.p,{children:[`Set `,_jsx(_components.strong,{children:`Global drawdown type`}),` to `,_jsx(_components.strong,{children:`End of day`}),`. During the session the floor is `,_jsx(_components.code,{children:`highest closing balance - Global DD threshold`}),` and is `,_jsx(_components.strong,{children:`frozen`}),`. At the close, once, the anchor moves up - but only if that close is a new high.`]}),`\n`,_jsxs(_components.p,{children:[`More forgiving intraday: the account can run a position deep into profit and give it all back without moving the floor. The floor only advances if the gain is `,_jsx(_components.strong,{children:`banked`}),` and the day closes at a new high.`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`“End of day” describes when the anchor `,_jsx(_components.em,{children:`moves`}),`, not when the breach is `,_jsx(_components.em,{children:`checked`}),`.`]}),` An End-of-day account is checked live, on equity, every second of the session - against a floor that is frozen for that session. `,_jsx(_components.strong,{children:`Frozen, not suspended.`}),` That is exactly the case in the chart at the top of this page.`]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`$50,000 account, $2,000 Global DD threshold.`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Day`}),_jsx(_components.th,{children:`Intraday high`}),_jsx(_components.th,{children:`Closing balance`}),_jsx(_components.th,{children:`Floor after the close`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`1`}),_jsx(_components.td,{children:`$50,750 (unrealized)`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$50,000`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`$48,000`}),` - the close was not a new high`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`2`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$51,300`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$51,000`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`$49,000`}),` - new high, so the floor moves up`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`3`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$51,200`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$49,500`}),_jsx(_components.td,{children:`$49,000 - a losing day never lowers it`})]})]})]}),`\n`,_jsx(_components.p,{children:`Two properties of that closing balance this depends on:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`It is net of commissions.`}),` A gross figure drifts from the true balance and misplaces the floor.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Day N’s closing balance is day N+1’s starting balance.`}),` Always the same number. If the two ever disagree, that is a commission or carry issue, not a rule difference.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsxs(_components.em,{children:[`Step-by-step examples: `,_jsx(_components.a,{href:`/drawdown-scenarios#end-of-day-max-drawdown-only`,children:`End-of-day examples E1–E5`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`three-values-that-sound-alike`,children:`Three values that sound alike`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/account-details`,children:`Account details`}),` shows three different “peak” figures, and picking the wrong one is the most common mistake in this whole rule set. They are not interchangeable:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`What it records`}),_jsx(_components.th,{children:`Anchors which drawdown type`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Peak equity`})}),_jsxs(_components.td,{children:[`The highest `,_jsx(_components.strong,{children:`equity`}),` the account ever reached - so it `,_jsx(_components.strong,{children:`includes unrealized profit`}),` from open positions.`]}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Trailing (intraday)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Peak realized balance`})}),_jsxs(_components.td,{children:[`The highest `,_jsx(_components.strong,{children:`realized balance`}),` the account reached at `,_jsx(_components.strong,{children:`any moment`}),`, including mid-session.`]}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`None.`}),` It anchors nothing - this is the trap.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`EOD peak balance`})}),_jsxs(_components.td,{children:[`The highest `,_jsx(_components.strong,{children:`closing`}),` balance - the value is sampled `,_jsx(_components.strong,{children:`only at the session close`}),`.`]}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`End of day`})})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Peak realized balance is not the end-of-day peak balance.`}),` A balance high reached at 13:00 and given back before the close raises `,_jsx(_components.strong,{children:`Peak realized balance`}),` but leaves `,_jsx(_components.strong,{children:`EOD peak balance`}),` untouched. Anchoring an End-of-day account to the wrong one puts the floor too high and fails accounts that should have survived.`]})}),`\n`,_jsx(Frame,{caption:`The balance peaks intraday at \\\\$51,500, but only the \\\\$50,800 close moves the end-of-day anchor.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/scenarios/E5.png?fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=4be512616df70e2be67840c2990821a4`,alt:`Peak balance vs EOD peak balance`,\"data-og-width\":`1240`,width:`1240`,\"data-og-height\":`690`,height:`690`,\"data-path\":`images/scenarios/E5.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/scenarios/E5.png?w=280\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=937dce9d2e79eb1e5b4bd52f709c48c6 280w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/scenarios/E5.png?w=560\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=58b3fc5f0a31a208ae3af699c437e712 560w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/scenarios/E5.png?w=840\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=2e121e67b6e4eafce4a95038ab1daa88 840w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/scenarios/E5.png?w=1100\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=b70435ddf712f23fdce1ccf377a8db75 1100w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/scenarios/E5.png?w=1650\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=c258eb314e23841b13ebd70eacb180f2 1650w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/scenarios/E5.png?w=2500\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=c8ddb464feabbc69a14be4f817a3b1c7 2500w`})}),`\n`,_jsxs(_components.p,{children:[`Here it is in numbers: the account opens at $50,000 and the trader banks winners through the morning, so the realized balance climbs to `,_jsx(_components.strong,{children:`$51,500`}),` by 13:00. Afternoon losses give some back and the day `,_jsx(_components.strong,{children:`closes at $50,800`}),`.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Peak realized balance = $51,500`}),` - a real high, but it is not what the end-of-day rule reads.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`EOD peak balance = $50,800`}),` - the close, and the only value that moves the anchor up.`]}),`\n`,_jsxs(_components.li,{children:[`Tomorrow’s floor is therefore `,_jsx(_components.code,{children:`50,800 - 2,000 =`}),` `,_jsx(_components.strong,{children:`$48,800`}),`, not `,_jsx(_components.code,{children:`51,500 - 2,000 =`}),` $49,500.`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The same principle explains `,_jsx(_components.a,{href:`/drawdown-scenarios#end-of-day-max-drawdown-only`,children:`E2`}),`: an `,_jsx(_components.strong,{children:`unrealized`}),` intraday high does not move the anchor either. Only the closing balance does - realized or not, mid-session highs are ignored by the end-of-day rule.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`locking-a-trailing-floor`,children:`Locking a trailing floor`}),`\n`,_jsxs(_components.p,{children:[`Two fields work together: `,_jsx(_components.strong,{children:`Lock trailing drawdown`}),` turns locking on, and `,_jsx(_components.strong,{children:`Max trailing DD limit`}),` sets the offset. The ceiling is `,_jsx(_components.code,{children:`initial balance + Max trailing DD limit`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Once the trailing floor reaches that ceiling it `,_jsx(_components.strong,{children:`locks and never moves again`}),`. From that point the account behaves exactly like a `,_jsx(_components.strong,{children:`Static`}),` account, including the growing single-day allowance.`]}),`\n`,_jsx(Frame,{caption:`The trailing floor climbs, then locks at the ceiling and stops.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/locking.png?fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=350d6421d35abf7067d2d2a9df71dd72`,alt:`Locking`,\"data-og-width\":`1240`,width:`1240`,\"data-og-height\":`690`,height:`690`,\"data-path\":`images/drawdown/locking.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/locking.png?w=280\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=c76e7f3b384358a172b350533146cd36 280w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/locking.png?w=560\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=a863a2850c8bd0e9259fa61618b2a639 560w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/locking.png?w=840\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=3f286be62729475c3e136abf49b8e2f8 840w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/locking.png?w=1100\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=9080f9092a710f44f22c5e39add18183 1100w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/locking.png?w=1650\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=6ebdde913f2e3d02032232f9801ba2bf 1650w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/locking.png?w=2500\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=cd247bbef5a25ac626367b412263c71d 2500w`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Offset`}),_jsx(_components.th,{children:`Ceiling on a $50,000 account`}),_jsx(_components.th,{children:`Effect`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`$100`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$50,100`}),_jsx(_components.td,{children:`The floor locks just above break-even.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`$0`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$50,000`}),_jsxs(_components.td,{children:[`The floor locks `,_jsx(_components.strong,{children:`at`}),` the initial balance - any loss below the starting balance then fails the account.`]})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`There is no universal offset.`}),` It is set per firm, and sometimes per challenge - anywhere from $0 upward. Always read `,_jsx(_components.strong,{children:`Max trailing DD limit`}),` from the phase configuration; never assume a value.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The ceiling applies whatever the Global drawdown type.`}),` Whenever `,_jsx(_components.strong,{children:`Lock trailing drawdown`}),` is on, the failure threshold is `,_jsx(_components.code,{children:`min(anchor - Global DD threshold, initial balance + Max trailing DD limit)`}),` - for Static, Trailing and End of day alike. On `,_jsx(_components.strong,{children:`Static`}),` the cap can never take effect, because the anchor is the initial balance itself. On `,_jsx(_components.strong,{children:`End of day`}),` it takes effect once the EOD peak balance has climbed more than `,_jsx(_components.code,{children:`Global DD threshold + Max trailing DD limit`}),` above the initial balance.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Before the floor reaches the ceiling it is still trailing. It becomes static only `,_jsx(_components.strong,{children:`after`}),` it locks.`]})}),`\n`,_jsx(_components.p,{children:_jsxs(_components.em,{children:[`Step-by-step examples: `,_jsx(_components.a,{href:`/drawdown-scenarios#trailing-with-a-lock`,children:`Locking scenarios L1–L4`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`daily-loss-limit`,children:`Daily loss limit`}),`\n`,_jsxs(_components.p,{children:[`A second, independent floor that resets every session: `,_jsx(_components.code,{children:`daily floor = start-of-day balance - Daily drawdown`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The daily total `,_jsx(_components.strong,{children:`includes unrealized P\u0026L`}),`, exactly like the max drawdown - it is `,_jsx(_components.code,{children:`realized today + unrealized - commissions today`}),`.`]}),`\n`,_jsx(_components.p,{children:`Two toggles govern it:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check daily drawdown`}),` - the master switch. Off, and the `,_jsx(_components.strong,{children:`Daily drawdown`}),` amount is ignored entirely, whatever value is stored.`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`Do not leave Daily drawdown at `,_jsx(_components.code,{children:`0`}),` or blank while Check daily drawdown is on.`]}),` The test is `,_jsx(_components.code,{children:`equity \u003c= daily floor`}),`, and a `,_jsx(_components.code,{children:`0`}),` amount puts the daily floor exactly at the start-of-day balance - so the account breaches on its first tick into loss and never gets a chance to trade. If you do not want a daily limit, turn `,_jsx(_components.strong,{children:`Check daily drawdown`}),` off instead.`]})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Soft breach`}),` - whether a daily breach pauses the account for the session or fails it permanently.`]}),`\n`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Breach`}),_jsx(_components.th,{children:`What happens`}),_jsx(_components.th,{children:`Afterwards`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Soft breach`})}),_jsx(_components.td,{children:`Flatten, cancel, and no trading for the rest of the session.`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Trades again next session`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Hard breach`})}),_jsx(_components.td,{children:`Flatten, cancel, fail.`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Never trades again`})})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Max drawdown is always a hard breach.`}),` `,_jsx(_components.strong,{children:`Soft breach`}),` applies `,_jsx(_components.em,{children:`only`}),` to the daily drawdown - it has nothing to do with the Global DD threshold.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`A soft breach flattens exactly like a hard one.`}),` The instant it triggers, every position is closed and every order cancelled, and the trader can take no action for the rest of the session. The only difference is what happens next.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`what-happens-on-each-kind-of-breach`,children:`What happens on each kind of breach`}),`\n`,_jsxs(_components.p,{children:[`Once an account has breached, every order it submits is rejected, and the reason given states which floor was crossed. The outcome and the stated reason must agree - and both are decided by `,_jsx(_components.strong,{children:`which floor was breached`}),`, nothing else.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Breach`}),_jsx(_components.th,{children:`Account outcome`}),_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Stated reason`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Max drawdown`}),` (any type)`]}),_jsx(_components.td,{children:`Terminal - the account has failed`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`FAILED`})}),_jsxs(_components.td,{children:[`The account’s equity has reached or fallen below the failure threshold, so trading is no longer allowed on this account. `,_jsx(_components.strong,{children:`Never “suspended,” never a resume time.`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Daily, soft`})}),_jsx(_components.td,{children:`Flattened and closed out for the session; reactivates next open`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`DONE_FOR_DAY`})}),_jsx(_components.td,{children:`The account hit its daily drawdown limit, so no further trading is allowed for the remainder of this session. It resumes at the next session open.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Daily, hard`})}),_jsx(_components.td,{children:`Terminal`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`FAILED`})}),_jsx(_components.td,{children:`The daily drawdown reached the allowed daily drawdown, so trading is no longer allowed on this account.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Daily, with Check daily drawdown off`})}),_jsx(_components.td,{children:`Nothing happens`}),_jsx(_components.td,{children:`unchanged`}),_jsx(_components.td,{children:`Nothing is stated and no order is rejected - the rule is not enforced.`})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The max-drawdown reason names `,_jsx(_components.strong,{children:`two live values`}),`: the account’s `,_jsx(_components.strong,{children:`current equity`}),` at the moment it breached, and the `,_jsx(_components.strong,{children:`Failure threshold`}),` computed for it. Neither is a fixed drawdown amount, and neither may be hardcoded - both are derived from the account’s own phase configuration.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`DONE_FOR_DAY`}),` is an engine state, not a status you can look up.`]}),` It does `,_jsx(_components.strong,{children:`not`}),` appear in the Accounts grid’s Account status column, and you cannot filter on it. A soft-breached account still reads as `,_jsx(_components.strong,{children:`Active`}),` there, because it has not failed and it trades again next session. To see that an account stopped for the session, check its `,_jsx(_components.a,{href:`/user-events-and-audit-logs`,children:`Account events`}),` rather than its status.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`A max-drawdown breach must `,_jsx(_components.strong,{children:`never`}),` produce a “suspended until…” message - there is no time at which that account returns. And where there `,_jsx(_components.em,{children:`is`}),` a resume time, it is the `,_jsx(_components.strong,{children:`next session open`}),` (futures 6:00 PM EST), never the session close.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Do not express “this product has no daily limit” by setting Daily drawdown equal to the Global DD threshold.`}),` Turn `,_jsx(_components.strong,{children:`Check daily drawdown`}),` off instead. Equal amounts happen to behave correctly on a trailing account, but silently impose a real daily cap on a profitable static one.`]})}),`\n`,_jsx(_components.p,{children:_jsxs(_components.em,{children:[`Step-by-step examples: `,_jsx(_components.a,{href:`/drawdown-scenarios#static-with-a-daily-limit`,children:`Static with a daily limit`}),`, `,_jsx(_components.a,{href:`/drawdown-scenarios#trailing-with-a-daily-limit`,children:`Trailing`}),` and `,_jsx(_components.a,{href:`/drawdown-scenarios#end-of-day-with-a-daily-limit`,children:`End of day`}),` with a daily limit, plus the `,_jsx(_components.a,{href:`/drawdown-scenarios#daily-limit-hard-and-disabled`,children:`hard and disabled variants`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`evaluation-order`,children:`Evaluation order`}),`\n`,_jsxs(_components.p,{children:[`Max drawdown is always checked `,_jsx(_components.strong,{children:`first`}),`. If it breaches, the account fails and the daily branch never runs.`]}),`\n`,_jsx(Mermaid,{chart:`flowchart TD\n T[\"Every tick: equity = balance + unrealized PnL\"] --> M{\"equity at or below the failure threshold?\"}\n M -- Yes --> F[\"FAILED - flatten, cancel, permanent\"]\n M -- No --> C{\"Check daily drawdown on?\"}\n C -- No --> OK[\"No daily rule enforced\"]\n C -- Yes --> D{\"daily total reached the Daily drawdown?\"}\n D -- No --> OK\n D -- Yes --> S{\"Soft breach on?\"}\n S -- Yes --> P[\"DONE_FOR_DAY - flatten, resumes next session\"]\n S -- No --> F2[\"FAILED - flatten, permanent\"]`}),`\n`,_jsx(Heading,{level:`2`,id:`two-floors-which-one-stops-the-trader-first`,children:`Two floors: which one stops the trader first`}),`\n`,_jsxs(_components.p,{children:[`An account with both rules has two thresholds, and `,_jsx(_components.strong,{children:`on the way down the higher one is reached first`}),`. The the floor reached first is the higher of the failure threshold and the daily floor.`]}),`\n`,_jsx(Frame,{caption:`With both floors, the higher one is hit first.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/two-floors.png?fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=2a617031fa90d326546641d23c1109ec`,alt:`Which floor is reached first, the daily floor or the failure threshold`,\"data-og-width\":`1240`,width:`1240`,\"data-og-height\":`690`,height:`690`,\"data-path\":`images/drawdown/two-floors.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/two-floors.png?w=280\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=0db6ccf41c2911074f62e65b9eece1d6 280w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/two-floors.png?w=560\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=9ad051e0052fe98deb000a7b86e6823a 560w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/two-floors.png?w=840\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=370fa6b5fd0b514e900d77359728be28 840w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/two-floors.png?w=1100\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=a5a16b9a3241c3c525cc5f095ba92bdb 1100w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/two-floors.png?w=1650\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=154b8285b4246cf7d3624a2765e690a6 1650w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/two-floors.png?w=2500\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=b57b5c3a26e8794e0b128256dad55495 2500w`})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The Failure threshold shown in the CRM is the max-drawdown floor only - it does not account for the daily loss limit.`}),` On any day where the daily floor sits higher, the trader is stopped `,_jsx(_components.strong,{children:`above`}),` the displayed number, and the CRM gives no indication of it. The number on screen is correct; it is just not the whole picture.`]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`$50,000 End-of-day account. Global DD threshold $2,000 (Failure threshold $48,000). Daily drawdown $1,100.`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Day`}),_jsx(_components.th,{children:`Start balance`}),_jsx(_components.th,{children:`Daily floor`}),_jsx(_components.th,{children:`Failure threshold`}),_jsx(_components.th,{children:`Reached first`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`1`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$50,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`$48,900`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$48,000`}),_jsx(_components.td,{children:`Daily floor`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`2`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$49,000`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`$47,900`}),_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.strong,{children:`$48,000`})}),_jsx(_components.td,{children:`Failure threshold`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Day 1.`}),` Equity touches $48,900 and the `,_jsx(_components.strong,{children:`daily floor`}),` stops the trader, because it is the higher of the two. With `,_jsx(_components.strong,{children:`Soft breach`}),` on, that is a pause for the session - the account survives and reactivates next session. The Failure threshold at $48,000 was never approached.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Day 2.`}),` The trader loses another $1,000 and touches $48,000. This time the `,_jsx(_components.strong,{children:`Failure threshold`}),` is the higher of the two, so it is reached first and `,_jsx(_components.strong,{children:`the account fails permanently`}),`. The daily floor at $47,900 was never reached.`]}),`\n`,_jsxs(_components.p,{children:[`On day 2 the trader lost $1,000 against an $1,100 daily limit. `,_jsx(_components.strong,{children:`They never hit their daily limit, and the account fails anyway.`})]}),`\n`,_jsx(Heading,{level:`3`,id:`when-both-break-at-once`,children:`When both break at once`}),`\n`,_jsxs(_components.p,{children:[`A gap or a fast market can carry equity through `,_jsx(_components.strong,{children:`both`}),` floors on a single tick.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Max drawdown wins - a hard breach beats a soft breach.`}),` A `,_jsx(_components.strong,{children:`soft breach`}),` only pauses the account for the session; a `,_jsx(_components.strong,{children:`hard breach`}),` fails it permanently. A pause can never override a failure, so when both floors are crossed on the same tick the account is `,_jsx(_components.strong,{children:`failed`}),`, not suspended. The daily loss limit is a monitoring threshold that triggers a flatten - it is not a stop loss, and it cannot rescue an account that has already breached its Failure threshold.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`when-the-daily-limit-stops-being-the-first-floor-reached`,children:`When the daily limit stops being the first floor reached`}),`\n`,_jsx(Frame,{caption:`Profit lifts the Failure threshold above the daily floor, so the daily limit is no longer the first one reached.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/binding-floor.png?fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=46dbe030617e8700bb7d1bfcedaf241b`,alt:`Which floor is reached first`,\"data-og-width\":`1240`,width:`1240`,\"data-og-height\":`690`,height:`690`,\"data-path\":`images/drawdown/binding-floor.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/binding-floor.png?w=280\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=b1de8b616c9c33c2ca06d0f06e458b70 280w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/binding-floor.png?w=560\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=9a179db3e8b300a943f9c976c44db4c9 560w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/binding-floor.png?w=840\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=abd635433cf42a8e93a1ed9f421af09a 840w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/binding-floor.png?w=1100\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=bf09d2660ae00d67a23754752dfcb65a 1100w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/binding-floor.png?w=1650\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=9c421a2fc7fbc30ee80ca4d1800fb446 1650w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/binding-floor.png?w=2500\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=c2e428ef1ba8a5374ee6f3ae4f5fffde 2500w`})}),`\n`,_jsx(_components.p,{children:`A quick way to answer “which floor am I on today?” - compare two numbers:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`5`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`H = Global DD threshold - Daily drawdown`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`G = anchor - start-of-day balance`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`The daily limit protects the trader only while G \u003c H`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Type`}),_jsxs(_components.th,{children:[`What `,_jsx(_components.code,{children:`G`}),` is`]}),_jsx(_components.th,{children:`What that means`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Static`})}),_jsx(_components.td,{children:`Negative while the account is in profit`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`While the account is in profit`}),`, the daily floor is the one reached first and is doing real work. Once the account falls back within one daily limit of its Failure threshold, that stops being true - see `,_jsx(_components.a,{href:`/drawdown-scenarios#static-with-a-daily-limit`,children:`SD3`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`End of day`})}),_jsx(_components.td,{children:`The drawdown already carried from the EOD peak`}),_jsxs(_components.td,{children:[`The daily limit stops protecting once that exceeds `,_jsx(_components.code,{children:`H`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Trailing`})}),_jsx(_components.td,{children:`The gain above the session open`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Making money can lift the Failure threshold above the daily floor.`}),` Once the trader is up more than `,_jsx(_components.code,{children:`H`}),` intraday, the Failure threshold is reached first and the next breach is terminal.`]})]})]})]}),`\n`,_jsx(_components.p,{children:_jsxs(_components.em,{children:[`Step-by-step examples: `,_jsx(_components.a,{href:`/drawdown-scenarios#trailing-with-a-daily-limit`,children:`Trailing with a daily limit ID1–ID3`}),` and `,_jsx(_components.a,{href:`/drawdown-scenarios#end-of-day-with-a-daily-limit`,children:`End of day with a daily limit ED1–ED3`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`swing-accounts`,children:`Swing accounts`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Auto-flatten before market close = off`}),` makes a challenge `,_jsx(_components.strong,{children:`swing`}),`: positions may be held across the session boundary and held overnight.`]}),`\n`,_jsxs(_components.p,{children:[`Swing is `,_jsx(_components.strong,{children:`not a fourth drawdown type.`}),` It sits on top of Static, Trailing, or End of day and changes only how the floor is evaluated and carried across the overnight boundary.`]}),`\n`,_jsx(Frame,{caption:`A swing account is checked on equity around the clock, including through the overnight session.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/swing-overnight.png?fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=a217e4ce7954beca3d37c4968c4d8d6c`,alt:`A swing account checked on equity overnight`,\"data-og-width\":`1240`,width:`1240`,\"data-og-height\":`690`,height:`690`,\"data-path\":`images/drawdown/swing-overnight.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/swing-overnight.png?w=280\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=0359e1c35768794235bbfb1bac97a0fa 280w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/swing-overnight.png?w=560\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=2d3d99e3ce151a6ea92f56fb154e88f4 560w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/swing-overnight.png?w=840\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=e6ce89911bad2ed58460651f00a7205d 840w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/swing-overnight.png?w=1100\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=3b9ac4071a3e0eced45bc49303a43129 1100w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/swing-overnight.png?w=1650\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=748254bc0c84bd86d9941c111cebe12c 1650w, https://mintcdn.com/tbignite/a_HuvRSRGCAuRzpO/images/drawdown/swing-overnight.png?w=2500\u0026fit=max\u0026auto=format\u0026n=a_HuvRSRGCAuRzpO\u0026q=85\u0026s=fdc565d41611a6d699ad7facd641715c 2500w`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Evaluated on equity, around the clock.`}),` The unrealized P\u0026L of the overnight position counts exactly as it does intraday, so an overnight loser can breach the account `,_jsx(_components.strong,{children:`before the next session even opens`}),`. There is no realized-only fallback.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The anchor carries on the closing value at the boundary.`}),` For a flat-at-close account the End-of-day carry uses the realized closing balance. For a swing account holding a position at the boundary it uses `,_jsx(_components.strong,{children:`closing equity`}),` by default, which includes that open position. Some firms carry the anchor on the `,_jsx(_components.em,{children:`higher`}),` of the closing balance and the closing equity instead, so an overnight loser holds the anchor at the realized balance; the two differ only when the boundary position is at a loss, so read it from the configuration rather than assuming. The failure check reads equity either way, so an overnight loser can still breach while the anchor is held at the realized balance.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`swing-accounts-and-the-daily-limit`,children:`Swing accounts and the daily limit`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`No swing product runs a daily limit today.`}),` Every swing account carries a `,_jsx(_components.strong,{children:`max drawdown only`}),`, so the two-floor machinery on this page does not apply to any swing account that currently exists. If you are checking a swing account, there is one floor to check.`]}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`If you ever configure a daily limit on a swing account, the daily floor cannot come from the balance.`}),` Everywhere else the daily floor is `,_jsx(_components.code,{children:`start-of-day balance - Daily drawdown`}),`. On a swing account carrying a losing position across the boundary, the balance does not include that loss but the equity does - so a floor derived from balance would show the account breaching its daily limit `,_jsx(_components.strong,{children:`at the open, before the trader has placed a single order that day`}),`.`]}),_jsxs(_components.p,{children:[`Both floors on a swing account are measured from the `,_jsx(_components.strong,{children:`carried value at the boundary`}),` - the higher of the closing balance and closing equity - not from the realized balance.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Step by step.`}),` A $50,000 account ends the session holding a winner: balance $50,000, equity `,_jsx(_components.strong,{children:`$53,000`}),`. At the next open, both floors come off that $53,000:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Limit`}),_jsx(_components.th,{children:`Floor at the next open`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Daily drawdown $2,000`}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[`53,000 - 2,000 = `,_jsx(_components.strong,{children:`$51,000`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Global DD threshold $3,000`}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[`53,000 - 3,000 = `,_jsx(_components.strong,{children:`$50,000`})]})]})]})]}),_jsx(_components.p,{children:`Derive either floor from the $50,000 balance instead and you place it $3,000 too low. Talk to the Tickblaze team before configuring a daily limit on a swing account; none runs one today.`})]}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Static swing`,icon:`minus`,id:`static-swing`,children:_jsxs(_components.p,{children:[`The floor is fixed at `,_jsx(_components.code,{children:`initial balance - Global DD threshold`}),` and never moves, so there is nothing to carry across the boundary. The only swing effect is that the fixed floor is live overnight - an overnight loser can breach it, and a recovery by morning does not un-fail the account.`]})}),_jsx(Accordion,{title:`Trailing (intraday) swing`,icon:`arrow-trend-up`,id:`trailing-intraday-swing`,children:_jsxs(_components.p,{children:[`The equity peak keeps trailing `,_jsx(_components.strong,{children:`through the overnight session`}),`, including on the unrealized highs of the open position. This is the tightest possible configuration: an overnight winner that spikes and retraces moves the floor up on the spike, and can fail the account on the retrace while the market is otherwise closed.`]})})]}),`\n`,_jsx(_components.p,{children:_jsxs(_components.em,{children:[`Step-by-step examples: `,_jsx(_components.a,{href:`/drawdown-scenarios#swing-accounts`,children:`Swing scenarios W1–W4`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`operational-edge-cases`,children:`Operational edge cases`}),`\n`,_jsx(_components.p,{children:`These are the cases where the account’s state does not match what the rules would produce. Each one is rare, and each has a defined recovery.`}),`\n`,_jsx(Heading,{level:`3`,id:`when-auto-flatten-does-not-run`,children:`When auto-flatten does not run`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Auto-flatten before market close = on`}),` means the account should be flat at the session close. If it does not run - for any reason - the position is still open afterwards, and an intraday account ends up holding into a window it was never meant to be in.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The rule does not change.`}),` Futures keep trading after the 5:00 PM close, so equity keeps moving on that position, and the floor is still checked against it on every tick. If equity reaches the failure threshold in that window, `,_jsx(_components.strong,{children:`the account fails there`}),`, exactly as it would have intraday.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The failure stands regardless of why the position was still open.`}),` The breach is decided by equity reaching the failure threshold, not by whether the position should have been closed an hour earlier. An account that should have been flattened at 5:00 PM and instead breached at 5:40 PM has failed at 5:40 PM.`]})}),`\n`,_jsx(_components.p,{children:`An intraday account holding past its session close is not expected behaviour. Tell the Tickblaze team - the failure itself is correct and stands, but the position surviving the auto-flatten is not.`}),`\n`,_jsx(Heading,{level:`3`,id:`a-position-that-outlives-the-flatten`,children:`A position that outlives the flatten`}),`\n`,_jsx(_components.p,{children:`Normally the flatten leaves nothing behind. But a position can still be open after a breach - during those first few seconds, on a swing account that breaches overnight, or where something goes wrong and one position stays open to the close.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`None of that re-opens the question.`}),` The rules do not run again:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The account failed the instant equity reached the failure threshold. `,_jsx(_components.strong,{children:`That recorded failure is the authoritative one`}),`, and nothing after it is evaluated. A surviving position cannot un-fail the account, and it cannot fail it a second time.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The surviving position’s profit and loss still moves the account balance.`}),` So the closing balance can end up above or below the failure threshold, and `,_jsx(_components.strong,{children:`neither tells you anything about whether the account failed.`})]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`This is exactly why the failure is recorded the moment it happens.`}),` Once a position outlives the flatten, the balance keeps moving, so the end-of-day figure is no longer evidence of the account’s state. Read the `,_jsx(_components.strong,{children:`recorded failure`}),` on the account, never the closing snapshot. It is on `,_jsx(_components.a,{href:`/account-details#status`,children:`Account details`}),` → `,_jsx(_components.strong,{children:`Status`}),`, which shows the status change and the reason it was recorded with.`]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`If a position is still open on a failed account:`})}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Expect the platform to close it.`}),` The flatten runs on its own, and normally clears everything without anyone stepping in.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`If it is still open, flatten it by hand.`}),` `,_jsx(_components.a,{href:`/accounts#pausing-and-resuming-the-grid`,children:`Pause the Accounts grid`}),`, then use `,_jsx(_components.strong,{children:`Flatten`}),` on that row.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`If a manual flatten does not close it either, tell the Tickblaze team on Slack.`}),` At that point it is a platform issue - do not try to resolve it by editing the account.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`a-failure-on-an-account-that-never-traded`,children:`A failure on an account that never traded`}),`\n`,_jsxs(_components.p,{children:[`An account can show as `,_jsx(_components.strong,{children:`Failed`}),` while having `,_jsx(_components.strong,{children:`no trades, no positions and no orders in its entire history`}),`. It cannot have breached: equity never moved off the starting balance, so it never reached the failure threshold.`]}),`\n`,_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`Check `,_jsx(_components.a,{href:`/account-details`,children:`Account events`}),` before doing anything else.`]}),` Two very different things look identical from the account list, and they need opposite responses:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`What Account events shows`}),_jsx(_components.th,{children:`What it means`}),_jsx(_components.th,{children:`What to do`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`A `,_jsx(_components.strong,{children:`manual failure`}),`, with the actor and timestamp`]}),_jsx(_components.td,{children:`Someone failed the account deliberately.`}),_jsx(_components.td,{children:`Nothing is wrong. Leave it, or reverse it if the person acted in error.`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`No manual failure`}),` - it failed automatically`]}),_jsx(_components.td,{children:`The account was marked failed when nothing could have failed it.`}),_jsx(_components.td,{children:`Recover it, and report it.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`A failure with nothing behind it does not mean the account was set up wrong.`}),` The initial balance, the `,_jsx(_components.strong,{children:`Global DD threshold`}),` and the failure threshold derived from them can all be correct; the account simply got marked failed when it should not have been.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`If there is no manual failure behind it:`})}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Reactivate the account.`}),` An authorized operator can set it back to Active from `,_jsx(_components.a,{href:`/account-details`,children:`Account details`}),` → `,_jsx(_components.strong,{children:`Status`}),` → `,_jsx(_components.strong,{children:`Update status`}),`. The trader carries on with the same account.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Expect it to behave normally afterwards.`}),` Nothing about the account was ever below its failure threshold, so reactivating it does not leave it on the edge of failing again. Trades placed after reactivation go through like any other.`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`This only holds because the account never traded.`}),` Reactivating an account that failed on a `,_jsx(_components.strong,{children:`genuine`}),` breach puts it straight back below its failure threshold - it fails again on the next tick. Bringing a real failure back needs its balance restored as well, which is what `,_jsx(_components.a,{href:`/account-reset`,children:`Account reset`}),` is for.`]})}),`\n`,_jsxs(_components.ol,{start:`3`,children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Tell the Tickblaze team.`}),` A failure with no trading and no manual action behind it points at something that needs investigating, even once the account is back up.`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Everywhere else in these rules, a `,_jsx(_components.strong,{children:`Failed`}),` status means equity genuinely reached the threshold. Check the account’s events for the breach before assuming otherwise - this case is the exception, not a general licence to disregard a failure.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`session-timing-est`,children:`Session timing (EST)`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Instrument`}),_jsx(_components.th,{children:`Session runs`}),_jsxs(_components.th,{children:[`Session `,_jsx(_components.strong,{children:`closes`}),` - anchor moves up, daily limit resets`]}),_jsxs(_components.th,{children:[`Next session `,_jsx(_components.strong,{children:`opens`})]})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Stocks`})}),_jsx(_components.td,{children:`4:00 AM – 4:00 PM`}),_jsx(_components.td,{children:`4:00 PM`}),_jsx(_components.td,{children:`4:00 AM next day`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Futures`})}),_jsx(_components.td,{children:`6:00 PM – 5:00 PM the next day`}),_jsx(_components.td,{children:`5:00 PM`}),_jsx(_components.td,{children:`6:00 PM the same day`})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Two different times, and they are an hour apart on futures.`}),` The `,_jsx(_components.strong,{children:`close`}),` (5:00 PM) is when the session’s work happens - the end-of-day anchor moves up if the close was a new high, and the daily limit resets. The `,_jsx(_components.strong,{children:`open`}),` (6:00 PM) is when trading resumes. An account stopped by a soft breach sits out the rest of the session and comes back at the `,_jsx(_components.strong,{children:`6:00 PM open`}),`, not at the 5:00 PM close. The hour between them is the daily break.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`step-by-step-examples`,children:`Step-by-step examples`}),`\n`,_jsx(Card,{title:`Drawdown scenarios`,icon:`list-check`,href:`/drawdown-scenarios`,children:_jsx(_components.p,{children:`35 step-by-step examples with the full arithmetic - every drawdown type, with and without a daily limit, plus locking, breach mechanics, and swing.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"How drawdown \u0026 failure work","sidebarTitle":"Drawdown \u0026 failure","description":"The one rule behind every drawdown type - equity vs. the failure threshold - and which phase settings produce each behavior.","icon":"chart-line-down","keywords":["drawdown","failure threshold","static","trailing","intraday","end of day","equity","breach","daily loss limit","soft breach","hard breach","locking","swing","daily floor","trading days"],"href":"/drawdown-and-failure"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"The one rule","slug":"the-one-rule","depth":2,"children":[]},{"title":"Which fields control it","slug":"which-fields-control-it","depth":2,"children":[]},{"title":"The breach is the touch","slug":"the-breach-is-the-touch","depth":2,"children":[]},{"title":"The three types","slug":"the-three-types","depth":2,"children":[{"title":"Static","slug":"static","depth":3,"children":[]},{"title":"Trailing (intraday)","slug":"trailing-intraday","depth":3,"children":[]},{"title":"End of day","slug":"end-of-day","depth":3,"children":[]}]},{"title":"Three values that sound alike","slug":"three-values-that-sound-alike","depth":2,"children":[]},{"title":"Locking a trailing floor","slug":"locking-a-trailing-floor","depth":2,"children":[]},{"title":"Daily loss limit","slug":"daily-loss-limit","depth":2,"children":[{"title":"What happens on each kind of breach","slug":"what-happens-on-each-kind-of-breach","depth":3,"children":[]}]},{"title":"Evaluation order","slug":"evaluation-order","depth":2,"children":[]},{"title":"Two floors: which one stops the trader first","slug":"two-floors-which-one-stops-the-trader-first","depth":2,"children":[{"title":"When both break at once","slug":"when-both-break-at-once","depth":3,"children":[]},{"title":"When the daily limit stops being the first floor reached","slug":"when-the-daily-limit-stops-being-the-first-floor-reached","depth":3,"children":[]}]},{"title":"Swing accounts","slug":"swing-accounts","depth":2,"children":[{"title":"Swing accounts and the daily limit","slug":"swing-accounts-and-the-daily-limit","depth":3,"children":[]}]},{"title":"Operational edge cases","slug":"operational-edge-cases","depth":2,"children":[{"title":"When auto-flatten does not run","slug":"when-auto-flatten-does-not-run","depth":3,"children":[]},{"title":"A position that outlives the flatten","slug":"a-position-that-outlives-the-flatten","depth":3,"children":[]},{"title":"A failure on an account that never traded","slug":"a-failure-on-an-account-that-never-traded","depth":3,"children":[]}]},{"title":"Session timing (EST)","slug":"session-timing-est","depth":2,"children":[]},{"title":"Step-by-step examples","slug":"step-by-step-examples","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"tbignite","siteName":"Ignite · Prop Firm Intelligence","title":"How drawdown \u0026 failure work - Ignite · Prop Firm Intelligence","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-28T19:16:49.238Z","originalFileLocation":"drawdown-and-failure.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"The one rule behind every drawdown type - equity vs. the failure threshold - and which phase settings produce each behavior.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Ignite · Prop Firm Intelligence\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tbignite/n0isBVmrwgieyqsl/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/tbignite/n0isBVmrwgieyqsl/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tbignite/n0isBVmrwgieyqsl/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tbignite/n0isBVmrwgieyqsl/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tbignite/n0isBVmrwgieyqsl/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tbignite/n0isBVmrwgieyqsl/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tbignite/n0isBVmrwgieyqsl/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tbignite/n0isBVmrwgieyqsl/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tbignite/n0isBVmrwgieyqsl/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"How drawdown \u0026amp; failure work - Ignite · Prop Firm Intelligence\">\u003cmeta data-mint-head property=\"og:description\" content=\"The one rule behind every drawdown type - equity vs. the failure threshold - and which phase settings produce each behavior.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Ignite · Prop Firm Intelligence\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://tbignite.mintlify.app/drawdown-and-failure\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tbignite.mintlify.site/_mintlify/api/og/v2?division=Proptech+Configuration\u0026amp;title=How+drawdown+%26+failure+work\u0026amp;description=The+one+rule+behind+every+drawdown+type+-+equity+vs.+the+failure+threshold+-+and+which+phase+settings+produce+each+behavior.\u0026amp;theme=eab4745081b18fd6f82cf871\u0026amp;signature=606778b78f838921d5ac2a0bfd45f3c90e523f18685ab12b086b9dd5fc5ea1ae\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"How drawdown \u0026amp; failure work - Ignite · Prop Firm Intelligence\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The one rule behind every drawdown type - equity vs. the failure threshold - and which phase settings produce each behavior.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tbignite.mintlify.site/_mintlify/api/og/v2?division=Proptech+Configuration\u0026amp;title=How+drawdown+%26+failure+work\u0026amp;description=The+one+rule+behind+every+drawdown+type+-+equity+vs.+the+failure+threshold+-+and+which+phase+settings+produce+each+behavior.\u0026amp;theme=eab4745081b18fd6f82cf871\u0026amp;signature=606778b78f838921d5ac2a0bfd45f3c90e523f18685ab12b086b9dd5fc5ea1ae\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/tbignite/n0isBVmrwgieyqsl/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Ignite · Prop Firm Intelligence\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#363EFC\">\u003clink data-mint-head rel=\"canonical\" href=\"https://tbignite.mintlify.app/drawdown-and-failure\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/drawdown-and-failure.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://tbignite.mintlify.app/#organization\",\"name\":\"Ignite · Prop Firm Intelligence\",\"url\":\"https://tbignite.mintlify.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tbignite/OlHmB8MlUnxshCJj/logo/tickblaze-black.png?fit=max\u0026auto=format\u0026n=OlHmB8MlUnxshCJj\u0026q=85\u0026s=fad9b242795c879c4576aed9c4097904\"}},{\"@type\":\"WebSite\",\"@id\":\"https://tbignite.mintlify.app#website\",\"name\":\"Ignite · Prop Firm Intelligence\",\"url\":\"https://tbignite.mintlify.app\",\"publisher\":{\"@id\":\"https://tbignite.mintlify.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://tbignite.mintlify.app/drawdown-and-failure#webpage\",\"url\":\"https://tbignite.mintlify.app/drawdown-and-failure\",\"name\":\"How drawdown \u0026 failure work\",\"description\":\"The one rule behind every drawdown type - equity vs. the failure threshold - and which phase settings produce each behavior.\",\"dateModified\":\"2026-07-28T19:16:49.238Z\",\"isPartOf\":{\"@id\":\"https://tbignite.mintlify.app#website\"},\"breadcrumb\":{\"@id\":\"https://tbignite.mintlify.app/drawdown-and-failure#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://tbignite.mintlify.app/drawdown-and-failure#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Proptech Configuration\",\"item\":\"https://tbignite.mintlify.app/challenges\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How drawdown \u0026 failure work\",\"item\":\"https://tbignite.mintlify.app/drawdown-and-failure\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://tbignite.mintlify.app/drawdown-and-failure#article\",\"headline\":\"How drawdown \u0026 failure work\",\"name\":\"How drawdown \u0026 failure work\",\"description\":\"The one rule behind every drawdown type - equity vs. the failure threshold - and which phase settings produce each behavior.\",\"url\":\"https://tbignite.mintlify.app/drawdown-and-failure\",\"mainEntityOfPage\":{\"@id\":\"https://tbignite.mintlify.app/drawdown-and-failure#webpage\"},\"dateModified\":\"2026-07-28T19:16:49.238Z\",\"keywords\":\"drawdown, failure threshold, static, trailing, intraday, end of day, equity, breach, daily loss limit, soft breach, hard breach, locking, swing, daily floor, trading days\",\"publisher\":{\"@id\":\"https://tbignite.mintlify.app/#organization\"},\"isPartOf\":{\"@id\":\"https://tbignite.mintlify.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Ignite · Prop Firm Intelligence\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Ignite · Prop Firm Intelligence","nav":{"global":null,"tabs":[{"tab":"CRM Guide","groups":[{"group":"Getting started","pages":[{"title":"Ignite operations guide","sidebarTitle":"Overview","icon":"house","href":""},{"title":"Using this documentation","sidebarTitle":"Using this guide","icon":"circle-info","href":"/using-this-documentation"},{"title":"Tickblaze Manager overview","sidebarTitle":"Platform overview","icon":"compass","href":"/tickblaze-manager-overview"}]},{"group":"Tickblaze Manager","icon":"table-cells","pages":[{"group":"Users","icon":"users","pages":[{"title":"Users","icon":"users","href":"/users"},{"title":"Edit user","sidebarTitle":"Edit user popup","icon":"id-card","href":"/edit-user"}]},{"group":"Accounts","icon":"wallet","pages":[{"title":"Accounts","icon":"wallet","href":"/accounts"},{"title":"Account details","sidebarTitle":"Account details modal","icon":"magnifying-glass-chart","href":"/account-details"}]},{"group":"Risk Operations","icon":"shield-halved","pages":[{"title":"Risk Operations","icon":"shield-halved","href":"/risk-operations"},{"title":"Account reset","icon":"rotate-left","href":"/account-reset"},{"title":"Day wiper","icon":"eraser","href":"/day-wiper"},{"title":"Bulk account editor","icon":"pen-ruler","href":"/bulk-account-editor"}]},{"title":"Entitlements","icon":"id-badge","href":"/entitlements"},{"title":"Billing","icon":"credit-card","tag":"Coming soon","href":"/billing"}]},{"group":"Proptech Configuration","icon":"sliders","pages":[{"title":"Challenges","sidebarTitle":"Challenge config","icon":"trophy","href":"/challenges"},{"title":"Challenge phases","sidebarTitle":"Phase config","description":"Per-stage rules of a challenge - profit targets, drawdown, leverage, trading days, and behavior toggles.","icon":"layer-group","href":"/challenge-phases"},{"title":"How drawdown \u0026 failure work","sidebarTitle":"Drawdown \u0026 failure","icon":"chart-line-down","href":"/drawdown-and-failure"},{"title":"Drawdown scenarios","sidebarTitle":"Drawdown scenarios","description":"Step-by-step examples with the numbers filled in - every drawdown type, with and without a daily limit, plus locking, breach mechanics, and swing.","icon":"list-check","href":"/drawdown-scenarios"},{"title":"Symbols","icon":"chart-candlestick","href":"/symbols"}]},{"group":"User Configuration","icon":"user-gear","pages":[{"title":"Users (User Configuration)","sidebarTitle":"Users (config)","icon":"users-gear","href":"/user-configuration-users"},{"title":"User roles","icon":"user-shield","href":"/user-roles"},{"title":"Permission matrix","icon":"table-list","href":"/permission-matrix"}]},{"group":"Coming soon","icon":"rocket","pages":[{"title":"Coming soon","icon":"rocket","href":"/coming-soon"}]}]},{"tab":"Reference","pages":[{"title":"Reference","href":"/glossary"}]},{"tab":"Tutorials","pages":[{"title":"Tutorials","href":"/platform-tutorials"}]},{"tab":"API reference","href":"https://tickblaze.mintlify.app/"}]},"basePath":"","title":"How drawdown \u0026 failure work - Ignite · Prop Firm Intelligence","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["07c022d89b","a74be98ba7","a9bb46feb3"],"chunks":["Frame-5Xwp92K7.js","DynamicMarkdown-BoyYAA8K.js","zoom-image-lightbox-DkE6VzSN.js","lightbox-handle-r17bVUz3.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}