LearnChoosing a program
How to Check Your Trading History Against Prop Firm Rules
To check a trading history against prop firm rules, reconstruct the account in time order and test each rule when it applies. Closed profits can establish part of the result, but equity-based loss limits also require the open-position values and account adjustments that occurred between closes. Stop the replay at the first hard breach.
On this page
The useful output is a record of which conditions were met, which were broken and which remain uncheckable. A profitable ending balance alone cannot supply that answer. The method below works across CFD/FX, futures and perpetual accounts when you use the exact program's rules and valuation data.
Which rules are you testing?
Start by deciding whether you are checking what happened under an existing account's rules or how an old history would fit a different program today. The first needs the terms applicable to that account and period. The second is a hypothetical replay under a separately identified rule set.
Record the firm, market, program, account stage, size, platform, purchased options and relevant cohort or start date. Save the agreement, rule pages and notices that support the test. For example, FTMO's CFD objectives distinguish its current 1-Step Consistency rule from the legacy Best Day Rule by order date and account-merger conditions. Reusing a percentage while missing its denominator or applicability can test the wrong rule. FTMO trading objectives
Turn each applicable condition into an instruction you can actually calculate:
| Rule | Record before replaying |
|---|---|
| Daily loss | Amount, opening reference, monitored value, reset time, equality boundary and breach or pause consequence. |
| Overall max loss | Static or trailing reference, update schedule, any lock, monitored value and breach boundary. |
| Profit target | Required amount, net or gross basis, and whether positions must be closed. |
| Consistency | Best-day definition, denominator, allowed fraction, calculation window and consequence of exceeding it. |
| Qualifying days | What activity counts, minimum net profit if any, session definition and required count. |
| Other permissions | Position-size limits, trading hours, news restrictions, holding, automation and copying. |
Use the overall max-loss guide and daily-loss guide to resolve the loss formulas before combining them. If official documents leave a material contradiction, keep that rule unresolved and follow the conflicting-rules process. A spreadsheet should not silently choose the more convenient interpretation.
What does your trading history need to contain?
Collect the full account period, including the starting state and any positions already open at the beginning. Keep the original export alongside your working copy. A cropped screenshot or a list filtered to winning trades is not a complete account record.
| Evidence | What it lets you check |
|---|---|
| Executed fills with identifiers, times, symbols, directions, sizes and prices | Position changes, realized results, partial closes and simultaneous exposure. |
| Balance entries and separate charges or credits | Net results, account adjustments and the value carried into each reset. |
| Timestamped equity or position valuations using the required price | Open losses, intraday highs and distance from equity-based limits. |
| Session boundaries and account-state snapshots | Which day receives an event and which reference sets the next limit. |
| Order/action logs and the applicable event calendar | Restrictions on orders, news windows and trading hours that a closing-profit total cannot test. |
An order is an instruction; a fill is executed activity. MetaTrader 5's documentation distinguishes orders, deals and aggregated positions. Multiple deals can belong to one order, while a position view combines opening, additions and partial or full closes. Use identifiers to avoid adding the same activity twice. MetaTrader 5 account history
Also inspect what a report's graph measures. MetaTrader's documented account-statement report includes a deal-based balance graph and a current floating-P&L summary. Neither description establishes a complete historical intraday equity series. Other report formats can provide more data; check the actual export rather than assuming every chart labeled drawdown tests the firm's rule. MetaTrader 5 account-statement report
For an equity-based rule, an end-of-day screenshot cannot rule out an earlier intraday breach. The balance-versus-equity guide explains the accounting distinction; the replay needs evidence of the relevant value throughout the tested period.
How do you align sessions, currencies and costs?
Keep the original timestamp and timezone, then assign each event to the program's trading session. Your local calendar date, platform date and rule date can differ. Use the timezone's date-specific offset, including daylight-saving changes, rather than applying today's offset to an entire historical file.
MetaTrader documents deal times in the broker's server timezone. FTMO's dated CFD notice illustrates the practical difference: it announces that from 26 October to 1 November 2026, the offset between MetaTrader midnight and Prague midnight will be two hours instead of the usual one. The daily-loss reset remains tied to Prague. MetaTrader timestamps · FTMO notice, 15 October 2026
Preserve an overnight position across the boundary. It does not become a closed trade because a new reporting day starts. Recalculate the rule's reference at the specified reset, then test the position's continuing effect under that rule.
Reconcile the balance before interpreting performance:
Ending balance = opening balance + realized trading P&L + signed balance adjustments.
Signed adjustments include any separately posted charges, financing, deposits, withdrawals or corrections. Keep trading-account credit separate if the platform does. Follow the applicable equity definition and never subtract a cost twice: a net-P&L column may already include it. Recorded fill prices already reflect the execution that occurred; do not deduct a second invented spread from the same realized result.
Keep everything in the account's accounting unit, using the relevant conversion data where required. A USDC account ledger and a USD bank receipt answer different questions, as the currency and payout guide explains. Perpetual funding entries need their own posting times when they affect the monitored value.
In what order should you test the rules?
Build one ordered account record. Include fills, price-driven valuation changes, charges, credit changes, session resets, withdrawals and any account transition. If two entries share a timestamp, use their recorded sequence or the program's documented processing order. If the order is unknown and changes the outcome, preserve both possibilities.
At each relevant event:
- Apply the event to positions, balance and other account components.
- Value open positions using the price required by the rule.
- Update any daily reference or trailing high at its specified time.
- Test every applicable loss limit, including the equality boundary.
- Record the consequence and, if the account can continue, update the relevant session totals and eligibility checks.
This is a bookkeeping framework, not a claim that every platform processes simultaneous events in that sequence. Use its documented order where it differs. In particular, an EOD trailing reference needs the specified EOD observations, while an intraday equity trail also needs the highs reached between closes.
For a lower equity threshold:
Remaining buffer = monitored equity − current threshold.
Calculate a separate buffer for each loss rule. A large overall buffer does not offset a daily breach. Zero is a breach only when the rule says touching the threshold is enough; otherwise apply its stated strict boundary.
Price selection matters too. Hyperliquid documents a mark price for unrealized P&L and specified risk functions. A last-trade chart is therefore not interchangeable with that valuation series. A prop platform's implementation still needs its own confirmation. Hyperliquid price indices
A hard breach ends the valid replay. A daily pause is a different event: apply its closure and stop conditions, then continue only from a permitted restart. Likewise, a consistency condition that requires more profit is not automatically an account-ending breach. Use the consistency guide for its denominator and window, and the qualifying-day guide for what each session must contain.
Can a profitable history still fail the replay?
Yes. Consider this hypothetical four-session history from 12 to 15 October 2026 on an unrestricted USD demo account. We will replay it against an invented evaluation. The figures and rule combination are chosen to expose the checking error; they do not describe a firm or a typical account.
| Invented condition | Exact assumption |
|---|---|
| Starting balance and equity | $50,000, with no open position or separate credit. |
| Daily loss | Fixed $1,000 allowance. Threshold equals the session's opening balance minus $1,000. Recalculate at 00:00 UTC and immediately test equity. |
| Overall max loss | Fixed $2,500 allowance. Equity threshold stays at $47,500; no trailing or lock. |
| Enforcement | Equity at or below either threshold is a hard breach. No earlier breach or pause occurs. |
| Completion conditions | At least $2,000 net closed profit with all positions closed; best session no more than 40% of total net closed profit; at least three sessions earning $200 or more net. |
| Holding and accounting | Overnight holding permitted. No withdrawals, deposits, funding, swaps or separate credit. Closed results below are after a $20 commission per completed trade. No entry charge or new charge at midnight. |
The original demo file contains these results and confirms that all positions are closed at the end of 15 October. Its later trades remain part of that source history even if the proposed evaluation would have stopped earlier.
| UTC session | Gross closed P&L | Commission | Net closed P&L | Closing balance |
|---|---|---|---|---|
| 12 October | +$820 | −$20 | +$800 | $50,800 |
| 13 October | +$620 | −$20 | +$600 | $51,400 |
| 14 October | +$420 | −$20 | +$400 | $51,800 |
| 15 October | +$220 | −$20 | +$200 | $52,000 |
Looking only at these closes, total net profit is $2,000. The best session contributes $800 ÷ $2,000 = 40%, and four sessions meet the inclusive $200 qualifying threshold. Those calculations satisfy the invented completion conditions on the source history. They do not establish survival under its loss rules.
Now add the open-position evidence. After booking the $600 net profit on 13 October, the trader opens another position. By 23:59 it has a $1,050 floating loss. Its value is unchanged at midnight. In this synthetic record, the displayed checkpoints capture every change relevant to the first breach; they are not samples from an otherwise unknown price path.
| Replay event, UTC | Balance | Floating P&L | Equity | Daily threshold | Daily buffer |
|---|---|---|---|---|---|
| 13 October, session opens | $50,800 | $0 | $50,800 | $49,800 | $1,000 |
| 13 October, 16:00, profit closes | $51,400 | $0 | $51,400 | $49,800 | $1,600 |
| 13 October, 23:59, later position open | $51,400 | −$1,050 | $50,350 | $49,800 | $550 |
| 14 October, 00:00, reset and test | $51,400 | −$1,050 | $50,350 | $50,400 | −$50: breach |
At midnight, the new daily threshold is $51,400 − $1,000 = $50,400. Equity remains $51,400 − $1,050 = $50,350, putting it $50 below that threshold. The overall threshold still has $50,350 − $47,500 = $2,850 of distance. The daily rule nevertheless ends the replay.
The rule mechanism is explained in the daily-reset guide. Here its role is to overturn the apparently complete result from the four closed-profit rows. At the stopping event, only two completed sessions qualify and closed profit is $1,400. A later recovery cannot restore the same attempt.
What should you report when the evidence is incomplete?
Use a result for each rule, not a single reassuring label for the whole file.
| Result | Meaning and next action |
|---|---|
| Breach established | A supported event violates a hard limit. Record the first established breach and stop the valid path there. If earlier coverage is incomplete, say that an earlier breach remains possible. |
| No breach found in the checked coverage | The tested observations do not violate the rule. State the period, price source and data resolution; missing intervals remain outside the conclusion. |
| Not checkable with available evidence | A necessary reference, valuation, timestamp or rule definition is missing. Name it and request that specific record or clarification. |
| Completion condition not yet met | A target, qualifying-day count or other objective remains short. Keep this distinct from an account-ending breach. |
A five-minute equity sample can miss an excursion between samples. An account-wide maximum-drawdown statistic may use a different reference from the program's daily or trailing rule. For example, the MetaTrader report lists Balance Drawdown Absolute, Balance Drawdown Maximal and Balance Drawdown Relative. These measures follow the report's own balance definitions; they do not by themselves test the program's loss rules.
Per-trade maximum adverse excursion also does not give a simultaneous portfolio valuation: different positions can reach their individual worst points at different times.
If you reconstruct valuations from market data, retain the contract specification, position quantities, relevant bid/ask or mark series, currency conversions and cost treatment. Document gaps and assumptions. Do not fill an unobserved interval with a straight line and describe the resulting pass as proven.
Uncertain evidence can still establish a failure when an observed, correctly valued event already violates a known threshold. What it cannot establish is uninterrupted compliance merely because none of the available samples shows a violation.
How should you use the result before choosing a program?
Write one compact review record: the account and rule version, source period, covered data, first breach or smallest observed buffer, completion status and unresolved questions. Include the event rows behind any decisive result so you can reproduce it or ask the firm a precise question.
For the full hypothetical example, that record reads:
The replay breaches the invented daily-loss rule at 00:00 UTC on 14 October, with equity of $50,350 against a $50,400 threshold. The valid path ends with $1,400 closed profit and two completed qualifying sessions. The original file's later $2,000 total and 40% best-session share do not constitute completion of this evaluation.
For the closed-only file, the loss-rule result would instead be not checkable, with open-position valuations across the overnight boundary specifically missing.
When comparing programs, keep the source trades and assumptions fixed and replay each verified rule set separately. If a program prohibits a trade or stops the account earlier, do not keep the later profits as its result. Changing size, fills or exits creates a new scenario that also needs its own costs and valuation path.
The replay measures compatibility of a particular history with specified rules. It does not estimate your probability of passing a future challenge, reproduce future fills or establish payout approval. Use its actual mismatches and evidence gaps to complete the before-you-pay comparison worksheet.
Related reading
- Balance versus equity, for the account values a history must reconstruct.
- Overall max-loss models, for static, EOD and intraday references.
- Daily loss and resets, for the session boundary in the worked replay.
- Consistency calculations, for best-day denominators and windows.
- Minimum trading and profitable days, for the activity behind each count.
Sources and method
Official sources were checked on 20 October 2026. The replay method, invented rule set, trade history and calculations are original explanatory work. No personal trading record, firm account, execution feed or payout was audited. The example's complete synthetic event path is deliberately more informative than a real closed-trade export.
- MetaTrader 5: Executing trades and account history, for orders, deals, position aggregation, server timestamps and separately posted commissions.
- MetaTrader 5: Account-statement trading report, for the documented balance graph and current floating-P&L summary.
- FTMO CFD trading objectives, for the dated distinction between current and legacy 1-Step consistency conditions. This is not the source of the invented evaluation's figures.
- FTMO CFD trading update, 15 October 2026, for the platform-time versus Prague-reset example during a daylight-saving transition.
- Hyperliquid: Robust price indices, for the documented role of mark prices in valuation and risk functions, without assuming identical prop-platform implementation.