Skip to content
Audit completeEURUSDEntry: Bollinger-band touch
The eight checks
  1. Leak auditPassed
  2. Twin controlPassed
  3. Null infoFailed
  4. Pre-registrationPassed
  5. Cost realismPassed
  6. Cluster inferencePassed
  7. Temporal halvesPassed
  8. PlaceboPassed

The backtest thatfails your strategybefore the market does.

Eight named checks, each aimed at one way a backtest lies: leak audits, trading costs, chance baselines, placebo entries. No signals, no predictions. Just whether your edge holds up.

Illustrative replay · final figures from a real null-info run. Trades 2,225. Hit rate 70.3%. Chance 71.4%. z-score −1.14.

  • 50 ÷ (20+50) = 71.4% BY CHANCE ALONE
  • RISKS 50 PIPS TO MAKE 20
  • ENTRY · BAND TOUCH · NEXT BAR OPEN
  • HIT · TARGET BEFORE STOP
  • LEAK AUDIT · BAR MATCHES · PASS
Null info · Does not beat chance

Most backtests are built to pass. Ours is built to find the reason yours shouldn’t.

The stack has eight checks, each built to catch one specific way a backtest lies. The scorecard shows which ones your strategy survived, and every rerun is recorded as a new trial.

Check 03 of 08 · Null info

Watch an entry rule meet chance.

Six frames: an entry rule, its trades, and the number they have to beat.

  1. 01

    Every backtest starts with a rule that looks right: buy when RSI(7) drops under 30, sell when it climbs over 70.

    RSI(7) under 30 buys · over 70 sells · stop 1× ATR · target 2R

  2. 02

    Price does what price does. Here is the series the rule has to read, with its RSI under it.

  3. 03

    The rule fires five times: two buys, three sells, each on the bar after its crossing.

  4. 04

    Every trade risks one ATR to make two. Price decides the rest: some reach the target, some hit the stop.

  5. 05

    Two of five reach the target: 40%. Good? With a target twice the stop, chance alone gets one in three.

    5 trades
    Hit target2 · 40.0%
    Chance at 2R33.3%
  6. 06

    At real scale, the archetype of a popular free EA didn’t beat chance: 70.3% against 71.4%, over 2,225 trades. That’s check 3 of 8, run alone in 1.3 seconds.

    At real scale · 2,225 trades
    Hit rate70.3%
    Chance71.4%
    Does not beat chance
See a backtest fail

The validation stack

Eight checks.
One verdict.

Each one has a name, a reason and a specific way of breaking a backtest. Scroll through the stack.

Each one has a name, a reason and a specific way of breaking a backtest. Here they all are.

Leak audit

Check 01 / 08

Up to 50 of your strategy’s decisions are rebuilt on data cut off at that moment. If a rebuild and the full run disagree, that’s a leak.

Entry, exit and stop re-checked at each one.

Catches

  • Indicators that read future bars
  • Higher-timeframe bars used before they close
  • Off-by-one joins

Twin control

Check 02 / 08

A known leak, built on your own bars, goes through the same audit. If the audit misses it, the run stops and can’t clear.

Every clean leak audit is itself tested.

Catches

  • An audit that quietly stopped working
  • A clean result from a broken harness

Null info

Check 03 / 08

Your hit rate against the chance your own stop and target imply. At a 2R target, a coin gets one in three.

The free null-info tool runs this check alone, in seconds.

Catches

  • Entries no better than chance
  • An edge that’s really just the reward-to-risk ratio

Pre-registration

Check 04 / 08

A minimum trade count and a significance floor are fixed before the run and can’t move after it. Every rerun is a new trial, failed ones included.

Default floors: 500 trades, t-stat 3.0.

Catches

  • Samples too small to mean anything
  • Significance below the fixed floor
  • Moving the bar after the result

Cost realism

Check 05 / 08

Modelled spread, fees and financing for your market. On forex and CFDs, fills land on the quoted bid or ask — mid is a price nobody gets.

Forex and CFDs: add your broker’s commission, or go spread-only.

Catches

  • Scalps that only work at mid
  • Profit eaten by spread and fees
  • A spread larger than the risk unit

Cluster inference

Check 06 / 08

Significance that assumes trades come in clumps — because they do. Twenty trades on one day aren’t twenty independent answers.

Trades on the same day count as one.

Catches

  • Significance inflated by bunched trades
  • One event counted many times

Temporal halves

Check 07 / 08

The edge has to hold in both halves of your trades, early and late — not one lucky stretch carrying the rest.

Each half is judged on its own.

Catches

  • A single good year doing all the work
  • An edge that has since faded

Placebo

Check 08 / 08

Your entry timing against random shuffles of it, on the same data and geometry. It has to beat 95% of them.

200 random draws per run.

Catches

  • Results random entries match
  • Geometry doing the work instead of timing

Case files

What it caught.

  1. Bollinger-touch EA

    Its entry hit the target 70.3% of the time. With a 20-pip target and a 50-pip stop, chance alone gets 71.4%. The signal is worth slightly less than nothing.

    • Null info
    • EURUSD
    • 2,225 trades
    Hit rate 70.3% against Chance 71.4%. Below chance
  2. AUDCAD M1 scalper

    Passed seven of eight checks at mid-price. Filled at the bid and ask — a median spread 1.5× the whole risk unit — and every edge check turned against it.

    • Cost realism
    • AUDCAD
    • ~41,000 trades
    At mid: 7 of 8 passed, 1 failed. At bid/ask: 2 of 8 passed, 6 failed. Edge gone at bid/ask
  3. Martingale recovery

    Doubling after a loss changes the shape of the results; it doesn’t create edge. The AI draft left the sizing rule out and said so, and the entry underneath was tested on its own.

    • Position sizing
    • Entry tested alone

    …we implemented the Bollinger Band entries, fixed distance stop, and fixed distance target, but omitted the position-sizing recovery logic.

    Sizing rule left out
  4. Prop-firm ruleset

    Daily-loss, drawdown and profit-target rules, on “the same trend logic as always”. The reply named why they can’t go in a strategy, and asked for the entry rule.

    • Prop challenge
    • Account rules

    …account-level risk rules not supported by Kurzharr's per-bar entry and geometry engine…

    Refused, reason given

In the app

From idea to verdict.

The strategy builder on its Hypothesis step: a long entry rule reading “close is above EMA”, compiling to close > ema

Describe it in the builder, or let AI draft it and review it before it runs.

Pricing

Start free. Pay when it’s worth it.

Free

$0

Forever, no card.

  • Unlimited null-info tests
  • 3 audits a month, 6 of the 8 checks
  • Every asset class, two-year window
Opens at launch

Audit pass

Coming soon

$19 once

One answer before a big decision.

  • One strategy, all eight checks
  • PDF report
  • 60 days of forward registration
Not available yet

Research · $129/month, later. Custom Python indicators, forward-confirmation scoring and an API — once the environment that runs your code is production-grade.

Firm · from $400/month. An audit trail, team seats and PDF sign-off for small funds and educators. Talk to us.

Questions

The ones a sceptic asks.

Is this financial advice?

No. It audits the rule you bring and never recommends a trade. Simulated results don’t predict future ones — see the risk disclosure.

Which markets can I test?

Forex, and CFDs on commodities and indices; Binance crypto perpetuals, hourly and up; US stocks, daily and weekly; and Nasdaq-100 futures.

What does “cleared” mean?

That none of the checks that produced a result failed, against pass bars fixed before the run. It lowers the odds you’re fooling yourself; it doesn’t guarantee future profit.

Do you keep my strategies?

Yes, private to your account. Deleting the account removes your sign-in details; your run records, and much of what you submitted, stay under your random account ID. The privacy policy explains what stays and why.

Can I cancel?

Any time, from Billing — it takes you to the payment portal. Your plan runs to the end of the period you paid for, then drops to Free. Refunds and cancellation has the rest.

Your next strategy will fail somewhere. Let it be here, where it costs nothing.

See a backtest fail