How It Works
Upload your backtest. Get a score in under 30 seconds.
No setup and no statistics degree. Upload the file your platform already produces. We run the math and tell you what it found, including the parts you were hoping it would not find.
Step 1. How do I export my backtest?
There are three ways in: a TradingView XLSX export, a MetaTrader 5 Strategy Tester report, or a CSV trade log from anything else. All three run the same eight tests.
From TradingView. The Strategy Tester export needs a Plus ($28.29/month) or Premium ($49.95/month) account:
1
Open Strategy Tester
Load your strategy in TradingView and open the Strategy Tester panel at the bottom of the chart.
2
Click the strategy name dropdown
In the top-left of the Strategy Tester panel, click the arrow next to your strategy name.
3
Choose "Download data as XLSX"
Pick XLSX, not CSV. The XLSX has five sheets, and one of them is the full trade log we need.
4
Upload it without touching it
Do not open and resave the file. Excel and Google Sheets can quietly rewrite the formatting. Send the original.
From MetaTrader 5. We read the report the Strategy Tester already makes for you:
1
Run your backtest in the Strategy Tester
Run your expert advisor in MetaTrader 5’s Strategy Tester as usual.
2
Save the report
Right-click inside the Backtest results tab and choose "Report". MT5 writes an HTML report file (.htm). Do not open or edit it first.
3
Bring the report to OverfitCheck
Our parser reads the report’s Deals table, pairs each entry deal with its exit, and computes net P&L as profit plus commission plus swap. Then it checks every parsed trade back against the report’s own balance column. Validated to the cent on six real reports. See the export guide for the current MT5 upload path.
From any other platform. QuantConnect, NinjaTrader, or a Python backtest you wrote yourself: export a CSV with at least a trade identifier, an entry date, and a P&L column. Column names are fuzzy-matched, so “Profit/Loss”, “P&L”, and “net_pnl” all land in the right place. Full column reference in the CSV format guide; platform-specific steps in the export guide.
Here is what the parser actually reported on one real MetaTrader 5 file, the retired strategy you can inspect line by line on the demo page:
// step 1 output: a real MetaTrader 5 Strategy Tester report
file report.htm // Strategy Tester export, UTF-16
deals_table read ok
trades_paired 581 // entry deals matched to their exits
net_pnl_rule profit + commission + swap
profit_factor 1.24
columns_mapped 9 / 9 // names fuzzy-matched
balance_check reconciled to the cent
// nothing is estimated at this stage. if a trade cannot be
// read, the upload fails and tells you which row broke.
Step 2. What goes in the upload form?
Four fields. None of them are guesses. You already know these numbers from your own development process.
1
Strategy name
Any name that helps you find this audit later. Display only.
2
Number of configurations tested
How many parameter combinations did you try before settling on this one? Be honest. This number feeds the Deflated Sharpe calculation directly. If you tested 50 and kept the best, enter 50.
3
Asset class
Futures, forex, crypto, or equities. Sets the slippage and commission estimates for the transaction cost analysis.
4
Platform
TradingView, MetaTrader 5, QuantConnect, or CSV. Tells the parser what file structure to expect.
What the trials field does to your score. The two sample audits on the
demo page show it. One reports 1 configuration tested: the Sharpe it has to beat is 0.00, its Sharpe of 1.42 clears that easily, and the Deflated Sharpe test passes at 98.8%. The other reports 25: the bar rises to 2.48, its Sharpe of 2.08 falls short, and the test takes 20 points off at 43.7%. Same math, same engine. The only thing that changed was the number in this box.
What happens when you upload
Processing takes 5–30 seconds depending on trade count. That is a measured claim, not a hopeful one. In our calibration run, six real backtests of 164 to 1,111 trades each finished the full pipeline in 12.6 to 23.2 seconds, and the engine graded them in the exact order their known real-world quality demanded. Here is what runs:
Parse
Trade extraction
We read the trade log, strip currency symbols and number formatting, and pull the P&L of every completed trade.
Validate
Data quality check
We check that you have at least 10 completed trades, that dates run in order, and that nothing is obviously corrupted. If something fails you get a specific message, not "an error occurred".
Analyze
8 statistical tests
All 8 tests run in parallel. PBO runs 12,870 CSCV splits. Monte Carlo runs 10,000 permutations. Walk-forward holds out 30% of your trades. Each test returns a number and a 95% confidence interval around it.
Score
Score calculation
Each test deducts points from a starting 100. PBO and Walk-Forward can take the most, up to −35 each. What is left is your score.
Explain
AI interpretation
Claude (Anthropic) reads the raw statistical output and writes what it means for your strategy in particular, not in general.
Store
Saved to your library
The full results go to your strategy library. Change something, run it again, and compare the two.
This is what comes out the other end. The numbers below are from a real audit: the same retired strategy from Step 1, which you can open on the demo page.
// sample verdict: the real retired strategy from the demo page
// MT5 report · 581 trades · profit factor 1.24
overall_score : 45 / 100
grade : C · significant problems found
verdict : Do not trade live without major revision
// ── test results ─────────────────────────
✓ monte_carlo_p 0.016 // real edge: 1.6% of shuffles beat it
✓ sample_size 581 // enough trades at one reported trial
✓ deflated_sharpe 98.8% // clears the one-trial threshold
! pbo_proxy 0.49 // single-config mode: limited info (−20)
! walk_forward 0.55 // kept 55% of Sharpe on unseen data (−15)
✗ regime_concentr 75% // of profits in top quarter of periods (−20)
score_math 100 − 20 − 15 − 20 = 45
How do I read my results, and where are they kept?
The results page has two parts. A sidebar with your overall score, and a main panel with all eight tests. Each test shows a PASS / WARN / FAIL badge, the number behind it, the points it took off, and what that means in plain English.
The score runs from 0 to 100. It grades the quality of your backtest evidence. It does not grade your future returns. A high score does not mean the strategy will make money.
A75–100Statistically solid. Worth considering for a small live test.
B55–74Proceed carefully. Look at the flagged issues before going live.
C35–54Significant problems. The strategy needs revision first.
F0–34Do not trade this live. The math does not support it.
The disclaimer stays. The legal disclaimer at the bottom of every results page is not optional and not collapsible. Passing these tests on historical data does not predict live trading outcomes. The score is a tool for your own decision. It is not a recommendation to trade.
Your strategy library. The dashboard keeps every audit you have run with its number, grade, and upload date. Free accounts get 3 lifetime audits. After that a second-opinion report is $49 and buys one more, with the PDF included. There is no subscription.
Each audit is stored separately, so running the same strategy again after a change gives you a before and after. That is the fastest way to find out whether your fix improved the evidence or just moved the failure somewhere else.
Frequently asked questions
Do you store my strategy data?+
Yes, for a while. Your uploaded file and trade data are kept for 30 days after your last activity, and you can ask for deletion at any time from your account page. Your strategy data is never used to train AI models, never shared with third parties, and never sold. The plain-English analysis is written once, at upload time, using Claude (Anthropic). After that we do not send your data to the AI API again.
What if I have fewer than 30 trades?+
You can run the analysis with as few as 10 trades, but expect warnings on most tests. The sample size test will say plainly that your results are underpowered. In practice 30 to 50 trades is where the other tests start to mean anything. We would rather tell you that than hand you a score that looks authoritative on thin data.
Can I upload from MetaTrader 5?+
Yes. Run your backtest in MT5's Strategy Tester, right-click the Backtest results tab, choose "Report", and MT5 saves an HTML report file. Our parser reads the report's Deals table and checks every parsed trade back against the report's own balance column. Validated to the cent on six real reports. See the export guide for the current MT5 upload path.
What happens after the 3 free audits?+
You buy a second-opinion report, $49, which is one more full audit: all 8 tests plus the PDF. It does not expire, and it is only spent when an audit finishes successfully, so a failed upload never costs you anything. There is no subscription and nothing renews.
Can I upload from QuantConnect?+
Not natively yet. Export your QuantConnect backtest as a CSV and upload that instead. The columns we need are trade_id, entry_date, and pnl, or anything close to them, since we fuzzy-match names. QuantConnect-native import is planned for V1.5.
How is this different from pasting my data into ChatGPT?+
ChatGPT does not implement PBO/CSCV, the Deflated Sharpe Ratio, or the Minimum Backtest Length formula. Those are specific algorithms from published papers, run against your full trade sequence rather than a summary. It also cannot run 12,870 CSCV splits or 10,000 Monte Carlo permutations inside a chat window. The explanation is the easy part. The math is the product.
What does a failing score actually mean?+
A failing score (F, 0 to 34) means the analysis found that your apparent edge is better explained by data-fitting, too few trades, one favorable market regime, or a lucky sequence of trades. It does not mean the strategy can never work. It means the evidence you have for it is weak. The individual test results tell you which part is weak, which is where the fixing starts.
Can I share my results?+
Yes. Each audit has a share toggle that creates a public link. Anyone with the link can read your results page without an account. Every audit is private until you turn that on.