EA Verdict audit: Waka Waka EA MT5

AUDCAD.ls · M15 (2020.01.01 - 2026.08.11) · initial deposit 1000 · leverage 1:100 · engine 0.1.0 · schema 0.1

Verdict summary

Data qualityStructureCostsConcentrationRegime dependenceProp-firm fit
CAUTIONREDOKOKINFOCAUTION
Averaging into adverse moves (grid/DCA signature). Long and short held simultaneously. Floating drawdown (14.3%) far exceeds balance drawdown (0.3%). At least one dimension is rated red; treat the marketed performance with corresponding distrust.

What we measured

Trades reconstructed530
Pairing confidenceexact
Balance reconstructionexact
History quality13% real ticks
Real ticks from2025.09.19 00:00:00
Execution delay10 ms
Tester log providedyes
Tester log files20260813.log
Randomizer prints0
Report SHA-256f0f2dea70414e8f4…

Note: the tester journal contained 2 test runs; only the last one was used. Clearing the journal before a run avoids this.

Reconstructed floating equity

Floating drawdown (sampled)14.3 %
Balance drawdown (deal-wise)0.3 %
Report-head equity DD (tick-based)254.69 (24.24%)
Equity samples (deal timestamps)1060

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

INFO Only 13% real ticks
Most of the window uses generated ticks; fill realism is limited before the real-tick start date.
CAUTION Floating drawdown (14.3%) far exceeds balance drawdown (0.3%)
Open positions ran materially deeper underwater than the closed-trade curve shows: hidden intratrade risk, and exactly what intraday prop rules punish.
CAUTION Martingale-like sizing
Volume increases after losses in 41.7% of cases vs 25.7% after wins.
RED Averaging into adverse moves (grid/DCA signature)
193 entries were added against an open losing basket vs 112 with the move, up to 11 simultaneous positions; median size of adverse adds is 1.0x the open basket's average. Losses concentrate exactly when exposure peaks.
RED Long and short held simultaneously
235 moments with open positions on both sides.
INFO 2026 carries 75% of total profit
Remove one year and the picture changes materially.
CAUTION [iqcapital_classic] Position-loss limit breached even at 1/3 sizing
2 trades exceed the per-position loss limit at one-third size (7 at full size).

Sub-strategies

Entry-comment prefix: "Waka". 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).

KeyTradesPnLWin %Long/ShortMedian hold (h)
default374-874.3185/1897.03
#1962366.744/5227.77
#2341870.615/1923.77
#3163275.04/1220.92
#45180.02/332.2
#532166.71/273.88
#6116100.00/140.36
#7164100.00/136.11

Underlying vs. strategy

SymbolTradesEntry-price moveTraded spanLong/Short tradesLong PnLShort PnL
NZDCAD.ls173+1.6 %2025-09-29 … 2026-08-0784/893337
AUDCAD.ls198+7.0 %2025-09-30 … 2026-08-0786/1122532
AUDNZD.ls159+5.2 %2025-09-29 … 2026-08-0581/782119

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

YearTradesPnLWin %Long PnLShort PnL
20251344278.42021
202639612571.05867

Costs and honest metrics

Net profit166.44
Commission-22.14
Swap-19.52
Gross before costs208.10
Cost share of gross20.0 %
EOD Sharpe (annualized)14.23
Report-head 'Sharpe'0.67
CAGR18.8 %
Max drawdown (EOD)0.3 %

Cost fragility and outlier dependence

Break-even cost shock: +0.31 USD per trade. Add that much cost to every trade (worse spread, slippage, commission) and the whole result is gone. Average position size: 0.077 lots.

Extra cost per tradeNet profitProfit factorWin %
+0.50 USD-990.71628.3
+1.00 USD-3640.35511.9
+2.00 USD-8940.1525.8
+5.00 USD-24840.042.1

Leave-best-N-out: remove the N most profitable trades:

Best trades removedTheir PnLShare of gross winsNet without them
16415.4 %103
511928.6 %48
1015337.0 %13
2019547.1 %-29

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 typeCount
TP528
end_of_test2

Prop-firm fit: IQ Capital Classic (funded)

Rules used for this simulation (as of 2026-08-13):

dd_modeeod_trailing
dd_pct6.0
max_position_loss_pct0.5
consistency_pct30.0
overnight_allowedTrue
weekend_allowedTrue

Source: https://support.iqcapital.io (interne Extraktion docs/architecture/prop_iqcapital_regelwerk_2026-08.md)

SizingAccount deathsWithdrawal %/a
1/1017.54
1/1.5011.69
1/208.77
1/305.85
1/404.38
1/602.92
1/802.19

Max-position-loss breaches (per sizing): 1/1: 7, 1/1.5: 6, 1/2: 3, 1/3: 2, 1/4: 1, 1/6: 0, 1/8: 0

YearBest dayYear profitBest-day share %Breach
20253426.2no
202641253.0no

Worst days: 2026-08-10: -4, 2025-11-25: 0, 2025-10-09: 0 · overnight trades: 279 · weekend-spanning: 144

Prop-firm fit: FTMO Challenge

Rules used for this simulation (as of 2026-08-13):

dd_modestatic
dd_pct10.0
daily_loss_pct5.0
overnight_allowedTrue
weekend_allowedTrue

Source: https://ftmo.com/en/how-it-works/ + academy/maximum-daily-loss + faq weekend

SizingAccount deathsWithdrawal %/a
1/1017.54
1/1.5011.69
1/208.77
1/305.85
1/404.38
1/602.92
1/802.19

Daily-loss breaches (per sizing, EOD deltas): 1/1: 0, 1/1.5: 0, 1/2: 0, 1/3: 0, 1/4: 0, 1/6: 0, 1/8: 0

Daily-loss breaches, intraday equity (per sizing): 1/1: 1, 1/1.5: 1, 1/2: 0, 1/3: 0, 1/4: 0, 1/6: 0, 1/8: 0. intraday row: sampled equity vs. day anchor (server-day boundary); EOD row for comparison

Worst days: 2026-08-10: -4, 2025-11-25: 0, 2025-10-09: 0 · overnight trades: 279 · weekend-spanning: 144

Prop-firm fit: Generic 6% EOD trailing

Rules used for this simulation (as of 2026-08-12):

dd_modeeod_trailing
dd_pct6.0
overnight_allowedTrue
weekend_allowedTrue

Source: generisch, keine Firmenquelle

SizingAccount deathsWithdrawal %/a
1/1017.54
1/1.5011.69
1/208.77
1/305.85
1/404.38
1/602.92
1/802.19

Worst days: 2026-08-10: -4, 2025-11-25: 0, 2025-10-09: 0 · overnight trades: 279 · weekend-spanning: 144

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):

MethodMedianP90P95P99
Permutation (order only)3.3 %4.87 %5.31 %6.39 %
Bootstrap (IID)3.28 %5.65 %6.44 %8.83 %
Block bootstrap (daily blocks)0.35 %0.35 %0.35 %0.36 %

Observed EOD max drawdown of this backtest: 0.3 %. Compare it against the percentiles above.

Equity fan: cumulative PnL of resampled paths vs. the observed backtest (% of start balance):

19%0%0%225 trading daysobserved = red, median = dashed, bands = P25-P75 / P5-P95

Bootstrap intervals (5th … 95th percentile):

MetricP5MedianP95
Profit factor1.1441.6732.499
Expectancy per trade (USD)0.080.310.59

Share of resampled paths ending at or below zero net profit: 1.1 %.

Streaks and recovery (block-bootstrap paths):

MetricMedianP90P95P99
Max losing streak (days)1111
Time under water (days)691013

Ruin probability (floor only) per prop profile and sizing. The safe-sizing answer is the first column at or below 10 %:

ProfileFloor %1/11/1.51/21/31/41/61/8Safe at
iqcapital_classic6.00.00.00.00.00.00.00.01/1
ftmo_challenge10.00.00.00.00.00.00.00.01/1
generic_6pct_trailing6.00.00.00.00.00.00.00.01/1

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):

StageTargetP(pass)P(fail: floor)P(fail: daily)UndecidedMedian days to pass
phase110 %52.6 %0.0 %47.4 %0.0 %139
phase25 %74.0 %0.0 %26.0 %0.0 %70

Both phases passed (independent-resample approximation): 38.9 %.

Attempt economics: expected attempts to pass phase 1: 1.9; for a 90 % chance of at least one pass: 4 attempts; probability of 5 consecutive fails: 2.4 %. 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):

Sizing1/11/1.51/21/31/41/61/8
P(pass)52.6 %31.1 %0.5 %0.0 %0.0 %0.0 %0.0 %
Median days139205225n/an/an/an/a
What these numbers can and cannot say:

Withdrawal replay and Capital what-if

Lot policy detected: mixed_or_unknown (lot-size CV 1.515, lots/balance CV 1.613). Read the matching row below.

Monthly withdrawal replay (monthly sweep to start balance), covering the active span 2025-09-29 … 2026-08-10. An EA can sit out most of the tested window, and all monthly and per-annum figures refer to this span:

Sizing modelMonths paidTotal withdrawnWithdrawn %/aMedian paid monthBest monthDry streak (months)
fixed_lots12/1216618.5916230
balance_scaled12/1216718.7416230

Monthly PnL heatmap: the dry-streak figure, visible at a glance:

JFMAMJJASOND20252025-09: +1+12025-10: +18+182025-11: +12+122025-12: +10+1020262026-01: +11+112026-02: +21+212026-03: +23+232026-04: +16+162026-05: +18+182026-06: +20+202026-07: +14+142026-08: +1+1monthly PnL (USD) of the observed backtest · grey = no trading days in the active span

Across 1000 resampled paths (fixed lots), total withdrawn spans 145 … 165 … 187 USD (P5/median/P95); share of paths paying nothing at all: 0.0 %.

Capital what-if (fixed lots: identical trades, different account):

CapitalMaxDD %P(breach) iqcapital_classicP(breach) ftmo_challengeP(breach) generic_6pct_trailing
1000 (tested)0.350.0 %0.0 %0.0 %
25000.140.0 %0.0 %0.0 %
50000.070.0 %0.0 %0.0 %
100000.030.0 %0.0 %0.0 %
250000.010.0 %0.0 %0.0 %
1000000.00.0 %0.0 %0.0 %

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:

Glossary

Pairing confidenceHow 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 grossCommission 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.
MartingalePosition sizing that grows after losses. Looks smooth for months, then loses the account in one streak.
Consistency ruleProp-firm rule capping the best day's share of total profit; punishes concentrated profit profiles.
Account deathsNumber of times the simulated account breached the profile's drawdown floor over this history (account is then reset and the simulation continues).
Withdrawal %/aYearly withdrawal as percent of account size in the sweep simulation (profits above start are swept daily).
Z-ScoreSerial correlation of the win/loss sequence. Strongly negative values often just reflect several sub-strategies interleaving, not necessarily a defect.
Monte-Carlo resamplingRe-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 bootstrapBootstrap 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 waterLongest stretch of trading days a path spends below its previous balance peak.
Withdrawal replayRe-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 streakLongest run of consecutive months in which the monthly withdrawal was zero: months a trader living off the account would have earned nothing.
Lot policyWhether 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-ifThe 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. strategyThe 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 fragilityHow 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:

This audit is software analysis, not investment advice, and contains no recommendation to buy or trade anything.