How candidates are filtered
The checks a Strategy Miner candidate must pass, in order, with the criteria of each check and how to read the table of dropped candidates.
A random trial becomes a candidate only if it passes every check on this page. The checks run in the order below. The Checks table in the result shows how many candidates each check passed and dropped.
These checks reduce the chance that a rule only fits past data by luck. They do not remove it. Results are an approximate backtest of past data, and they do not guarantee the future.
Stage order and criteria
The numbers are the Miner’s defaults.
| Check | Criteria |
|---|---|
| Search period (IS) | The Miner splits the price bars. The first 70% is the search period. A trial is kept if its profit factor (PF) is at least 1.15, its maximum drawdown is under 60%, and it has enough trades. Enough means 70% of Minimum trades. |
| Duplicates removed | A candidate is dropped if it has the same shape as one already kept, or if its entry bars overlap 60% or more with a kept one. |
| Repeats of your vault (Pro) | Candidates that match a strategy already in your vault are skipped. See Reading results. |
| Later period (OOS) | The last 30% of the bars, which the search did not use to rank trials. The candidate needs a PF of at least 1 and enough trades: 30% of Minimum trades, and at least 8. |
| Other symbols | The strategy is run on the other built-in symbols. Each one passes with a PF of at least 1 and enough trades: half of Minimum trades, and at least 10. At least half of them must pass. |
| Robustness | Four tests, and all four must pass. See the next section. |
| Stability sieve | At least 80% of the calendar years must be profitable. With fewer than 3 years, this check is not judged. |
| Robustness retest | The candidate is re-run 10 times with changes. See Robustness re-check. |
The search period and the later period are two parts of the same bars. The later period is used only to filter. The search never ranks trials by it. Still, when you keep the best of many trials, the numbers look better than a new, unseen period will.
The four robustness tests
A candidate that passes the later period and the other symbols goes through these tests.
| Test | What it does | Passes if |
|---|---|---|
| Parameter shake | Makes 10 neighbours by moving each setting number by 10 to 20%. | At least 70% of the neighbours have a PF of at least 1 with enough trades. |
| Monte Carlo | Reshuffles the trades 200 times and removes 10% of them each time. | In the worst 5% of the runs, the maximum drawdown is at most 20% and the final profit is positive. |
| Spread x2 | Doubles the spread. | The PF stays at least 1. A tripled spread is calculated and recorded but does not decide. |
| Year by year | Looks at each calendar year that has at least 3 trades. | There are at least 3 such years, more than 50% of them are profitable, the best year is at most 60% of the total profit of the profitable years, and the profit per trade in the later period is at least 0.3 times that of the search period. |
If fewer than 3 such years exist, the year-by-year test is not judged.
How the stability sieve works
The sieve counts profitable calendar years. A candidate stays if at least 80% of its years are profitable. It runs only with the default criteria of the robustness re-check, and only when the robustness tests are on.
The Miner’s own forward test on data it had hidden showed a small effect. The sieve removed a little over 1 in 10 of the candidates that would later have lost, and it did not create more winners. Treat it as a way to drop the weakest candidates, not as a promise of results.
Read the table of dropped candidates
After a run, the Checks table lists each check in a row, with three columns.
| Column | Meaning |
|---|---|
| Checks | The name of the check. |
| Passed | How many candidates passed it. |
| Dropped | How many were dropped by it. |

Some rows have sub-rows. Robustness has one for each of its four tests. Stability sieve has Profitable years. Robustness retest has a sub-row for each re-check that decided. A candidate that fails robustness can fail more than one test, so the sub-row counts can add up to more than the drop count of the row.
- In Pro, each sub-row also shows the reasons.
- In the demo, the table shows counts only, and each candidate card shows a tick or a cross per check. The conditions are not shown.
- The summary line above the table says how many candidates were kept, out of how many trials.

If the table shows that most candidates drop at one row, change the setting that feeds it. Most drops at Search period (IS) call for more trials or a lower minimum. Most drops at Other symbols or Later period (OOS) show that the rule fits the search period only.
If no candidate survives, the Miner says “No candidate passed every check this time”. It suggests more trials, another symbol, or a lower minimum trade count.
Related reference: Metrics explains each figure used by the checks.