We backtested every rule. Most of them lose.
No traders, no testimonials, no invented track records — just every simple seasonality rule this data can express, chosen on the first 70% of the history, charged a realistic spread, and then scored on the last 30% it was never allowed to see.
That funnel is the honest headline. Of the 4248 rules tested, 95.3% never clear a realistic spread at all. A leaderboard that showed you only the winners would be lying by omission — so this one shows you the denominator first.
◷ Loading backtest results…
How every row was produced
- Bars
- Institutional bank-feed H1 — the same history the dashboard reads. Market-closed bars (zero range) are excluded.
- The trade
- Enter at the hour's open, exit at its close, every time that bucket occurs. No stops, no targets, no compounding — the rule alone.
- Costs
- A round-trip spread is deducted from every trade, sized per symbol at typical retail (EUR/USD 1.0 pip, GBP/JPY 2.0, Gold 3.0, US30 2.0 pts, BTC 20). Not best-case institutional pricing.
- Out-of-sample
- Candidates are searched, costed and chosen using the first 70% of each symbol's history and nothing else — every other figure in a row (trades, win rate, net, years in profit) is measured on that era too, because a headline computed partly on the holdout would make the holdout a comparison against itself. The last 30% then selects nothing: it is scored afterwards and printed, positive or negative. ⚠ Before 3 September 2026 this ran the other way round, and the paragraph at the foot of this page says what that was worth.
- Minimums
n ≥ 300trades, and instruments with under 10 years of history are ranked below those with more — "6 of 7 years positive" is a far easier bar than "18 of 23".- Schedule test
- Separate from the backtest, and the reason two rules with the same net can carry different flags. A rule is SCHEDULE when its hour differs from that market's own average hour at our usual bar — n ≥ 300 and |z| ≥ 3 measured against the market's own up-rate, not against 50%. Everything else is DRIFT ONLY: real money in the backtest, but the edge is the market rising in nearly every hour rather than anything about the clock. US30 closes up 51.4% of all its hours, so a long rule in any hour starts ahead. None of the 28 US30 rules or 21 GER40 rules on this board clear the schedule test, which is what /evidence predicts. Only schedule-backed windows are ever pushed as alerts.
- Timezone
- Every rule is stated in UTC, because that is the clock the history is stored and tested in — the same "Fri 20:00" means the same instant for every reader on earth. Your own clock is printed underneath each rule. Watch the day: at UTC+8, Friday 20:00 UTC is Saturday 04:00 local, and a rule that reads Mon–Fri in UTC runs Tue–Sat there. If your zone changes clocks for daylight saving, the local line moves with it and the UTC line does not.
- Calendar
- The free board's weekday windows as a calendar you can subscribe to — how to add it in one tap. The feed itself is webcal://perfectindicators.com/signals.ics: one recurring hour per window, in UTC, so your phone converts it; each entry carries how the rule was chosen and the alerts' forward record with its interval. Rebuilt with the board every Saturday.
- Ranking
- Long history first, then share of calendar years in profit, then expectancy measured in multiples of that symbol's own spread. ⚠ The out-of-sample column is deliberately not ranked on. Sorting on it and then publishing the top 150 is what used to make every published row hold: the criterion was being reported back as a result.
What this is not. A backtest is a measurement of the past under assumptions, not a forecast and not an offer. Real fills slip, real spreads widen exactly when these edges cluster, and a rule chosen from thousands of candidates will always flatter itself somewhat — that is what the out-of-sample column is here to expose.
⚠ That column used to be worthless, and this is the correction. Until 3 September 2026
candidates were filtered on the whole history and only then scored on its last 30%, so a
rule arrived at the out-of-sample column having been chosen with the help of that column — a
subset of the data it was selected on, not a holdout. The board then sorted on it before
taking the top 150, so every published row held out of sample by construction. Re-run honestly —
selecting on the first 70% alone — 28.1% of selected
rules stay positive on the tail, against 67.9% the old
way and about 50% from a tail carrying no information at all. So the old figure was not merely
flattering; the honest one is worse than chance.
The builder now selects on the first 70% only and never ranks on the holdout. On this board
that is 27.6% of selected rules, and
35 of the 150
rules published here — 23.3%. Every other row is a rule
that paid on the era that chose it and did not pay afterwards, left on the board where you can see
it. The measurement. Nothing here is financial advice. Read what the data can't do before you act on any of it.