RigorIdentifier sample · 2026-09-24 00:00 UTC

This is a made-up signal, built to show what someone about to copy a signal sees, and it belongs to nobody. Sample report built from computer-generated synthetic data, in the format of the CSV Myfxbook exports: it is nobody's account or strategy. This is what a full report looks like.

Rigor · Account history audit
Verdict

Class D: the account history does not pass the audit; the headline numbers cannot be taken as they stand.

Dimensions

Executive summary

+14.1%Total returnMeasured
-45.1%Maximum drawdown (closed trades only)Measured
-66.1%Drawdown p95, 1 year (closed trades only)Measured
0.57Annualised SharpeMeasured

What to do now

  1. Compare your broker's spread and commission with the reference cost: at that cost the trades already lose money net.
  2. Take this report's questions to the seller.

Every figure carries its tag: “Measured” when computed from your files; “Declared” when stated by you or the seller, not verified; “Not measured” when a piece was missing to compute it.

This is a made-up signal, built to show what someone about to copy a signal sees, and it belongs to nobody. Sample report built from computer-generated synthetic data, in the format of the CSV Myfxbook exports: it is nobody's account or strategy. This is what a full report looks like.

Your first one, with your own file, is free when you create an account.

Create an account and upload my file

Which file produces a report like this? The history Myfxbook exports. The one from an MQL5 signal or from FX Blue gives a report like this one, except for the open loss: those files do not include the open positions.

Rigor · Account history audit

Verdict D

Identifier sampleGenerated 2026-09-24 00:00 UTCData 2025-09-19 → 2026-09-168 days between the last data point and this auditengine version 0.1.0simulation seed 12345
D
Verdict

Class D: the account history does not pass the audit; the headline numbers cannot be taken as they stand. The result cannot be told apart from chance (the Sharpe ratio is not distinguishable from zero). The number of configurations tried was not declared, and even with 1, the most favourable case, the Sharpe adjusted for trials misses the bar. At the reference cost, the trades lose money net. Out of sample not measured: no out-of-sample start declared. Warning flags in the data: Deposits in a deep drawdown, Open loss the balance does not show, The percentage gain does not reflect the money, Grid or averaging down, Hidden floating drawdown, Extreme jumps, Many positions open at once, Size grows after losses (martingale). Benchmark declared not applicable.

Every figure carries its tag: “Measured” when computed from your files; “Declared” when stated by you or the seller, not verified; “Not measured” when a piece was missing to compute it.

Download the report as PDF

Whoever receives the PDF or JSON can check that it was not edited. How they check

Money reconciliation

We compare starting capital, known flows and net closed-trade P&L with the closing balance. A match does not authenticate the history.

No printed balance to reconcile against. The file prints no balance of its own to compare with, so there is nothing independent to reconcile.

Gross − itemised costs = net closed-trade P&L: -551.03 − 193.50 = -744.53

Starting capital + known flows + net P&L = expected closing balance: 1,000.00 + 3,400.00 + -744.53 = 3,655.47

file units; currency not declared
Starting capital1,000.00Measured
Flows after the start3,400.00Measured
Gross closed-trade P&L-551.03Measured
Itemised costs193.50Measured
Net closed-trade P&L-744.53Measured
Open-position value—Not measured
Expected closing balance3,655.47Measured
Observed closing balance—Not measured
Difference (observed − expected)—Not measured
Tolerance3.79Measured

Coverage and limits

  • Curve: rebuilt from the platform deal rows
  • Closed trades: 344
  • Trades outside the curve period: 0
  • Deposits and withdrawals: listed by the platform
  • Open positions: not valued separately
  • Currency: not stated; same units assumed

Executive summary

+14.1%Total returnhow much the account changed over the whole historyMeasured
-45.1%Maximum drawdown (closed trades only)the worst fall from a peakMeasured
-66.1%Drawdown p95, 1 year (closed trades only)a fall exceeded in 1 of every 20 simulated yearsMeasured
0.57Annualised Sharpereturn against its ups and downs; higher is steadierMeasured
0.82Profit factorwhat was won for every 1 lostMeasured
344 · 72%Trades · win rateMeasured
0Extra cost that takes it to zero (already negative before any extra cost)how much more trading can cost before it reaches zeroMeasured
-1,046.25Without the best 5 tradeswhat is left of the net result without those 5; with all of them: -744.53Measured
-3.0%Without the best 5 periodstotal return without those 5; with all of them: +14.1%Measured

After subtracting what cash in dollars paid over the same dates (3-month US Treasury bills, 3.82% a year on average), the Sharpe is 0.47. The Sharpe above subtracts no rate. If the account is not in dollars, the fair rate to subtract is its own currency's. Source: FRED. Measured

What this means for you

Statistical significance Fail

With this data, the result cannot be told apart from coin flips. The curve can look good and still be chance.

Number of settings tried Weak

Part of the result may come from picking the best of many configurations. Ask how many were tried and request the optimisation file.

Costs Fail

At the reference cost, this account's trades lose money net. Its prices are already the broker's fills, so the margin over costs is nil or negative.

Out of sample Not measured

The history does not say since when the robot has run unchanged, so it is not known which part is a test on unseen data. Ask the provider for that date and declare it to measure it.

Data quality and trading pattern Weak

There are warnings in the data worth clearing up before trusting the figures. The full report lists each warning with its explanation.

Benchmark Not applicable

No applicable reference was declared. A comparison with a passive alternative is outside this report.

What to do now

If you bought or are about to buy this robot or signal, this is what is worth clearing up first, from what the audit found.

  1. Compare your broker's spread and commission with the reference cost: at that cost the trades already lose money net. Go to the section
  2. Take this report's questions to the seller. Go to the section
  3. Keep this report and its identifier; if the robot changes, ask for a new audit.

What each class requires

The class does not measure how much was made, but how many questions your files answer. A better class does not mean the strategy will work.

  1. A

    Statistics and number of trials pass; costs, out-of-sample and benchmark pass or do not apply; the data has no serious or warning flags.

  2. B

    Statistics pass, the number of trials passes or was not declared and nothing fails, but costs, out-of-sample, benchmark, data quality or the number of trials still need measuring or strengthening.

  3. C

    One dimension fails, or statistics or number of trials are weak.

  4. D

    The data or the statistics fail, or two dimensions or more fail.

    Your report

Charts

Equity curveEquity from the supplied file over time.1,0001,5002,0002,5002025-092025-122026-032026-062026-09
Measured Equity curve: 259 points, min 1,000, max 2,059. balance rebuilt from closed trades; floating drawdown is not visible
Drawdown (fall from the previous peak)Percentage distance of equity from its previous peak.-60%-40%-20%0%2025-092025-122026-032026-062026-09
Measured Drawdown (fall from the previous peak): max -45.1%. balance rebuilt from closed trades; floating drawdown is not visible
Fan of resampled scenariosPercentiles of equity paths resampled from the supplied history. Resampled from the supplied history; not a forecast and says nothing about future results.00.511.522.501 yearp5–p95p25–p75median
Measured Fan of resampled scenarios. Resampled from the supplied history; not a forecast and says nothing about future results.
Return of each calendar month computed from the supplied equity.
YearJanFebMarAprMayJunJulAugSepOctNovDecTotal
2025+3.9%+21.9%+12.8%+9.2%+56.1%
2026+14.3%+8.3%-22.6%+3.4%+2.5%-26.5%+5.6%+4.3%-11.1%-26.9%
Measured Monthly returns.

Red flags found

  • Warning
    Extreme jumps

    MAD_SPIKES

  • Warning
    Size grows after losses (martingale)

    MARTINGALE_SIZING

  • Warning
    Grid or averaging down

    GRID_AVERAGING

  • Warning
    Many positions open at once

    MANY_CONCURRENT_POSITIONS

  • Warning
    Hidden floating drawdown

    HIDDEN_FLOATING_DRAWDOWN

  • Warning
    The percentage gain does not reflect the money

    GAIN_INFLATED_BY_FLOWS

  • Warning
    Deposits in a deep drawdown

    DEPOSIT_DURING_DRAWDOWN

  • Warning
    Open loss the balance does not show

    FLOATING_LOSS_AT_END

Internal file consistency

Heuristic checks of rows within this file; they do not compare two independent files or authenticate who created the history.

Method version: forensics-1 · File family: myfxbook · Rows read: 356 Measured

No calibrated check could be applied to this format: there is no signal either for or against the file, and the absence of one says nothing about whether it was edited. If you can, download it yourself from the platform.

A signal does not prove forgery; no signal does not prove authenticity.

All checks and their status

CheckStatusCalibration
File trace FILE_TRACENo findingNo applicable calibration
Summary totals against the rows TOTALS_VS_ROWSData pointNo applicable calibration
Identities between summary totals SUMMARY_IDENTITIESData pointNo applicable calibration
Balance chain BALANCE_CHAINData pointNo applicable calibration
Deal and order sequence DEAL_SEQUENCEData pointNo applicable calibration
Tester numbering TESTER_NUMBERINGData pointNo applicable calibration
Ticket order TICKET_ORDERNo findingNo applicable calibration
Duplicate tickets DUPLICATE_TICKETNo findingNo applicable calibration
Links between tickets TICKET_LINKSData pointNo applicable calibration
Copies between tables CROSS_COPIESData pointNo applicable calibration
Stop and take-profit fills SLTP_FILLData pointNo applicable calibration
Sign of the result PNL_SIGNNo findingNo applicable calibration
Result implied by the prices PRICE_IMPLIED_PNLData pointNo applicable calibration
Price precision PRICE_PRECISIONData pointNo applicable calibration
Possible hours TIME_SANITYNo findingNo applicable calibration
Row order ROW_ORDERNo findingNo applicable calibration
Market hours MARKET_HOURSNo findingNo applicable calibration
Hidden content HIDDEN_CONTENTData pointNo applicable calibration
Volume in and out VOLUME_IN_OUTData pointNo applicable calibration
Statement period STATEMENT_PERIODNo findingNo applicable calibration
Digits of the monthly table MONTHLY_DIGITSData pointNo applicable calibration

Plan to reach a better class

What the audit's rules would need to see in each open dimension, most decisive first. A better class means the files answer more questions, not that the strategy will work.

01 Supply more history Fail

PSR 0.687 with 258 observations. With the same behaviour, not even 10 times more history would take it to 0.95: on this data the result cannot be told apart from chance.

  • Upload a longer period of the same account, with unchanged settings.
  • Better still, audit it again once it adds more months with the same settings: each new month counts as data the optimiser never saw.

If this dimension passed and the rest stayed the same, the class would be C.

02 Check the real costs Fail

Even with no extra cost, the trades do not net above zero after the commission and swap in the file.

  • Compare that margin with your broker's real spread and slippage: on EURUSD at 1.10, 1 bp per side is about 1.1 pips.
  • Declare the real cost per side when uploading: it is added to what the report already itemises.
  • Fewer trades or a larger move per trade make costs weigh less.

03 Clear the data flags Weak

0 serious flags and 8 warnings in the data.

  • Extreme jumps. On some days the account moves more than 15 %: if they come from deposits, withdrawals or bad prices, fix them; if they are real trades, the size is very aggressive for the account.
  • Size grows after losses (martingale). Size grows after losses: with a fixed size or fixed risk the curve shows the real risk; upload that version to compare.
  • Grid or averaging down. Positions are added against the losing one: also upload a backtest without averaging to see how much depends on it.
  • Many positions open at once. Limit the positions open at once or upload the equity curve with floating P&L.
  • Hidden floating drawdown. The curve shows only the balance: upload the equity curve (with floating P&L) to measure the real drawdown.
  • The percentage gain does not reflect the money. The percentage comes from removing deposits and withdrawals: judge the account by the money its trading made or lost as well.
  • Deposits in a deep drawdown. New money arrived in a deep loss: look at the drawdown without those deposits and ask why they were added.
  • Open loss the balance does not show. Positions are open at a loss: ask for a history printed after they close to see the real result.

04 Measure how many configurations were tried Weak

DSR 0.677 at 1 trial; it passes at 0.95 or more and fails below 0.5. With 2 or more configurations tried it falls below 0.5.

  • Upload the MT5 optimisation XML or the variants matrix: the trial count becomes measured and the PBO is computed.
  • The trials you already ran still count: re-optimising around the chosen configuration adds to them, it does not erase them. In the next version, fewer parameters and narrower ranges from the start mean fewer trials.
  • Validate the chosen configuration on a stretch not used while optimising.

05 Find out since when it has run unchanged Not measured

The history does not say since when the robot has run with unchanged settings: without that date the best possible class is B.

  • Ask the provider since when the settings have not changed and declare it as the out-of-sample start: what follows is measured as unseen data.
  • Ask for the backtest of the same robot and upload it with the account: the report compares the two trade by trade.

The account's real money

The percentage gain track-record sites show takes deposits and withdrawals out. Here it sits next to the money the account made or lost by trading, deposits made in a deep drawdown, and positions still open when the history was printed.

14%

Percentage gain, as track-record sites show it. Measured

-744.53

Trading result, in money, on 5,000.00 deposited. Measured

24%

Open loss over the balance when the history was printed. Declared

MetricValueEvidenceNote
Deposits2Measured
Money deposited5,000.00Measured
Withdrawals1Measured
Money withdrawn600.00Measured
Trading result, in money-744.53Measuredclosed trades after commission and swap, in the account currency
Percentage gain14.11%Measuredtime-weighted: deposits and withdrawals are taken out, as track-record sites compute gain
Result on the money deposited-14.89%Measuredtrading result / money deposited
Share of deposits withdrawn12.00%Measuredwithdrawn / deposited
Deposits after trading began1Measured
Deposits in a deep drawdown1Measured
Floating result when printed-888.84Declaredthe platform's own summary at the time of the statement
Floating result / balance-24.32%Declaredfloating result / balance rebuilt from the file's deposits, withdrawals and closed trades (the file prints no balance)

Deposits after trading began, largest first

DateAmountBalance beforeDrawdown then
2026-03-204,000.001,486.76-27.80%

Read from the file as uploaded; nothing was checked with the broker.

Stress tests: without the best outcomes

We remove the best periods and trades from what you uploaded and measure what is left. If the total falls to zero or below, it rests on a few events that may not repeat. This is not a forecast.

7 of 8 scenarios end at zero or below.

On the curve (compounded total return)

ScenarioLeftChangeStill above zero?
Original Measured14.1%
Without the best 1 % of periods (3)2.2%-11.9%Yes
Without the best 5 periods-3.0%-17.1%No
Without the best 10 periods-12.8%-27.0%No
Without the best month (2025-10)-6.4%-20.5%No

On the closed trades (net result after commission and swap)

ScenarioLeftChangeStill above zero?
Original Measured-744.53
Without the best trade-837.93-93.40No
Without the best 5 trades-1,046.25-301.72No
Without the best 10 % of trades (35)-1,850.60-1,106.07No
Without the best month (2026-07)-1,002.75-258.22No

What living through this history was like

A total and a maximum drawdown do not say what the history was like to live through: how long it went without a new high, how long the worst fall took to come back, and what the worst day and month were. These are the numbers that make people switch a system off.

182 days

Time without a new high since 18 Mar 2026: still open at the file's end Measured

85 days

Worst fall: days from the high (18 Mar 2026) to the low (11 Jun 2026) Measured

not back

Days from that low back to the high Measured

-28.2%

Worst day (19 Mar 2026) Measured

-26.5%

Worst month (Jun 2026) Measured

77%

Months that ended up (10 of 13); longest run of losing months: 1 Measured

-5.6%

Average return per day in the worst 5 % of days (13 of 258) Measured

The worst fall is not regained by the file's last date.

The deepest falls Measured

FallHigh to lowBack at the highTotal length
-45.1%18 Mar 2026 → 11 Jun 2026 (85 days)still open182 days

Each fall runs from the last point at a high to its lowest point and ends on the first date back at that high. One not back by the file's last date is still open.

The curve is rebuilt from closed trades: open losses do not show, so the real falls lasted and measured at least this much.

Calendar days from the uploaded equity curve; months from each month's last point.

When it wins and when it loses

Your trades grouped by entry day and time. If nearly all the result comes from one day or one session, a change of server time, holidays or news can erase it.

Entry dayTradesNet resultWin rate
Monday73-224.4773%
Tuesday67-313.4370%
Wednesday69-451.2770%
Thursday61-171.6974%
Friday74+416.3373%
Entry timeTradesNet resultWin rate
00:00–03:5952-84.9883%
04:00–07:5972-192.1967%
08:00–11:5962-72.3071%
12:00–15:5963-303.1070%
16:00–19:5964-29.0070%
20:00–23:5931-62.9674%

Entry times as the file states them (platform or server time); net result after the fees the file itemises per trade.

Did its average return change at some point?

We look for the moment the curve's average return changed most and measure whether that change is larger than the normal swing of its returns (a CUSUM test that allows for one return influencing the next). It does not change the class.

Changed The average return changed around 18 Mar 2026 (probably between 12 Nov 2025 and 22 Jul 2026): +149.4% a year before and -99.2% a year after. With p = 0.038, chance alone is unlikely to explain a difference like this.

+149.4%

Average return a year before 18 Mar 2026 (90 % band: +117.7% to +181.1%) Measured

-99.2%

Average return a year since 18 Mar 2026 (90 % band: -232.5% to +34.1%) Measured

CUSUM of the returns in time order (Ploberger and Kramer); cautious long-run variance; p-value from the Brownian bridge.

How did it do in calm and in turbulent markets?

Each return in the file is placed by the VIX (how much the options market expects the S&P 500 to move over the next month) at the close of the market day before it starts: a calm market below 20, a turbulent one from 20. Since 1990 the VIX has closed at 20 or more on about one day in three. Period: 2025-09-19 to 2026-09-16. Measured

Calm market (VIX < 20)Turbulent market (VIX ≥ 20)
Share of the time80%20%
Returns counted20751
Return per month (compounded)3.69%-8.47%
Sharpe (return per unit of risk)1.60-1.16

The gap in mean return between the two columns (0.80 standard errors) is not enough to say it behaves differently depending on the market. Measured

VIX: public data from FRED (series VIXCLS, from CBOE) read when the report was made. It measures US equities: if the strategy trades another market, read it as a general gauge of fear in markets. It does not change the class.

What was the account worth in your currency and after inflation?

The curve's levels, in dollars, converted at each day's exchange rate (the Federal Reserve's New York noon buying rate), from 2025-09-19 to 2026-09-16. If you live in another currency, this is what the account was worth in it. The difference from the dollar row comes from the exchange rate, not the strategy: when the dollar rises against your currency the result in it rises, and when it falls, it falls. Measured

The file does not say which currency the account is in, so it is read as dollars. If it is not, this section does not apply.

CurrencyTotal returnA yearWorst fall
Dollars (the account)+14.1%—-45.1%
Dollars after US inflation (prices through 2026-08)+10.6%—-45.7%
Mexican pesos (MXN)+6.4%—-46.5%
Mexican pesos (MXN) after its own inflation+2.9%—-46.6%
Brazilian reais (BRL)+10.2%—-46.3%
Brazilian reais (BRL) after its own inflation+5.4%—-47.1%
Euros (EUR)+16.2%—-45.2%
Euros (EUR) after its own inflation (prices through 2026-08)+12.7%—-45.7%
Pounds sterling (GBP)+14.4%—-45.3%
Pounds sterling (GBP) after its own inflation (prices through 2026-08)+11.0%—-46.1%
Japanese yen (JPY)+19.7%—-46.1%
Japanese yen (JPY) after its own inflation (prices through 2026-08)+17.2%—-47.0%
Canadian dollars (CAD)+15.5%—-43.9%
Canadian dollars (CAD) after its own inflation (prices through 2026-08)+12.1%—-44.5%
Swiss francs (CHF)+17.6%—-44.5%
Swiss francs (CHF) after its own inflation (prices through 2026-08)+16.1%—-44.9%

US inflation over those dates was +3.1% in total. Measured

The rows "after its own inflation" divide by each country's official consumer price index of each month, or that of the latest month published; a currency without a current official index shows only its row before inflation. The return a year is shown from one year of history. Exchange rates and US prices from FRED, read when the report was made. It does not change the class. Consumer prices: Mexican peso, Source: INEGI, Índice Nacional de Precios al Consumidor (INPC), used here to take inflation out of the balances; real, Banco Central do Brasil (IBGE's IPCA); euro, Eurostat (through FRED); pound, Office for National Statistics, licensed under the Open Government Licence v3.0; yen, created by editing Japan's Consumer Price Index (Statistics Bureau, Ministry of Internal Affairs and Communications), through e-Stat; Canadian dollar, Bank of Canada (Statistics Canada's CPI, available free of charge at bankofcanada.ca); Swiss franc, Eurostat's harmonised index.

How it behaves after losing

What a trading journal would tell you: whether losses are held longer than gains, whether a new trade follows a loss quickly, and how trades do after a losing streak. It does not change the class: these are questions to ask.

To ask
  • Losing trades stay open much longer than winning ones.

    Ask where the stop is and whether it moves.

  • It wins less often after a losing streak.

    Ask whether size or rules change during those streaks.

2.9×

How long a losing trade lasts against a winning one (median: 38.0 h against 13.0 h) Measured

34%

Win rate after 2 losses in a row (29 trades; whole history: 72%) Measured

Closed trades by entry and exit time; net result after the fees the file itemises.

Does it work on each instrument?

When a robot or a signal trades several markets, the total can come from one of them while the others lose. It does not change the class: these are questions to ask.

InstrumentTradesNet resultWin rate
EURUSD180+1,152.1678%
GBPUSD164-1,896.6965%

Closed trades by the instrument the file names; net result after the fees the file itemises.

Trade statistics

At the same share of losing trades and in random order, the longest losing run is typically 4 in a row, and 1 history in 20 reaches 6. This history had 12. Measured

The losses came closer together than chance explains: a run like this shows up in fewer than 1 in 20 random orders. It usually points to losses that depend on the kind of market, or to positions open at the same time.

How much of this could be chance?

With 344 trades, every figure has a margin. 95 % range: the underlying values consistent with these trades, if each is independent of the others and the system did not change. It is not a prediction.

66.83% – 76.30%

Win rate Measured

-6.01 – 1.68

Expectancy per trade Measured

0.56 – 1.33

Profit factor Measured

The range of the average per trade or of the profit factor includes break-even (0 and 1): with these trades the system cannot be told apart from one that neither wins nor loses per trade.

MetricValueEvidenceNote
Trades344Measured
Win rate71.80%Measuredshare of trades with a net profit after the fees the file itemises
Gross profit of winners2,575.81Measured
Gross loss of losers-3,126.84Measured
Commission and swap193.50Measuredcommission and swap as reported, a positive cost
Net result-744.53Measuredgross pnl minus reported fees
Expectancy per trade-2.16Measuredaverage net result per trade, account currency
Win rate before fees73.26%Measuredshare of trades with pnl > 0
Profit factor0.82Measuredgross profit / gross loss, before commission and swap; a platform that counts them inside each trade can show a slightly lower figure
Average win10.22Measured
Average loss-34.36Measured
Average win / average loss0.30Measuredaverage win / average loss
Share of the largest win3.63%Measuredlargest single win / gross profit
Most consecutive wins13Measured
Most consecutive losses12Measured
Typical longest losing run by chance4Measuredmedian longest losing run when trades lose as often as these, in random order
Longest losing run by chance, 1 in 206Measuredlongest losing run chance reaches once in twenty, at the same loss rate
Chance of a run this long0.0017%Measuredchance of a losing run at least this long, at the same loss rate
Mean hours per trade37.69Measured
Median hours per trade20Measured
SQN-0.4441Measuredsqrt(min(N, 100)) x mean / std of per-trade gross pnl
Trades per month29.15Measuredfirst entry to last exit

Long

MetricValueEvidenceNote
Trades155Measured
Win rate80.00%Measured
Net result1,014.26Measuredafter the fees the file itemises per trade

Short

MetricValueEvidenceNote
Trades189Measured
Win rate65.08%Measured
Net result-1,758.79Measuredafter the fees the file itemises per trade

Resampled one-year risk

Open losses The file shows the balance only, and the red flags found open losses the balance hides (Hidden floating drawdown). They are not counted here, so these figures come out optimistic: do not decide with them without the equity curve with floating results.

35.63%

Maximum drawdown over one year · p50 Measured

66.14%

Maximum drawdown over one year · p95 Measured

76.07%

Maximum drawdown over one year · p99 Measured

Probability of a fall of at leastIn the simulations of the history
10%96.20% Measured
20%88.15% Measured
30%60.40% Measured
50%21.70% Measured

Time in a row below the peak in the simulations, counted in trading days: median 120 Measured, in 1 of every 20 248 Measured

Assumptions:

  • Resampled estimate from the supplied history: it is not a prediction.
  • It assumes the future resembles the history; if the market changes, it no longer holds.
  • A curve of daily closes does not show floating drawdown within the day.

What is left once luck is discounted?

The more configurations are tried, the higher the best one comes out even when none has an edge. Here the file's Sharpe sits next to what pure luck would give with the configurations counted, using the published math of Bailey and López de Prado and of Harvey and Liu. It is the same calculation that decides the "Number of settings tried" dimension, in numbers.

The files do not say how many configurations were tried before this one was picked. The table shows how much history each search size would need: ask the vendor.

The file's Sharpe: 0.57. History: 12 months. Measured

Configurations triedSharpe luck would showHistory neededIs this history enough?
101.9411.6 yearsno
1003.1130.1 yearsno
1,0004.0149.8 yearsno

With under a year of history, an annualised Sharpe moves a lot on little data: read it as an order of magnitude.

E[max Sharpe] of unskilled trials (Bailey & Lopez de Prado); minimum backtest length (Bailey, Borwein, Lopez de Prado & Zhu); Bonferroni haircut (Harvey & Liu).

How much capital it needs, at what size

Not measured The trades overlap as a grid or with hidden open losses, so closed trades understate the real fall.

What to do: Upload an equity curve that includes open trades or the platform report with its equity drawdown.

Prop-firm challenge simulator

Rules simulated: Generic · Two-step evaluation, phase 1. Generic reference rules, not any one firm's terms.

Open losses The file shows the balance only, and the red flags found open losses the balance hides (Hidden floating drawdown). They are not counted here, so these figures come out optimistic: do not decide with them without the equity curve with floating results.

OutcomeIn the simulations of the history
Reaches the target68.44% Measured
Breaks the daily loss limit31.56% Measured
Breaks the total loss limit0.00% Measured
Does not reach the target within 250 business days (the simulation's cap; the rules set no deadline)0.00% Measured
67.1% – 69.7%

95 % interval of reaching the target Measured

19 / 25 / 32

Business days to the target (p25 / p50 / p75) Measured

How much does it change with what this report found?

The same program (Generic · Two-step evaluation, phase 1), resampled the same way, on different stretches of the history or with what the report discounts. These are scenarios of the same history, not predictions: if the figure drops sharply out of sample or with costs, the full-history figure is optimistic. Measured

ScenarioDays of dataReaches the target in every phaseWhat stops it most
Full history (the figure above)25868%Breaks the daily loss limit
In-sample only—Not measured no out-of-sample start declared
Out-of-sample only—Not measured no out-of-sample start declared
With the reference cost (0.5 bps per side) Not measured—Not measured deposits or withdrawals inside the history: the curve is an index, not money
With the luck discounted—Not measured trial count not declared: the haircut needs to know how many configurations were tried

The same optimistic figures as above apply to this table: the balance hides open losses.

At what size? The challenge at 0.5x, 1x, 1.5x and 2x

The same program as the ladder (Generic · Two-step evaluation, phase 1), at another size. In each row, reaching the target, breaking a loss limit and not reaching the target within the cap share out all the simulations, counting every phase. The table shows what changes with the size; it advises none. “Reaches the target” counts only what gets there within that cap, which the simulation sets and the rules do not. At a smaller size the target takes longer: the simulations that move to “does not reach” ran out of days; they did not break a loss limit, which has its own columns. Measured

1x is the size of the history you uploaded: each simulated day gains or loses the same share of the balance as a day of the file. 0.5x is half that size and 2x is double. The shares at 1x are measured on the file's starting balance (1,000). Declared

Lot or risk per trade at 1x: Not measured the audit keeps neither the lot nor the stop loss of each trade, so the lot or risk per trade at 1x is not known

The simulated rules fix no account size: they are shares (of the starting balance or of the day's), so the table does not depend on the account size.

SizeReaches the target in every phaseBreaks the daily loss limitBreaks the total loss limitDoes not reach the target within 250 business days (the simulation's cap; the rules set no deadline)
0.5x50%50%≤1%0%
1x68%32%0%0%
1.5x76%24%0%0%
2x80%20%0%0%

Method and assumption: the ladder's full-history row with every daily return multiplied by the size; it assumes that changing the size scales every daily return in the same proportion, as linear leverage does when the costs grow in proportion to the size (the same cost per lot) and the execution does not worsen with more volume.

The same optimistic figures as above apply to this table: the balance hides open losses.

  • Reference rules typical of two-step evaluations; not any one firm's terms.

Assumptions:

  • Resampled estimate from the supplied history: it is not a prediction.
  • Daily data cannot see intraday floating drawdown, so the estimate is optimistic against the daily and total limits.
  • It assumes the future resembles the history and that every day with a non-zero return counts as a trading day.

Which firm's rules does your history fit?

The same history, resampled the same way, under each firm's published rules, from most to least likely to pass every phase of the program within the best-day rule, where the firm has one; ties go by name. It compares rules; it does not recommend buying any challenge. Measured

Figures from the full history without the reference cost; the ladder above shows how much they change.

The same optimistic figures as above apply to this table: the balance hides open losses.

ChallengePassesPasses within the best-day ruleWhat stops it most
Topstep · Trading Combine 100K
1 phase
77%70%Breaks the total loss limit
Topstep · Trading Combine 150K
1 phase
77%70%Breaks the total loss limit
Topstep · Trading Combine 50K
1 phase
77%70%Breaks the total loss limit
The5ers · Hyper Growth
1 phase
68%no ruleBreaks the total loss limit
FundedNext · Stellar 1-Step
1 phase
67%no ruleBreaks the daily loss limit
FTMO · FTMO Challenge 1-Step
1 phase
67%62%Breaks the daily loss limit
FundedNext · Stellar Lite
2 phases
58%no ruleBreaks the daily loss limit
FundedNext · Stellar 2-Step
2 phases
56%no ruleBreaks the daily loss limit
The5ers · High Stakes
2 phases
53%no ruleBreaks the daily loss limit
FTMO · FTMO Challenge 2-Step
2 phases
53%no ruleBreaks the daily loss limit
The5ers · Bootcamp
3 phases
45%no ruleBreaks the total loss limit

Questions to ask the vendor

  1. Is this the only account running this strategy? Ask for the accounts that were closed or restarted too: showing only the one that went well is common.
  2. Ask for the backtest of the same robot with the same settings: uploaded together with this account, the report compares the two trade by trade.
  3. Losing trades last longer than winners: how does the system decide to close a loss?
  4. What does the system do after several losses in a row: change size, pause, or enter again straight away?
  5. Ask for the (floating) equity curve, not only the balance: the balance hides open losses.
  6. Does the robot increase size after a loss? What is the largest size it can open?
  7. Does the robot add positions against the move when price moves away? How many at most?
  8. Ask for the full history with every deposit and withdrawal: how much money was deposited in total, when, and how much was withdrawn?
  9. Which positions are still open, since when, and with what floating loss?
  10. The history has jumps, gaps or repeated values: where does the data come from and how was it cleaned?

Message for the seller

To paste in the MQL5 chat, on Telegram, in an email or wherever you talk to the seller: the class, a few key figures with their tag and the questions above, in one text.

Technical detail by dimension

DimensionStatusReasons
Statistical significanceFailPSR 0.677 < 0.8; bootstrap p5 Sharpe <= 0
Number of settings triedWeakDSR 0.677 between 0.5 and 0.95 with 1 trial not declared (the most favourable case)
CostsFailnet pnl at 1x the reference cost is -997.86 <= 0
Out of sampleNot measuredno out-of-sample start declared
Data quality and trading patternWeakDeposits in a deep drawdown; Open loss the balance does not show; The percentage gain does not reflect the money; Grid or averaging down; Hidden floating drawdown; Extreme jumps; Many positions open at once; Size grows after losses (martingale)
BenchmarkNot applicableclient declared no applicable benchmark

Thresholds applied: PSR to pass 0.95 · minimum PSR 0.8 · DSR to pass 0.95 · minimum DSR 0.5 · maximum PBO 0.5 · cost multiple it must withstand 3 · minimum out-of-sample Sharpe 0.5 · maximum out-of-sample Sharpe drop 1 · maximum drawdown versus the benchmark (times) 1

Annualised performance

MetricValueEvidenceNote
Total return14.11%Measured
Compound annual return—Not measuredunder a year of history; annualising it would exaggerate
Annual volatility40.98%Measured
Sharpe0.5652Measured
Sortino0.5914Measured
Maximum drawdown-45.10%Measured

Statistical significance

MetricValueEvidenceNote
Observations258Measured
Sharpe per period0.0350Measured
Skewness-8.43Measured
Kurtosis83.88Measured
Probabilistic Sharpe (PSR)68.75%MeasuredP[true Sharpe > 0] given length, skew and kurtosis
Minimum track record needed2,913Measuredobservations needed for PSR to reach 0.95
Observations missing2,655Measured

Sharpe corrected for autocorrelation (Lo, 2002): 0.49, against 0.57 from the plain calculation. Returns of nearby periods tend to move together: the plain Sharpe comes out inflated. Measured

When the returns are not taken as independent of each other, the Sharpe's variance grows 1.1 times: the probability that the true Sharpe is above zero goes from 68.75% to 67.70%. Not even ten times the 258 returns it has would take it to 95%. It is informational: the class uses the plain count. Measured

Multiplicity (number of trials)

Trials used in the deflated Sharpe: 1 Not measured not declared; computed with 1, the most favourable case

MetricValueEvidenceNote
Trials used1Not measurednot declared; computed with 1, the most favourable case
Sharpe variance used0.0058Measured
Sampling-error floor0.0058Measuredsampling variance of the Sharpe estimator
Variance increase from dependence1.13Measuredhow many times the Sharpe's variance grows when the returns are not taken as independent (1 means no change)
Effective observations after dependence228Measured
Observed across variants—Not measuredno variants uploaded
DSR at the trials used67.70%MeasuredPSR against E[max Sharpe] of 1 trial, not declared; computed with 1, the most favourable case
Trials that bring DSR to 0.52Measuredsmallest power-of-two trial count with DSR < 0.5

Variance used: the larger of the one observed across the variants you uploaded and the one sampling error produces.

trialsExpected max Sharpe without skillDeflated Sharpe (DSR)
1067.70%
50.091023.17%
200.14507.48%
1000.19301.92%

Stationary bootstrap (per period)

Stationary block bootstrap, resamples: 500 · block 20

Estimatep5p50p95
Sharpe per period0.0350 Measured-0.0660 Measured0.0349 Measured0.2727 Measured
Total return14.11% Measured-52.88% Measured13.67% Measured130.15% Measured

Declared out-of-sample

Not measured no out-of-sample start declared

Trading costs

MetricValueEvidenceNote
Reference cost (bps per side)0.5000Not measuredassumed slippage: no cost was declared; charged on top of the fees the report itemises
Break-even cost (bps per side)-1.47Measuredextra cost per side, on top of the report's fees, at which the ledger nets to zero
Break-even cost multiple-2.94Measured
Break-even cost (per lot and side)—Not measuredthe money per lot is given only for MetaTrader 4 and 5 reports, whose volume column is the platform's lots
Multiplierbps per sideGrossCostNetWin rateTrades
0x0.00-551.03193.50-744.5371.80%344
1x0.50-551.03446.83-997.8670.93%344
2x1.00-551.03700.17-1,251.2070.06%344
3x1.50-551.03953.50-1,504.5368.02%344

In pips, by symbol

the whole history's break-even and reference costs per side, converted to pips at each symbol's median entry price; not a break-even computed from that symbol's trades alone

SymbolMedian entry priceBreak-even cost (pips per side)Reference cost (pips per side)
EURUSD1.09986-1.62 Measured0.55 Not measured
GBPUSD1.28383-1.89 Measured0.64 Not measured

Costs the report itemises

MetricValueEvidenceNote
Commission-146.72Measuredsigned total the report itemises; negative is a cost
Swap-46.78Measuredsigned total the report itemises; negative is a cost

Supplied benchmark

Not measured no benchmark uploaded

Combinatorially symmetric cross-validation (CSCV) overfitting

Not measured no variants uploaded

Sub-periods (calendar years)

YearReturnMax drawdown
202556.09%0.00%
2026-26.89%-45.10%

Rolling windows

WindowMin returnMin drawdownShare negative
65-44.55%-45.10%64.95%

Red flags

  • Warning
    Extreme jumps

    2 single-period moves are extreme outliers; check for bad prints.

    MAD_SPIKES

  • Warning
    Size grows after losses (martingale)

    After a loss the next trade is typically 4.25x the size used after a win.

    MARTINGALE_SIZING

  • Warning
    Grid or averaging down

    135 of 344 trades (39%) were opened against an open position at a worse price.

    GRID_AVERAGING

  • Warning
    Many positions open at once

    Up to 6 positions were open at once on one symbol.

    MANY_CONCURRENT_POSITIONS

  • Warning
    Hidden floating drawdown

    The curve is rebuilt from closed trades while positions overlapped; floating losses of open positions are not visible in it.

    HIDDEN_FLOATING_DRAWDOWN

  • Warning
    The percentage gain does not reflect the money

    The time-weighted gain is 14% while trading made -744.53 on 5,000.00 deposited; deposits and withdrawals shape the percentage.

    GAIN_INFLATED_BY_FLOWS

  • Warning
    Deposits in a deep drawdown

    1 deposit arrived while the account was at least 20% below its peak.

    DEPOSIT_DURING_DRAWDOWN

  • Warning
    Open loss the balance does not show

    Open positions carried a floating loss of 24% of the balance when the statement was printed; the balance does not show it.

    FLOATING_LOSS_AT_END

Audited files (sha256)

report.csv4c6b8aad0b4eb3ba8dfd40bf8c00c69cd0c55068676adb90dd039844422e3f48
Dataset digestdfbddf979ee86906b37cad4babbb2a499371d846313f0c0ab384a4245626a003

2025-09-19 → 2026-09-16 · daily (trading days) · 258 observations · equity curve

Parse warnings

  • report: contract size inferred from reported profit: EURUSD x100,000, GBPUSD x100,000
  • report: deposits or withdrawals were removed: the curve is a flow-adjusted index that starts at the initial balance
  • report: the file's times carry no timezone (platform or server time); they were read as UTC
  • report: the balance curve is built from closed trades only; it does not show floating (open-trade) drawdown, so the real drawdown was at least as deep

File format: Myfxbook (CSV)

Figures the platform states Declared

Floating P/L-888.84
End2026-09-16
Start2025-09-22
SymbolEURUSD, GBPUSD

What Rigor checked in the file Measured

Reconstructed final balance3,655.47
Balance cells that do not match0
Largest balance difference0.00

Declared by the client

MetricValueEvidenceNote
Trials—Not measurednot declared; computed with 1, the most favourable case
Cost per side (bps)0.00Not measureddefault value, not declared
Out-of-sample start—Not measurednot declared
Benchmark appliesnoDeclared
Initial balance—Not measurednot declared
Whose strategy it isI bought it or am about to buy / copy itDeclared

No strategy description was written.

Not measured

  • Declared out-of-sampleNo out-of-sample start declared.
  • Supplied benchmarkNo benchmark uploaded.
  • Combinatorially symmetric cross-validation (CSCV) overfittingNo variants uploaded.

Declared holdout seal

Not measured no out-of-sample start declared

Check it yourself

Download this sample's PDF and upload it to 'Check a report'. The page computes the file's SHA-256 fingerprint and says whether it left Rigor like this: with this PDF you will see that it is the sample report and that it was not edited. With the PDF or JSON of a client's report it also shows the date Rigor issued it and, when it is on record, its class.

Notice. This audit is a statistical research tool applied to client-supplied data. It is not investment advice, executes no trades, holds no funds or keys, and does not predict future results. Every value carries its evidence tag: Measured was computed from the file, Declared was asserted by the client and could not be verified, Not measured could not be computed from what was supplied.

sha256 of the audit JSON27422d2062fcd67eb158a664fee60b8277a9ddf291c4e93f4c07b400b1ee1fe7

Rigor · Independent statistical audit of backtests and track records