Your EA had a good day. That is the problem.

Somewhere in the rule sheet — under a heading most traders skim past on the way to the checkout button — sits a line about consistency. It is the only prop-firm rule that can punish you for a win, and it is the only one that breaks nothing when it bites. No margin call, no closed account, no email at 2am. You just request a payout, and the request sits there.

If your expert advisor already respects the daily loss limit and the maximum drawdown, this rule can still catch it, because it measures something none of those measure: not how much you lost on your worst day, but how much of your total profit came from your best one.

This page turns that rule into code. The arithmetic behind it, the trap in it that fires on losing days without a single new trade, and a governor module your EA can run so the number never crosses the line while you sleep. Every figure below is a worked hypothetical — your firm's cap, your day boundary and your buffer belong in EA inputs, read from your own rule sheet, never hardcoded from an article.

Key Takeaways
  • The consistency rule caps your best day as a share of total net profit; breaching it gates a payout, it does not fail the account.
  • A losing day raises that share without a single new trade, because it shrinks the total — a missed session does a weaker version of the same thing.
  • An EA can enforce the rule with one number: today's ceiling = max(best day so far, cap × total before today ÷ (1 - cap)), recomputed each morning and buffered.
  • While the share is already above the cap, more profit is the cure rather than the risk — throttling there only makes the breach last longer.
Table of Contents (20 min read)Contents

What the Consistency Rule Actually Measures

The prop firm consistency rule caps how much of your total net profit is allowed to come from a single trading day. It compares two numbers you already have, and nothing else.

The consistency rule — best-day share of total profit
Best-day % = ( largest single-day net profit ÷ total net profit ) × 100
Rearranged, the same rule tells you how much total profit a given day needs before it is legal: minimum total profit = best day ÷ cap. A $1,200 best day under a 30% cap needs $4,000 of total net profit to sit inside the rule — so the day itself is never the problem, the days around it are.
The prop firm consistency rule formula: one ratio, recomputed every time a trade closes.

Four details in that formula decide whether your EA's arithmetic matches your firm's:

  • Net, not gross. Commissions and swap come off before the ratio is taken. A day that grosses $1,300 and pays $80 in round-turn commission is a $1,220 day on the firm's dashboard.
  • Closed, not floating. Most firms score a day on the deals that closed inside it. An open winner contributes nothing until it closes — and then contributes all at once, to whichever day it closed in.
  • The firm's day, not yours. The boundary is the platform's server day, and futures-focused firms often roll it at the session open rather than at midnight. An EA that resets its counters at local midnight can attribute a night session's profit to the wrong day.
  • Per account, per stage. The ratio is computed on one account's history, and the same firm may ignore it during the evaluation while enforcing it on every withdrawal from the funded account.

If you just want the number for your own account before reading further, our prop-firm consistency rule calculator takes the best day and the total and returns the share plus the profit you would need to dilute it.

How Much Can One Day Carry? Thresholds by Firm

Caps cluster in a 20–50% band, and where yours sits changes the shape of the whole challenge — not just the ceiling on one day, but how many profitable days the account needs before any day is legal.

Cap on your best dayTotal net profit needed per $1,000 of best dayEvenly sized days that impliesWhat it demands of the EA
20% $5,000 5 days A hard per-day ceiling from day one
25% $4,000 4 days Throttling starts well before the profit target
30% $3,333 3.3 days The common case: cap binds early, relaxes later
40% $2,500 2.5 days Only an outlier day is at risk
50% $2,000 2 days Rarely binds unless one day carries the account
Read the row for your cap: the middle columns are the same formula, rearranged into the total your EA has to bank before its best day becomes compliant.

The spread between those rows is not cosmetic. Under a 40% cap, an EA that produces one strong day and one ordinary day is already inside the rule. Under a 20% cap, the same EA needs five ordinary days, which means the challenge has a minimum duration that has nothing to do with hitting the profit target.

Which firms apply it, and when, varies more than the number itself:

  • Some firms publish a consistency percentage that only applies to withdrawals from a funded account — you can pass the evaluation with concentrated profits and then discover the gate at payout time.
  • Others enforce it from the first evaluation day, so the rule shapes the challenge rather than the payout.
  • A few accounts ship with no consistency rule at all and lean entirely on daily and overall loss limits instead — FTMO's rulebook has historically taken that route, while several futures-focused firms such as Topstep and Apex publish an explicit best-day percentage tied to withdrawals.

Treat every one of those as a claim to verify, not a fact to code against. Firms revise these terms between account types and between seasons, and the version that binds you is the one in the rule sheet attached to your account. Read the payout terms as carefully as the evaluation terms — that is where the rule most often hides.

The Hidden Trap — How a Losing Day Raises Your Best-Day Percentage

Here is the part that surprises people who have been watching the number by hand, and the part that decides whether a governor is worth building.

The best day sits in the numerator. Total profit sits in the denominator. A losing day shrinks the denominator — so your best-day percentage rises without a single new trade being opened, let alone a big winning one. You can go to bed compliant, lose on a quiet session, and wake up over the cap.

Work it through on a hypothetical challenge running under a 30% cap. Day 3 produces a $1,200 day, which is the best day for the rest of the run. From there the account grinds: $300, $500, $450, $900, $250. By day 8 the total is $4,250 and the share has fallen to 28.2% — comfortably legal. Then day 9 loses $600.

Day 9 is a $600 loss. It adds nothing to the best day, and pushes the share from 28.2% back over the cap anyway.

A glass beam balance tipping toward one large block as smaller blocks disappear from the opposite arm.
Nothing was added to the big day — the small ones were taken away.

Two corollaries follow, and both are governor logic rather than trading advice:

A missing day behaves like a small losing day. A day your EA sat out — a dead VPS, a symbol that never mapped, a filter that suppressed everything — contributes nothing to the denominator. The share does not fall. Uptime is therefore a consistency variable, not just an execution one, which is one more reason a challenge EA belongs on a VPS rather than a laptop lid.

The rule is self-healing, and that is the cure. Nothing about a breach is permanent, because every subsequent profitable day dilutes the big one. In the sequence above, days 10 to 12 add $700 of unremarkable profit and drag the share back to 27.6%. This is why the sane response to being over the cap is almost never "stop trading" — it is "keep producing ordinary days until the number comes back down".

What Happens If You Breach It

The consequence is narrower than the panic it causes. On most rule sheets, the consistency rule is a soft breach: the payout request is held, reduced to the compliant portion, or deferred until later days dilute the best one. The account keeps trading. The evaluation is not failed. Nothing is liquidated.

That is a genuinely different class of rule from a loss limit. Cross the daily line or the maximum drawdown and the account is over in the second it happens — one tick, no cure, no appeal. Cross the consistency cap and you have lost access to money you already made, temporarily, with a known path back.

Two qualifications keep that from being reassuring:

  • Some firms pay only the compliant slice. If the rule allows 30% and your best day represents 40% of the total, the payout may be trimmed to what the cap permits rather than held whole. The rest is not cancelled; it waits for dilution.
  • A hard failure purely from consistency is rare, but the review is not. A gated payout usually means a manual account review, and a review looks at every other rule too. If your EA has been quietly brushing a news blackout or an unapproved trading style, that is when it surfaces.

Because enforcement is per stage, check both stages before you tune anything. An evaluation with no consistency rule and a funded phase with a strict one is a common and confusing combination: the EA that passed becomes the EA that cannot get paid.

Can Copying Your EA Across Multiple Accounts Get Around the Rule?

No — and the reason is worth internalizing before you buy a second challenge to "spread the profit out".

The ratio is computed per account, on that account's own history. Copy trading the same EA to a second account reproduces the same shape of P&L there, scaled to that account's size. Scaling a series by a constant leaves every ratio inside it unchanged. If the master account's best day is 38% of its total, the mirrored account's best day is 38% of its total too. You have not split the concentration; you have duplicated it.

Two identical glass prisms at different sizes standing side by side, one an exact scaled copy of the other.
Mirroring an EA scales the profit and leaves every ratio inside it untouched.

Worse, you have made it visible. Identical entries and exits across linked accounts are exactly what firms' anti-mimicry checks look for, and when the pattern is flagged the payouts on every linked account tend to get reviewed together rather than one at a time. The shortcut converts one gated payout into several.

What legitimately changes the ratio is a genuinely different return stream on the other account — a different model, different session, different instrument set, with different day-to-day profit shapes — and only where the firm permits you to run multiple accounts at all. That is a portfolio decision with its own costs, not a workaround. The cheaper fix is almost always to stop one account from producing the outlier day in the first place.

Building a Consistency Governor Into Your EA's Logic

A consistency governor is a small module that sits between your signal logic and your order placement, and answers one question before every entry: if this trade wins, does today's closed profit stay inside what the rule allows today?

It needs four pieces of state, and each has a trap in it:

  1. Today's closed net profit, in the firm's day boundary and server time. Not floating, not since-terminal-start.
  2. Total closed net profit since the account opened, which is the denominator, and which must survive an EA restart.
  3. The best day so far, persisted the same way — recomputing it from history on every tick is expensive and, after a broker history purge, wrong.
  4. The firm's cap, as an input, never a constant.

From those, the ceiling on today falls out of the same formula, rearranged one more time. If today ends up being the new best day, it has to satisfy the cap against a total that includes itself:

Today's ceiling — what the governor recomputes each morning
ceiling = max ( best day so far , cap × total before today ÷ ( 1 − cap ) )
With a 30% cap, $3,400 banked and a $1,200 best day: 0.30 × 3,400 ÷ 0.70 = $1,457. That is above the old best day, so today may earn up to $1,457 before it becomes a non-compliant best day. Multiply the result by a buffer — 0.9 is a sensible start — to absorb slippage and the last trade that closes after the check.

The max() in that line is the part most implementations get wrong, and it encodes the inversion from the losing-day trap. While your share is already above the cap, extra profit today is not a risk — it is the cure, right up until today would exceed the existing best day. A governor that throttles whenever the number looks bad makes a breach last longer. The rule is only ever violated by making a new peak day, or by shrinking the total.

Three more implementation details separate a governor that works from one that reads well:

  • Count every deal on the account, not just your EA's. Habit says filter the history by magic number. The firm does not. A manual trade you placed on Tuesday is in their numerator and must be in yours.
  • Project the open position, not just the closed total. An open winner that would close at take-profit for $520 has already decided today's outcome. The governor should test today_closed + projected_win against the ceiling, using floating P&L only as the input to that projection.
  • Throttle in stages, do not slam the door. Reduce the lot multiplier as the day approaches the ceiling, stop opening new entries at the buffer, and enter a cooldown until the server day rolls. A hard halt at 100% of the ceiling leaves no room for the trade that is already open.

Consistency governor — build specification

0 / 10

Checklist complete — you’re cleared to proceed.

Ten checks that turn the rule into a module. Tick them off against your own EA before the next evaluation.

A Worked Example — the Daily-Cap Kill Switch

Take a hypothetical funded account under a 30% cap, on day 14. Total closed profit before today is $3,400. The best day so far is $1,200. The governor's morning calculation gives a ceiling of 0.30 × 3,400 ÷ 0.70 = $1,457, which is higher than the old best day, so $1,457 is today's number. With a 0.9 buffer, the EA is allowed to work up to about $1,311 of closed profit today.

By the London close the EA has banked $1,180 and holds one open position whose take-profit is worth another $520. The share right now is comfortable — $1,200 against a $4,580 total is 26.2%.

26.2%
Best-day share of total profit (30% cap)
  • Comfortable
  • Approaching the cap
  • Payout gated
The number the reader watches by hand. It is fine at this instant — and the open position is about to move it.

Let that open trade run to target and today closes at $1,700. Today becomes the new best day, the total becomes $5,100, and the share lands at 33.3% — a gated payout, produced by a trade that did exactly what it was designed to do. The governor sees that before it happens, because $1,180 + $520 is above the $1,311 buffered ceiling. Its response is graded: block new entries for the rest of the server day, and either scale the open position out at partial target or hand the decision to you with an alert. What it must not do is nothing.

mql5 consistency_governor.mqh
// Called before every entry. Returns false when the trade would
// push today's closed profit past what the consistency rule allows.

input double InpConsistencyCap = 0.30;  // firm cap, from YOUR rule sheet
input double InpCeilingBuffer  = 0.90;  // work inside 90% of the legal ceiling
input int    InpDayResetHour   = 0;     // server hour the firm's day rolls

// g_account_start, g_day_start, g_best_day are persisted in global variables
// so a restart does not reset the denominator.

double ClosedNetProfit(datetime from)
  {
   double sum = 0.0;
   if(!HistorySelect(from, TimeCurrent()))
      return(0.0);
   for(int i = 0; i < HistoryDealsTotal(); i++)
     {
      ulong t = HistoryDealGetTicket(i);
      if(HistoryDealGetInteger(t, DEAL_ENTRY) != DEAL_ENTRY_OUT)
         continue;
      // no magic-number filter: the firm counts every deal on the account
      sum += HistoryDealGetDouble(t, DEAL_PROFIT)
           + HistoryDealGetDouble(t, DEAL_COMMISSION)
           + HistoryDealGetDouble(t, DEAL_SWAP);
     }
   return(sum);
  }

double TodayCeiling()
  {
   double today        = ClosedNetProfit(g_day_start);
   double total_before = ClosedNetProfit(g_account_start) - today;
   double c            = InpConsistencyCap;
   // headroom: the largest NEW best day that still satisfies the cap
   double headroom     = c * total_before / (1.0 - c);
   // max() matters: while the share is already over the cap, more
   // profit dilutes it - throttling there makes the breach last longer
   return(MathMax(g_best_day, headroom) * InpCeilingBuffer);
  }

bool EntryAllowed(double projected_win)
  {
   double today = ClosedNetProfit(g_day_start);
   if(today <= 0.0)
      return(true);  // a losing day cannot become the best day
   return(today + projected_win < TodayCeiling());
  }
The whole governor is one ceiling and one comparison. Everything hard about it is in the state it reads, not the arithmetic.

Verify it the way you would verify any risk module: replay a completed challenge in the strategy tester, log the ceiling and the share on every day boundary, and confirm the share never closes a day above the cap once the account has enough history for the cap to bind. A governor that has never been backtested against a losing week is a kill switch you have not tested.

Every number in this walkthrough is illustrative arithmetic on a hypothetical account, not a projection of what any system will earn — automated execution carries the same market risk as manual execution, and the full risk warning applies.

Where Consistency Fits Among Your EA's Other Prop-Firm Rules

A compliance layer is not a pile of independent filters. The rules have a priority order, because they differ in what a breach costs, and your EA should evaluate them in that order:

  1. Account-fatal rules first. The daily loss limit and the maximum drawdown end the account on contact, so the 5% daily drawdown line is checked before anything else and overrides every other module. If you have not built that layer yet, size it with the prop-firm drawdown calculator before you tune anything here.
  2. Payout-gating rules second. The consistency rule costs time and access to money, not the account. It can therefore yield to a loss-limit decision without conflict — and it is the only rule in the stack that sometimes wants more trading, not less.
  3. Permission rules third. A news filter for high-impact blackout windows, and whatever algo-trading permission terms your firm attaches to EAs, gate whether an entry may exist at all.
  4. Strategy rules last. Your position-sizing rule, session filters and setup logic operate inside whatever the three layers above have already permitted.

That ordering matters in code because the layers occasionally disagree. A day that is over the consistency cap wants dilution, which means more trades; a day that is $200 from the daily loss limit wants silence. When they conflict, the account-fatal rule wins, always — you can wait for a payout, but you cannot un-fail an evaluation.

The consistency governor is one module in that stack, not the stack itself: passing a prop firm challenge with an ICT EA means every layer above is already built and tested, and this one only makes sure the money you earned is money you can actually withdraw.

You arrived with “a payout request that quietly sat there after one very good day” and you leave with a ceiling your EA recomputes every morning, before the trade that would breach it.

The rule your EA can compute better than you can watch

The consistency rule is the one prop-firm constraint that punishes a win, moves on a losing day without any trade at all, and cures itself if you keep producing ordinary days. None of that is hard arithmetic - it is just arithmetic nobody can run reliably by hand at 3am, which is exactly the kind of job an EA exists for. Give the governor the cap, the day boundary and a buffer, let it recompute the ceiling each morning, and the number stops being something you discover on payout day.

Continue your research Prop-firm challenge simulator Model a full evaluation, day by day Maximum drawdown, explained The rule that ends accounts rather than gating payouts Max lot calculator Size the entries your governor is about to throttle

FAQ

Does the consistency rule apply during the evaluation or only at payout?

It depends on the stage, not just the firm — the same company may ignore it while you are proving yourself and enforce it on every withdrawal once you are funded. Read the evaluation terms and the payout terms as two separate documents, because that is how they are written.

Can a losing day really increase my best-day percentage?

Yes, and it is the most common way traders find out the rule exists. The best day is the numerator and total profit is the denominator, so a loss shrinks the denominator and lifts the ratio without any new trade being opened. A day your EA sat out has a milder version of the same effect: nothing dilutes.

Should my EA close a winning trade early to stay under the cap?

Only as a last resort, and only under a rule you set deliberately. Sizing the entry so its maximum win still fits under today's ceiling is strictly better than cutting a working trade, because it costs nothing when the trade fails to reach target. Cutting early converts a rule problem into an edge problem.

Does the rule count floating profit or only closed trades?

Most firms score the day on closed deals, which is why an open position contributes nothing until it closes — and then contributes everything, to the day it closes in. Your governor still has to project the open position, because that projection is what tells it whether today is about to become the new best day.

Can I run the same EA on two funded accounts to spread the profit?

No. The ratio is computed per account, and mirroring the same trades reproduces the same ratio on both. It also produces near-identical fills across linked accounts, which is what anti-mimicry checks are built to catch — turning one gated payout into a review of all of them.

What happens to a payout that breaches the consistency rule?

Typically it is held, deferred, or trimmed to the compliant portion rather than cancelled, and the account keeps trading. The path back is dilution: keep producing ordinary profitable days until the best day falls under the cap, then request again.

Sources & Further Reading

Want to go deeper? These independent, authoritative sources shaped this guide — each one is worth reading in full:

Signalbots Funded Desk

The Funded Desk is the SignalBots editorial team covering prop-firm challenges and funded-account trading. We research and write the guides on evaluation rules, drawdown limits, payout structures and the discipline funded trading demands.

More from this desk

Discussions 0

Leave a comment