Prop firm consistency rule calculation formula with examples
Prop firm consistency rule calculation formula: check best-day profit before a payout, with worked examples and a daily profit cap.

The consistency rule caps how much of your total profit can come from your best single day. The formula is best-day profit divided by total profit, and the result must stay at or under the percentage your firm sets. Check it before every payout request, and if an EA trades for you, cap daily profit so the ratio never breaks.
The formula
Three numbers decide everything:
- B: your best single day of profit
- T: your total profit over the same period
- L: the limit your firm sets, written as a decimal (40% is 0.40)
The rule passes when B / T <= L. Rearranged, you get the two figures you actually use day to day:
- Minimum total profit needed:
T_min = B / L - Largest best day allowed:
B_max = L x T
Firms define these terms differently. Some measure against total net profit, some against the profit target, and some only count winning days. Read your frm's rule text and copy its definitions into your sheet before trusting any result. The math below is the same either way; only what goes into B and T changes.
Worked example: a 40% rule you are failing
Say you have a $100,000 challenge account with a 40% limit, and this is your daily profit and loss since the start:
| Day | Profit/loss |
|---|---|
| 1 | +$800 |
| 2 | +$1,200 |
| 3 | -$300 |
| 4 | +$2,500 |
| 5 | +$600 |
| 6 | +$900 |
Total profit T is $5,700. Best day B is $2,500. The ratio is 2,500 / 5,700 = 43.9%, which is over 40%. Request a payout now and you would likely be refused.
The fix comes from the second fprm of the formula: T_min = 2,500 / 0.40 = $6,250. You are $550 short. Earn it on days smaller than $2,500 and the ratio drops to exactly 40%. Add a buffer on top, because landing on the limit leaves no room for a firm that rounds against you.
Notice what does not help: another huge day. A new best day raises B, which raises the bar you have to clear.
Working out a daily profit cap
Checking before the payout is reactive. A cap makes the breach impossible. Let P be your profit before today, and d today's profit. Assume today turns out to be your best day, which is the case you need to protect against:
d <= L x (P + d)
Solve for d:
d_max = L x P / (1 - L)
With a 40% limit and $3,000 of prior profit, d_max = 0.40 x 3,000 / 0.60 = $2,000. Check it: total becomes $5,000, and $2,000 is exactly 40% of that.
Slippage and a fast spike can push a closed trade past the cap, so use a working limit below the firm's. At 35%, the same $3,000 gives 0.35 x 3,000 / 0.65 = $1,615. That is your cap for the day.
One catch: on day one P is zero, so the formula gives a cap of zero. Early in an account you need a fixed bootstrap cap until enough profit history exists for the formula to produce a usable number.
Setting up the cap in the risk-guard EA
On client projects we buiod this into the risk-guard EA that sits between the TradingView strategy and MT5. The guard already handles drawdown locks, the news filter and session limits, so a profit cap is one more rule in the same place.
- Pull the definitions. Write down how your firm defines B and T, its limit L, and what time its server day rolls over. The EA must reset on the fim's clock, not yours.
- Pick a working limit. Set it a few points under L. This is the margin that absorbs slippage.
- Set the bootstrap cap. Choose a fixed daily cap in dollars for the early days, and the prior-profit level at which formula takes over.
- Feed the EA realized profit by day. It reads closed-trade history per server day, so it knows
Pwithout you typing anything. - Count floating profit too. The cap check should use closed profit plus open P&L for the current day, otherwise an open trade can carry you well past the line.
- Define the action at the cap. Close all positions for that account and block new entries until the next server day. With multi-account copying, apply it per account, since each account has its own
P. - Test on a demo account. Force a cap hit and confirm positions close, entries stay blocked, and the lock lifts at rollover.
An illustrative config for the guard looks like this:
{
"daily_profit_cap": {
"mode": "consistency",
"firm_limit_pct": 40,
"working_limit_pct": 35,
"bootstrap_cap_usd": 1000,
"bootstrap_until_prior_profit_usd": 2500,
"count_floating_pnl": true,
"on_hit": ["close_all", "block_entries_until_rollover"]
}
}
Once prior profit passes the bootstrap threshold, the cap is 0.35 x P / 0.65, recalculated at each server-day open.
Where this sits in the execution stack
The cap is one layer of the Prop-Firm Algo Execution Stack: your TradingView strategy fires alerts, a private bridge you own routes them to MT5, the risk-guard EA vets every order, and a monitoerd VPS keeeps it all running. The guard is the last gate before the broker, which is why profit caps belong there and not in the Pine script. A strategy cannot see the account's multi-day history or the firm's rollover time, but the EA can.
Build your payout check form free
A payout check form for manual days
Not every trader runs a guard on every account, and you may want a record of each check before you request a payout. A small form works well for that. Qwenvo is a completely free form builder that our team builds, and its calculated fields can compute the ratio live as you type in your nymbers. The same technique is covered in the quote calculator guide, where it works out prices instead.
| Field | Type | Purpose |
|---|---|---|
| Account ID | Short answer | Which account you are checking |
| Total profit (T) | Number | From your trade history |
| Best day (B) | Number | Highest single-day profit |
| Firm limit (L) | Number | Percent from the rule text |
| Ratio | Calculated field | B / T x 100 |
| Extra profit needed | Calculated field | B / L - T, shown only when positive |
Each submission lands in the Submissions table and can export to CSV, and a webhook can post the same payload to Zapier, Make or n8n if you want it in a sheet. A spreadsheet does the arithmetic just as well, so use the form only if you want the checks logged per account and shared with teammates. Qwenvo launched in October 2026, so expect fewer reviews than the older builders have, and the one-click Google Sheets connection is still being rolled out, which is why the webhook route is the one to use today.
Read the webhooks help article
What to measure before every payout request
- The ratio on every account, not just the best one. Copied accounts diverge when lot sizes or fills differ.
- Days since your best day. A best day from week one fades as total profit grows, so tome works for you if you keep the other days steady.
- How close each day came to the cap. If the guard hits the cap often, your strategy is front-loading profit into a few sessions, and you may want to change its session limits.
- Server-day boundaries. A trade closed a few minutes before rollover lands on a different day than you expect. Compare your numbers with the firm's dashboard, which is the source of truth.
Questions teams ask
Does the formula use total profit or the profit target?
It depends on the firm. Some divide best day by total profit, others by the target. The formula keeps the same shape, so swap the denominator for whatever your fiem's rule text says and check it against their dashboard.
What if I am already over the limit?
Compute T_min = B / L and trade until total profit reaches it, keeping every day below your current best. If a day beats your best, B rises and so does the total you need, so a flat, boring stretch of modest days is the quickest way out.
Will closing at the cap trigger some other rule?
An exit at the cap is an ordinary close, but check your firm's rules on minimum trade duration and on holding through the rollover. Test the cap behavior on a demo account first so you see what the history looks like.
Do losing days change the math?
If your firm uses net profit, yes: losses lower T, which raises the ratio. In the example above, the -$300 day pulls T down from $6,000 to $5,700. If your firm counts only winning days, losses do not enter the formula at all.
Next step
Open your trade history, pull your total profit and bedt day, and run B / T against your firm's limit today, before the next payout window. If you want the profit cap running inside a guard EA on your own accounts, book a scoping call for the execution stack and bring your firm's rule text with you.
Prop-Firm Algo Execution Stack
Third-party platform and model usage billed to you directly. No lock-in. Live in 10 days.