Full-year money by version
Each version's money over the test period · hover a bar for detailsEvery version
Each version's resultsFavourite versions
Star any version on the Strategies page; it stays where it is there and shows up herePick the trades
The bot's own entries from a pass. The lab replays only the exits.
Add a trade set from a pass log
Split seen / unseen
The search chooses on the seen trades and is judged on the rest.
What to search
Stop = a multiple of the bot's own stop (1.0 = today). Everything else is in R, where 1R is the trade's starting risk.
Limits and start
Advanced
Exactly repeatable only with 1 worker. While MT5 is testing, the lab allows at most 12 h loaded and 2 workers, and stops itself if memory pressure leaves normal.
Runs and results
Everything in ~/QuantLab/resultsResult
Run
| # | Settings | Seen $ | Seen win | Unseen $ | Unseen win | Unseen losses | Max DD | Worst day |
|---|
Compare two versions
Same full year, same trades. Only the trades they handle differently are listed.| Time (UTC) | Trade | Dir | A | B | B − A | Why |
|---|
Trade microscope
One trade, minute by minute: price, the trade's R, and what the bot saw at that minute.| Time (UTC) | Price | R | Bot OF | Rev | Det | HQ | Blend | Agree | Urgency | Iceberg | Absorb | Book |
|---|
Strategy Tester
Runs the real MT5 tester on its own (no chart). Every number below is MT5's own report.Runs
Run
Lab replay and "MT5-proven"
The lab's fast replay (Strategies, Compare, Mechanisms) gets the label MT5-proven for a version only after an MT5 run of the same settings matches it trade by trade. That needs the version built into the EA as a research build; until then lab numbers are lab estimates.
Trade autopsy
Every trade a version takes: how it won or lost, which rule made or cost the money, and what price did after the exit.What each rule made over the year
Each rule switched off on its own, the year replayed, and the trade-by-trade money compared. Rules overlap, so these do not add up.
| Rule | Made | Version | Rule off | Trades changed |
|---|
Seeds: leads for hypothesis cards
Found by looking at trades, so they prove nothing yet. Make a card, register it, and test it on cases it was not found on.
Trades
| Time | Trade | Dir | Closed by | R | Money | Best | After exit | Category | Flags |
|---|
New hypothesis card
One mechanism, and the exact change that puts it into the version.Registry
Your ideas
Every version you load on Your trades is an idea here, with its result. Mark whether it worked and why not, so a failed idea can be fixed and tried again.Idea Library
Every idea tried, winners and failures alike, each with the result file that proves it. A failure keeps its reason, so it can be rebuilt, re-tuned or narrowed.Bench queue
Where each failed or open idea goes next.| Idea | What it is | Section | Result | Why it failed | Next bench |
|---|
Your trades
An MT5 Strategy Tester or history report (.htm), or a CSVCSV columns: open_time, close_time, side, volume, profit (comma or semicolon).
Your versions
Each file you load becomes a version. Tap a card to look at it on every tab; ☆ marks a favourite.
Challenge rules
Enter the firm's current rules. Results update as you type.The examples are typical shapes of challenge rules, not any firm's rules. Firms change their rules, so check yours.
Load trades on the Your trades tab first.
Load trades on the Your trades tab first.
Stress test
Does your result survive real-world conditions? Two checks: trading costs more than a test, and your best trades may not happen again. Every row is also checked against your Challenge rules.
Load trades on the Your trades tab first.
Tick replay
Your trades replayed on your own tick dataHow far each trade went for you and against you, what price did after you closed it, and what other exits would have made. Each what-if becomes a version you can check on every tab.
Load an MT5 report on the Your trades tab first: the replay needs each trade's entry and exit prices.
Tick files: an MT5 tick export (Symbols, Ticks, Export), a Dukascopy CSV, HistData ticks, or any CSV with a time, a bid and an ask column. Use ticks for the same symbol and dates as your trades.
What-if exits
Distances in price, e.g. 3.00 on gold is three dollars| What-if | Stop | Target | Trailing | Break-even at | Max hold (hours) |
|---|
Quant Scope
Every trade tagged with the conditions it was taken in, then tested: which conditions really cost or make moneyLeads
Conditions where money or losses differ from the other trades by more than luck explains (q 0.10). A lead is a clue to test, not a ruleHow the losing trades died
Known only after each trade: it explains a loss and points at the rule to fix, never at which trades to skipTrades
How the lab works
- The bot's entries stay fixed. The lab takes every trade the bot opened in an MT5 pass (a version's filters may skip some) and replays the exits on real tick data (100% real ticks).
- Sizing is the bot's. A tighter stop means more lots for the same money at risk, capped at 0.5% of the account open at once.
- Bigger money only. A change is accepted only if it makes more money on the seen trades AND the unseen trades AND in at least 4 of 6 time blocks. It is then re-measured tick by tick and stressed (stops fill late).
- Drawdown is shown beside the money. Floating drawdown counts open trades marked each minute, as prop firms do.
- The final word is a judge used once: a held-back period of trades that no search has seen.
Checking your own trades (Your trades, Challenge rules, Pass odds, Stress test)
- Results are hypothetical. They are calculated from your own past trades.
- Past results do not predict future results.
- Firms change their rules. Check your firm's current terms.
- This is not financial advice, and it does not promise that you will pass a challenge.
- Your file never leaves your device. Nothing is uploaded or saved; closing the page forgets it.
- Reading a report
- The deals in an MT5 report must add up to the report's own Total Net Profit, to the cent. A report that does not is refused, never shown.
- Daily loss
- Checked on closed days. A report has no intraday equity, so a day whose open trades dipped further than they closed is not seen.
- Days and months
- Follow the broker's server time, as written in the report.
- Rule check
- Your own days, in the order they happened, against the rules: passed, broken (which rule, which day), or not there yet.
- Pass odds
- Your trading days resampled 10,000 times in blocks of 5 days, so winning and losing streaks stay together, each run checked against the rules. They describe past results; they are not a promise.
- Stress test: extra cost per trade
- Every trade pays that much more, as real spread, slippage and commission would. The break-even cost is your average profit per trade: past it, the result turns negative.
- Stress test: without your best trades
- Your biggest winners removed, one group at a time, to show how much of the result rests on a few trades that may not repeat.
- Sample report and sample ticks
- Made-up trades and made-up prices, so you can see what each tool does before loading your own files. They are not real results.
- Static / trailing maximum loss
- Static: the floor stays at the start balance minus the limit. Trailing: the floor rises with the best balance reached.
- Consistency rule
- Some firms require that no single day makes more than a set share of the total profit.
Tick replay (your trades on your own ticks)
- What it needs
- An MT5 report (its deals carry each trade's entry and exit prices) and a tick file for the same symbol and dates. Both are read in your browser; nothing is sent anywhere.
- Pairing
- Each exit deal is matched to the oldest open entry of that symbol (first in, first out). A partial close splits the entry.
- Money per price move
- Taken from each trade itself: its profit divided by its price move and its lots. No contract sizes or exchange rates are guessed.
- Clock
- An MT5 report is in the broker's server time; tick files are often in GMT. Auto tries every whole-hour shift and keeps the one where the ticks match the report's own fill prices best, and shows how close the match is.
- Best for you / worst against
- While the trade was open: the furthest price went in its favour, and the furthest against it (MFE and MAE).
- Kept
- How much of the best price the exit kept: 100% means it closed at the best point.
- After exit
- The best price in the trade's direction over the 24 hours after it closed. Nobody catches the best point exactly; it shows how much room was left.
- Fill vs market
- Your fill compared with the tick price at that moment (buy at the ask, sell at the bid): + is better than the market, − worse.
- What-if exit
- The same entries with other exits: a stop, a target, a trailing stop, break-even, or a maximum time. Either your own exit stays and the rules can only close earlier, or the rules alone decide.
- How what-ifs fill
- A target fills exactly at its price, like a limit order. A stop, trailing stop or time exit fills at the tick that crosses it, so a jump in price fills worse, as in the market. Commission and swap are kept as the report charged them.
Words — trades and risk
- R
- The trade's starting risk at the bot's stop. +2R = twice the risk won.
- Stop multiple (0.2×)
- Where the lab puts the stop compared with the bot's own stop. 0.2× = one fifth of the distance, so 5× the lots for the same money at risk.
- Lock
- Once a trade is up by the trigger, the stop moves to the lock level, so that profit is kept.
- Trail
- The stop follows the trade's best price at a fixed distance.
- Late trail
- A trail that only starts after a number of hours in the trade.
- Time decay / non-mover close
- Close a trade that has not gone anywhere after a few hours.
- Max hold
- The longest a trade may stay open before it is closed regardless.
- ATR
- Average True Range: how far gold typically moves in one bar. Used to judge whether a stop or a move is big or small.
- Open-risk cap (0.5%)
- The bot's own rule: the money lost if every open stop were hit together may not pass 0.5% of the account. A new trade that would break it is refused.
- Money at the stop
- What one trade loses if its stop is hit.
- Hand-set
- A number a person chose with no evidence behind it. Every hand-set rule must be replaced by one the bot's own readings decide.
- Evidence-fed
- A rule whose number comes from data the real bot has, tested on months it was not chosen on.
Words — how a result is tested
- Tick-exact
- Replayed on every real price change (real tick data), not on bars, so stops fill where they really would.
- Full-year test
- The bot's MT5 entries over a full year, replayed in time order through one account, with settings unchanged during the replay. A version's filters may skip some entries. If the settings were chosen on this same year, the result is tuned (seen), not a test on unseen data.
- Seen / unseen trades
- Seen trades are the ones a setting was chosen on; unseen trades played no part in choosing it. Only the unseen ones prove anything.
- Choose and check
- Pick the setting on the first half of the year only, then check it once on the second half. A rule that wins only where it was chosen is rejected.
- Plateau
- The neighbouring settings must do almost as well (within 25%). A lone peak with a cliff next to it is luck, not an edge.
- Pre-registered
- The test, its tries and its pass marks are written down and committed before any result exists, so they cannot be bent to fit.
- Tries
- How many settings a test was allowed to try. Counted, because more tries make a lucky winner more likely.
- Cluster
- Trades the bot opened together on one signal (same direction, within a minute). "Without the best cluster" removes the single best one to see if the year still holds.
- Months up
- How many of the 12 months made money.
- Stress
- The same replay with stops filling late (a few price changes behind), to show what slippage would cost.
- Chance control
- The same test with the signal deliberately misplaced (e.g. moved by an hour). A real signal must clearly beat it.
- Recall / precision
- Recall: of the real events, how many a detector caught. Precision: of its alarms, how many were real.
- Look-ahead
- Using information from after the moment of decision. Forbidden: every reading must exist before the trade's fill.
- MT5 judge
- The final word: a full MetaTrader 5 Strategy Tester run with the settings built into the bot.
Words — the Idea Library
- Your ideas
- Each report you load becomes an idea, with its result. Mark which part of the strategy it changed, whether it worked and, if not, why. A failed idea kept with its reason can be fixed and tried again. Signed in, your ideas are saved and shown only to you.
- Idea Library
- Every idea ever tried, the ones that won and the ones that failed. Nothing is deleted: a newer result is added beside the old one.
- Evidence line
- Each idea quotes a line from its own result file. The library re-reads every file and flags any idea whose quoted line is not there.
- Result
- Held (passed its tests), failed, inconclusive (tested, but the tests disagree, for example good in one window and bad in another), info only (a study that measured something, with nothing to pass or fail), waiting (not tested yet).
- Why it failed
- A: the idea itself does not work. B: built wrong (a bug, or it does not match the bot). C: wrong threshold or setting. D: wrong place or time (it helps in some hours, directions or markets and hurts in others). E: too few trades to tell. Only A ends an idea.
- Dissection
- Every trade an idea changed, how much each change made, and where it helped or hurt: by direction, hour, the move before entry, and how long the trade was held.
- Benches
- Dissection; Mechanism (built right, matches the bot); Threshold (a better value, on a plateau); Settings (a narrower rule where it helps); Interaction (with the other rules); Robustness (late fills, other years).
- Test windows
- Every version and idea is judged on the same three windows from the first order-flow date: the first year, the first two years, and five years.
- Luck allowance
- About 1 in 20 tests passes by chance. The library counts every test and shows how many passes luck alone would give.
Words — drawdown
- Maximum closed-trade drawdown
- The deepest fall in the account counting only closed trades.
- Floating drawdown
- The deepest fall with open trades marked to the market every minute, as prop firms measure it.
- Worst day
- The biggest loss inside a single day, open trades included.
- Static low
- How far the account ever fell below its starting balance.
Words — the bot's readings
- Order flow
- Who is actually trading: buyers hitting the ask versus sellers hitting the bid, and the resting orders they meet.
- Delta / CVD
- Delta: buy volume minus sell volume in an interval. CVD: delta added up over time.
- Order-flow score
- The bot's 0–100 blend of its order-flow readings. Above 50 leans to buyers, below 50 to sellers.
- Reversal strength / deterioration
- While holding: how far the order flow has turned against the trade, and how far it has fallen from its best for the trade.
- Size-of-move readings
- Urgency, velocity, sweeps, replenishment and spoofing: they forecast how BIG the next few minutes will be (not which way), the same in every year tested.
- Iceberg
- A large order showing only a small part at a time and refilling as it trades. Native: run by the exchange (one order that fills more than it ever showed). Synthetic: run by a trader's software (new same-size orders arriving right after each fill).
- Absorption
- Heavy trading at a level with no price movement: someone is soaking up the orders.
- Volume profile (POC / VAH / VAL)
- Where volume traded by price. POC: the busiest price. VAH / VAL: the top and bottom of the area holding 70% of the volume.
- Hold quality / thesis
- The bot's 0–100 grade of whether the reason for a trade still holds. Below 65 the thesis reads "Degraded".
- Memory gate
- Long jobs only start when the Mac has memory to spare (normal pressure, free swap and available memory above set floors), so a run cannot crash the machine.
Words — Quant Scope
- Quant Scope
- Every trade of a version tagged with the conditions it was taken in (time, volatility, whipsaw, news, the dollar and real yields, spread, the bot's readings, the account), then each condition compared with all the other trades.
- Known at entry / at the fill / after
- At entry: the bot could see it when it decided, so it may become a rule. At the fill: known once the order filled, so it can only change how orders are sent. After: known once the trade was over, so it explains a loss but can never be used to avoid one.
- Lead
- A condition whose money per trade or loss rate differs from the other trades by more than luck explains. It is a clue to test on other months, never a rule by itself.
- q-value
- The chance-of-a-fluke score after allowing for every condition looked at. With about 70 conditions, a few would look special by luck alone; a lead needs q at or below 0.10.
- Money vs others (90% range)
- Money per trade in the condition minus the other trades. The range comes from resampling whole days, because the big winners bunch on a few days.
- Holds in both halves
- The difference points the same way in July–December and in January–June. A lead found in one half that vanishes in the other is not trusted.
- Enough data
- Enough trades to see a 15-point difference in loss rate 8 times out of 10. Fewer than 20 trades: shown, never tested.
- e-ratio
- Average best move divided by average worst move in the first hour after entry, in ATR. Above 1: trades under that condition tend to go our way first.
- Whipsaw / trend
- From the last hour: the efficiency ratio (straight move ÷ total path) and the Choppiness Index must agree. Whipsaw: ratio under 0.3 and choppiness over 61.8.
- Tier-1 news
- Our gold movers: jobs report, CPI, core PCE, the Fed decision and press conference, Fed minutes, GDP, and the Fed Chair's scheduled speeches.