For seven months a machine mined trading rules for my own MT5 bot. Every week it evaluated thousands of single-condition rules on five-minute bars, kept the ones that survived a year it had never seen, screened those for recent form, and handed the winners to a fleet of demo accounts. This post is one week of that, end to end, with the counts. It is the first of a series that ends in an autopsy, so it helps to see the machine working before seeing why it failed. The sweep is the one of 30 October 2026.
What was tested
- 41 CFDs on an MT5 broker feed: US, European and Asian indices, FX majors and crosses, gold, silver, copper, platinum, Brent, WTI and natural gas.
- 192 features: RSI, ADX, MACD histogram, Bollinger %B, stochastic, EMA relationships, ATR z-scores, volatility estimators with their 20-day and 60-day percentiles, candle anatomy, session and calendar flags, the same on H1, H4 and D1, and cross-asset versions such as gold momentum while trading a yen pair.
- A rule is one feature, one comparison, one threshold, one direction, a stop at 2 to 3.5 ATR, a target at 2 to 4.5 R, a one-minute confirmation before entry, a spread cap, no entries late in the evening, flat at day end.
- Each candidate is hill-climbed over a threshold grid, then run across a year it never saw with its parameters frozen, and again with its parameters re-tuned each quarter. To survive it has to be net positive both ways. To be screened it also has to be net positive in the most recent quarter with at least 20 trades.
What came out
| Stage | Rules | Share |
|---|---|---|
| Evaluated | 18,620 | 100% |
| Survived the year both ways | 2,702 | 14.5% |
| Also net positive in the last quarter, 20 or more trades | 1,872 | 10.1% |
| Symbol-direction pairs with at least one survivor | 66 | |
| Carried into one demo bot's book | 79 | 0.4% |
Two details that matter later. First, 1,684 of the 1,872 screened rules, 90 percent, had been rejected by a cheaper univariate filter earlier in the pipeline and only came back through the hill-climb. Second, a simulated GBP 10,000 account at 1 percent risk, compounded over the test year, put the median survivor at 11,230 with a median longest losing streak of 12 trades and a median drawdown of 21.6 percent. On paper, hundreds of rules that each looked like a modest edge.
Survivors by symbol, survived of evaluated: GOLD 217 of 607, USDJPY 177 of 494, XAUEUR 169 of 460, JP225 160 of 573, EURUSD 157 of 474, CAC40 157 of 536, GERMANY40 153 of 528, DJI30 133 of 529. At the other end: GBPCHF 0 of 332, HSCEI50 0 of 385, CHFJPY 1 of 362, PLATINUM 2 of 336, SILVER 9 of 476. A symbol that trended during the test year passes hundreds of rules that are long it. A symbol that did not passes almost none, whatever the feature.
By feature family, the share of evaluated rules that reached the screen: higher-timeframe features 11.9 percent, volatility 11.3, calendar 11.2, momentum 10.8, normalised companions 10.6, trend 9.8, session 9.6, candle anatomy 8.8. The cross-asset features split in two: a small set with the highest yield in the sweep, up to 22 percent for a yen-pair momentum condition, and a large set with 3 percent.
What it means
Yield is what the screen likes, not what earned. When the same pipeline's deployed rules were measured live in September 2026, the feature with the strongest conversion rate, daily RSI at 19.6 percent, lost 20.8 R on the demo accounts, and yield across features was anti-correlated with realised profit. So the table above says which conditions pass a year-long test most often, and nothing about which ones make money. The next posts measure that directly: how many of these survivors chance alone would produce, whether a rule's backtest R predicts its live R at all, and what 11,775 live demo trades of rules like these added up to.
Not tested here: multi-condition rules, anything on a clock slower than five minutes, holding overnight. All counts are from one sweep; the numbers move week to week and the table is refreshed in the thread that goes with this series.
Research on demo accounts, in R, risk units. Past results do not predict future results. This is not advice.