Averaging into adverse moves (grid/DCA signature). Costs consume 114% of gross profit. [iqcapital_classic] No death-free sizing found. At least one dimension is rated red; treat the marketed performance with corresponding distrust.
What we measured
Trades reconstructed
938
Pairing confidence
heuristic
Balance reconstruction
exact
History quality
39% real ticks
Real ticks from
2024.01.02 00:00:00
Execution delay
10 ms
Tester log provided
yes
Tester log files
20260812.log
Randomizer prints
0
Report SHA-256
fc463cfde066a4e3…
Reconstructed floating equity
Floating drawdown (sampled)
100.0 %
Balance drawdown (deal-wise)
100.0 %
Report-head equity DD (tick-based)
6 747.73 (100.39%)
Equity samples (deal timestamps)
1876
sampled at deal timestamps; intrabar floating equity between deals is unobservable from a report, so the tester-head equity DD (tick-based) is the upper reference
Findings
CAUTION Trade pairing not validated
Positions were paired FIFO without confirmation from the tester log or the report's holding-time figures. Per-strategy attribution may be imprecise.
INFO Only 39% real ticks
Most of the window uses generated ticks; fill realism is limited before the real-tick start date.
CAUTION 1716 failed entry attempts in the log
A notable share of intended entries never filled in the simulation; live behavior may differ from the report.
RED Averaging into adverse moves (grid/DCA signature)
457 entries were added against an open losing basket vs 4 with the move, up to 20 simultaneous positions; median size of adverse adds is 1.0x the open basket's average. Losses concentrate exactly when exposure peaks.
RED Costs consume 114% of gross profit
Commission -610 and swap -7346 against gross-before-costs 6954. Fragile against any cost increase.
INFO Financing costs dominate
Swap (-7346) exceeds commission (-610): the system holds positions overnight and over weekends, and pays for it.
RED [iqcapital_classic] No death-free sizing found
Even at 1/8 sizing the account breaches the drawdown floor on this history.
CAUTION [iqcapital_classic] Position-loss limit breached even at 1/3 sizing
133 trades exceed the per-position loss limit at one-third size (196 at full size).
RED [ftmo_challenge] No death-free sizing found
Even at 1/8 sizing the account breaches the drawdown floor on this history.
RED [generic_6pct_trailing] No death-free sizing found
Even at 1/8 sizing the account breaches the drawdown floor on this history.
Sub-strategies
Entry-comment prefix: "QQX[T". The split is based on entry comments; MT5 tester artifacts do not carry magic numbers, so magic-only multi-strategy EAs appear as one group here (behavioral clustering is on the roadmap).
Key
Trades
PnL
Win %
Long/Short
Median hold (h)
1/S01]
347
-5816
59.1
347/0
4.93
2/S03]
152
729
78.3
152/0
0.49
1/S02]
146
774
78.1
146/0
0.34
6/S12]
93
1402
82.8
0/93
0.7
3/S06]
70
446
70.0
0/70
3.0
4/S08]
50
508
88.0
50/0
0.67
5/S10]
42
268
69.0
42/0
7.62
5/S09]
38
687
81.6
38/0
2.13
Underlying vs. strategy
Symbol
Trades
Entry-price move
Traded span
Long/Short trades
Long PnL
Short PnL
GOLD.ls
938
+22.4 %
2020-01-22 … 2023-02-03
775/163
-2850
1848
approximated from entry prices; a tester report carries no independent price series. Price-percent and account-percent are not directly comparable without sizing; the move contextualizes the long/short split, it is not a benchmark return.
Year by year
Year
Trades
PnL
Win %
Long PnL
Short PnL
2020
337
1742
73.0
1213
528
2021
221
1471
73.8
784
688
2022
326
2355
72.4
1805
550
2023
54
-6570
42.6
-6652
82
Long vs. short by year, against the underlying's own move. Where the dark bars rise and fall with the red ones, the market's tailwind is doing the work:
Costs and honest metrics
Net profit
-1001.89
Commission
-609.90
Swap
-7346.38
Gross before costs
6954.39
Cost share of gross
114.4 %
EOD Sharpe (annualized)
0.5
Report-head 'Sharpe'
0.89
CAGR
-100.0 %
Max drawdown (EOD)
100.0 %
The report-head "Sharpe" is trade-based and not comparable to an annualized daily Sharpe; the EOD figure above is the honest one.
Cost fragility and outlier dependence
Break-even cost shock: -1.07 USD per trade. Add that much cost to every trade (worse spread, slippage, commission) and the whole result is gone. Average position size: 0.065 lots.
Extra cost per trade
Net profit
Profit factor
Win %
+0.50 USD
-1471
0.885
70.1
+1.00 USD
-1940
0.85
69.4
+2.00 USD
-2878
0.783
65.9
+5.00 USD
-5692
0.606
50.4
Leave-best-N-out: remove the N most profitable trades:
Best trades removed
Their PnL
Share of gross wins
Net without them
1
157
1.3 %
-1159
5
632
5.4 %
-1634
10
1142
9.8 %
-2144
20
2045
17.5 %
-3047
flat USD shock per trade, not lot-scaled -- judge it against the average lot size; leave-best-out removes the N most profitable trades from the observed set.
Exit profile
Exit type
Count
end_of_test
10
signal_or_time
928
Prop-firm fit: IQ Capital Classic (funded)
Rules used for this simulation (as of 2026-08-13):
Monte-Carlo resampling: stress on the reconstructed trades
1000 paths per method, seed 42, block length 5 trading days; additive resampling at the tested sizing; drawdowns as % of start balance. Paths are not stopped at account death -- drawdowns beyond 100% mean repeated wipeouts at this sizing.
Max-drawdown distribution (percent of start balance):
Method
Median
P90
P95
P99
Permutation (order only)
246.45 %
324.47 %
351.35 %
388.24 %
Bootstrap (IID)
253.57 %
443.85 %
504.66 %
633.77 %
Block bootstrap (daily blocks)
671.34 %
1324.63 %
1736.11 %
2393.5 %
Observed EOD max drawdown of this backtest: 100.0 %. Compare it against the percentiles above.
Equity fan: cumulative PnL of resampled paths vs. the observed backtest (% of start balance):
Bootstrap intervals (5th … 95th percentile):
Metric
P5
Median
P95
Profit factor
0.724
0.925
1.207
Expectancy per trade (USD)
-4.59
-1.0
2.2
Share of resampled paths ending at or below zero net profit: 69.5 %.
Streaks and recovery (block-bootstrap paths):
Metric
Median
P90
P95
P99
Max losing streak (days)
2
2
2
2
Time under water (days)
236
714
754
784
Ruin probability (floor only) per prop profile and sizing. The safe-sizing answer is the first column at or below 10 %:
Profile
Floor %
1/1
1/1.5
1/2
1/3
1/4
1/6
1/8
Safe at
iqcapital_classic
6.0
62.9
62.9
62.9
62.9
62.9
62.9
62.9
none ≤ 10 %
ftmo_challenge
10.0
62.9
62.9
62.9
62.9
62.9
62.9
62.9
none ≤ 10 %
generic_6pct_trailing
6.0
62.9
62.9
62.9
62.9
62.9
62.9
62.9
none ≤ 10 %
Cells are breach probabilities in percent at each sizing (1/2 = half the tested lots). Floor only: the full rule set is stricter, so the truly safe sizing is at most the bold one.
Challenge pass probability, ftmo_challenge (at the tested sizing; daily and floor checks based on: intraday-sampled equity vs. day anchor):
Stage
Target
P(pass)
P(fail: floor)
P(fail: daily)
Undecided
Median days to pass
phase1
10 %
17.4 %
0.0 %
82.6 %
0.0 %
15
phase2
5 %
35.4 %
0.0 %
64.6 %
0.0 %
9
Both phases passed (independent-resample approximation): 6.2 %.
Attempt economics: expected attempts to pass phase 1: 5.7; for a 90 % chance of at least one pass: 13 attempts; probability of 5 consecutive fails: 38.5 %. multiply attempts by your challenge fee for the expected cost to fund.
Does reducing risk raise the pass chance? Phase 1 at each sizing (targets stay fixed, trading scales down):
Sizing
1/1
1/1.5
1/2
1/3
1/4
1/6
1/8
P(pass)
17.4 %
14.9 %
19.3 %
20.4 %
27.4 %
27.5 %
35.0 %
Median days
15
23
23
41
60
84
114
What these numbers can and cannot say:
Monte Carlo resamples the SIMULATED trades of this backtest. It inherits every weakness of the simulation (in-sample bias, regime luck, execution gap) and cannot add information -- it only reveals how fragile the observed path is.
Same trades, different order: answers only how path-dependent the drawdown is. Treats trades as exchangeable -- grid and martingale sequences are not (their order is caused by the market path), so read this as a diagnostic, not a forecast.
Draws trades independently with replacement (IID assumption). Real EAs violate IID through clustering and position chains; intervals are tighter than reality for such systems.
Resamples 5-trading-day blocks of the end-of-day PnL series (circular: blocks wrap at the series end, so every day carries equal weight -- without wrapping, a crash on the final day would be undersampled): preserves short-range clustering and losing streaks up to the block length; longer regime shifts remain unmodeled.
Floor breaches only, on block-bootstrap paths over a horizon equal to the tested history, profits above start swept (same convention as the prop-fit sweep). The firms' full rule sets (daily loss, consistency, position loss) are stricter -- treat every probability as a lower bound, and the safe-sizing answer as an upper bound on the truly safe size.
The fan bands are pointwise percentiles across resampled paths -- the envelope is not a single achievable path. Paths use the tested sizing and are not stopped at account death.
Challenge-pass probabilities run each resampled path until profit target, max-loss floor or a daily-loss day is hit (checked in that day's order: daily first, then floor). Where the audit has reconstructed equity, daily-loss and floor checks use the intraday equity drop below the day anchor (sampled at deal timestamps, server-day boundary) -- still a lower bound on breaches, but far closer to the firms' equity-based rules than EOD deltas. Phases are treated as independent resamples for the combined figure; the sizing curve keeps the targets fixed while scaling the trading, which is why less risk can also mean more undecided paths.
Withdrawal replay and Capital what-if
Lot policy detected: mixed_or_unknown (lot-size CV 0.445, lots/balance CV 0.37). Read the matching row below.
Monthly withdrawal replay (monthly sweep to start balance), covering the active span 2020-01-23 … 2023-02-03. An EA can sit out most of the tested window, and all monthly and per-annum figures refer to this span:
Sizing model
Months paid
Total withdrawn
Withdrawn %/a
Median paid month
Best month
Dry streak (months)
fixed_lots
36/38
5687
181.19
132
793
1
balance_scaled
36/38
6368
202.88
138
1080
1
Monthly PnL heatmap: the dry-streak figure, visible at a glance:
Across 1000 resampled paths (fixed lots), total withdrawn spans 136 … 3533 … 6641 USD (P5/median/P95); share of paths paying nothing at all: 1.3 %.
Capital what-if (fixed lots: identical trades, different account):
Capital
MaxDD %
P(breach) iqcapital_classic
P(breach) ftmo_challenge
P(breach) generic_6pct_trailing
1000 (tested)
671.34
63.5 % · observed hit
63.5 % · observed hit
63.5 % · observed hit
2500
268.54
63.5 % · observed hit
63.5 % · observed hit
63.5 % · observed hit
5000
134.27
63.5 % · observed hit
63.5 % · observed hit
63.5 % · observed hit
10000
67.13
63.5 % · observed hit
63.5 % · observed hit
63.5 % · observed hit
25000
26.85
63.5 % · observed hit
63.5 % · observed hit
63.5 % · observed hit
100000
6.71
63.5 % · observed hit
23.3 %
63.5 % · observed hit
fixed-lots USD path re-expressed per capital; margin not modeled. Safe sizing at another capital follows the MC ruin matrix scaled by capital/tested.
Assumptions and their direction:
Withdrawals are simulated monthly on the last trading day: everything above the start balance is taken out. A month without surplus pays nothing -- the dry-streak figure shows how long that can last. Paths are the OBSERVED backtest days; the withdrawal distribution adds resampled paths (same circular block bootstrap as the MC section, own seed).
balance_scaled multiplies each day's PnL by balance/start -- an approximation: min-lot granularity and balance-coupled EA defaults do not scale linearly. Direction: optimistic for small accounts.
Capital what-if keeps the observed USD path (fixed lots) and re-expresses risk against each capital. Margin requirements are NOT modeled -- a small account may be unable to hold the positions at all. Direction: optimistic. Under balance_scaled sizing, percent metrics are unchanged by construction; only the min-lot limit differs, which is why no table is shown.
Glossary
Pairing confidence
How entry and exit deals were matched into trades: 'exact' = taken from the tester log; 'validated' = FIFO/LIFO reproduced the report's holding-time figures; 'heuristic' = unconfirmed FIFO assumption.
EOD Sharpe (annualized)
Sharpe ratio computed from end-of-day balance returns, annualized with √252. Comparable across systems, unlike the report-head 'Sharpe', which is per-trade.
Cost share of gross
Commission plus swap as a share of gross profit before costs. High values mean the edge is eaten by fees and financing.
Max drawdown (EOD)
Largest peak-to-trough loss of the end-of-day balance curve.
Floating drawdown (sampled)
Largest drawdown of reconstructed equity (balance plus open-position value), sampled at deal timestamps. Between deals equity is unobservable from a report; the tester-head equity DD is tick-based.
Martingale
Position sizing that grows after losses. Looks smooth for months, then loses the account in one streak.
Consistency rule
Prop-firm rule capping the best day's share of total profit; punishes concentrated profit profiles.
Account deaths
Number of times the simulated account breached the profile's drawdown floor over this history (account is then reset and the simulation continues).
Withdrawal %/a
Yearly withdrawal as percent of account size in the sweep simulation (profits above start are swept daily).
Z-Score
Serial correlation of the win/loss sequence. Strongly negative values often just reflect several sub-strategies interleaving, not necessarily a defect.
Monte-Carlo resampling
Re-arranging or re-drawing the audited trades many times to see the range of drawdowns and streaks the same trading could have produced. It cannot add information; it reveals path fragility, not future returns.
Block bootstrap
Bootstrap that draws whole multi-day blocks of the daily PnL series instead of single trades, preserving short-range clustering (losing weeks stay losing weeks).
Ruin probability (floor only)
Share of resampled paths that breach the profile's drawdown floor at least once, with profits above start swept. The firm's full rule set is stricter, so this is a lower bound.
Time under water
Longest stretch of trading days a path spends below its previous balance peak.
Withdrawal replay
Re-plays the backtest with a monthly payout: on the last trading day of each month, everything above the start balance is withdrawn. Shows what the strategy pays a trader who lives off it, instead of compounding like a backtest.
Dry streak
Longest run of consecutive months in which the monthly withdrawal was zero: months a trader living off the account would have earned nothing.
Lot policy
Whether the EA trades fixed lot sizes or scales them with the balance, detected from the variation of lot sizes across the deal list.
Capital what-if
The observed USD path re-expressed against a different account size (fixed lots): drawdown percentages and floor-breach risk change with capital even though the trades are identical. Margin limits are not modeled.
Underlying vs. strategy
The symbol's own price move over the traded span, approximated from entry prices. If most profit is long-side while the symbol itself rose strongly, part of the result is the market's tailwind, not the mechanics. The tester cannot separate the two.
Cost fragility
How quickly the result dies as per-trade costs rise. The break-even shock is the extra cost per trade (spread, slippage, commission) at which net profit reaches zero; high-frequency systems often die at cents.
What this audit cannot tell you
A good backtest cannot prove an edge. This audit dissects the
simulation you gave it. It can expose structural risks (martingale,
grids, hidden concentration, cost fragility, rule conflicts), but it
cannot tell you that the strategy will make money. Three limits are
fundamental:
In-sample bias: commercial EAs are typically released and
updated after most of the tested window. A strong report may
replay what the vendor optimized against, not what the market will do.
Regime dependence: a profitable window can reward almost any
mechanic aligned with the prevailing trend. Year slices and long/short
splits above hint at this, but cannot settle it.
Simulation gap: even with real ticks and execution delay, the
tester does not model live spreads, slippage beyond the next tick, or
broker-specific behavior.
This audit is software analysis, not investment advice, and contains
no recommendation to buy or trade anything.