Backtestify

Shared report

Free view
Backtest a strategy
Improved

Bollinger Band Mean Reversion

61.0%Win rate59 tradesOriginal33.1% · 148 trades▲ 27.9 pts vs original
1.26Profit factorOriginal1.01▲ 0.25× vs original
6.4%Net return · closed trades+9.5 pts vs buy & holdClosed trades +6.4% · open position +0.3% unrealized · +6.7% with it markedOriginal0.8%▲ 5.6 pts vs original
-5.3%Max drawdownOriginal-8.9%▼ 3.6 pts vs original

We tested 358 variations on older data and kept 2H candles instead of 1H, stop 3×ATR(14) and removed exit rule (close_vs_ma). Chosen on the window shown, from 262 candidates checked there.

On the 2-hour chart of Euro / US Dollar it buys when close crosses below the lower Bollinger band (20, 2σ), and sells short when close crosses above the upper Bollinger band (20, 2σ). Stop 3× ATR(14) against the trade, 1% of the account per trade.

2 differences from what you wrotethe very next candle closes back inside the bands · Exit rule (close_vs_ma)
  • the very next candle closes back inside the bandsbb_break (cross: true) followed by a candle closing inside

    The grammar does not have a 'next candle' sequence for BBs; approximated as a BB break followed by a return.

  • Exit rule (close_vs_ma)Not tested

    Backtestify can't test this exit yet. Trades close on the stop, the target or the end of the data instead.

  • Notes

    • 40 trades: the most these rules produce in 2 years of 1h candles, short of the 100 a confident read wants.
    • 45 trades: the most these rules produce in 1.9 years of 1h candles, short of the 100 a confident read wants.

Market

Euro / US DollarEURUSD2 data notes

Timeframe

2h

Account

$10,000

History

1.1 years
31 Aug 202525 Mar18 Oct 2026
Training206 dSelection207 d

Requested 2025-08-30 → 2026-10-18 · traded from 2025-08-31 (warm-up 108 bars)

Verdict

RECOMMENDED
61.0%

win rate · 59 trades

  • Ended above the starting budget+6.4% · 0.111R
  • Win rate 50% or above61.0%
  • More than 50 trades59 trades
  • Verdict rules v9
Weak evidenceProp-firm ready
Trades
59
Timeframe
2H
Selection window
206 days
Time in market
76.8%

high win rate · 59 trades

What to watch

  • The window shown was used to choose these rules (improve: the shipped variant was chosen among 262 candidates measured on this window), so no untouched window is left to check them on
  • Removed: exit rule (close_vs_ma) — the engine cannot execute it
  • Tested an approximation of your rules
  • Could not be checked with doubled costs
2 more
  • The unseen window was used to choose these rules (improve: the shipped variant was chosen among 262 candidates measured on this window), so no untouched window is left to check them on
  • Chosen from 263 candidates: not significant after the selection penalty (p 1.000)

What the data supports

  • Short side held up

    +0.319R average trade · 69.2% win rate

    short only · 26 of 59 trades

  • Best entry hours (analysis, not a rule)

    +0.296R average trade · 60.0% win rate

    entries 18:00–00:00 NY · 10 of 59 trades

  • Beat buy & hold

    +6.4% vs -3.1%

    same symbol, same window · 59 closed trades

  • Months in profit

    50% of months closed up

    4 of 8 months in the tested window

Win rate · original vs improved

Original

33.1%148 trades
+27.9 pts1.84× the original

Improved

61.0%59 trades

Both measured on the same window. The improved rules were chosen on it.

What changed

3 upgrades applied

1H → 2H chart1 rule removed358 variations testedBetter on all 5 metricsChosen on this window · 262 candidates checked

Timeframe

2H candles instead of 1H

Stop

3×ATR(14)

Removed

Exit rule (close_vs_ma) — the engine cannot execute it

Profit factor

0.25×
Original1.01×
Improved1.26×

Avg per trade

0.11R
Original0.005R
Improved0.111R

Win rate

27.91 pp
Original33.1%
Improved61.0%

Return

5.63 pp
Original0.8%
Improved6.4%

Max drawdown

3.65 pp
Original-8.9%
Improved-5.3%

Trades

89
Original148
Improved59

Evidence window

59 trades

chosen on this window

Best of ≥ 263 candidates on this window

Failed

t 0.84 · p 1.000 · best of ≥ 263 (Bonferroni)

Variations tested

358

262 checked on this window

Account balance

Selection window only (25 Mar 2026 – 16 Oct 2026)

$10,642Final · improved

$10,000

Starting balance

$10,079

Final · original

$10,671

With the open position marked

$9,692

Buy & hold

  • Original
  • Improved
  • Buy & hold

Trust scoreThe fixed factors behind the trust score, each with its own measurement.

40Weak evidence

C

Grade

RECOMMENDED

Verdict

Strategy replay

EURUSD=X · 2hImproved
Trade 21 / 21
  • BB 20, 2

Entry

1.1184

Buy · 12 Oct, 07:00 NY · 25 bars

Stop loss

1.1143

0.37% away

Take profit

None

Exits on its rule

Result

-1.03R

Stop loss at 1.1142 · 14 Oct, 07:00 NY

Trace4 steps
  1. Signal

    candle close

    1.1184

    12 Oct, 05:00 NY

  2. Filled

    next open

    1.1184

    12 Oct, 07:00 NY

  3. Stop

    ATR distance

    1.1143

    12 Oct, 07:00 NY

  4. Exit · Stop loss · -1.03R

    1.1143

    14 Oct, 07:00 NY

Monthly returns

Original beside improved, month by month

Best month7.1%· Original 8.8%Worst month-2.6%· Original -5.4%Typical month0.65%· Original -0.54%Months in profit50%· Original 50%
  • Original
  • Improved

Wins and losses

Original

33%win rate
  • Wins49
  • Losses99

Improved

61%win rate
  • Wins36
  • Losses23

Improved rules

Changed from the original: Timeframe: 2H candles instead of 1H · Stop: 3×ATR(14) · Removed: exit rule (close_vs_ma) — the engine cannot execute it

  • Buys when

    close crosses below the lower Bollinger band (20, 2σ)

  • Stop

    3 × ATR(14) from entry

  • Target / exit

    no fixed target

  • Risk per trade

    1% of equity risked to the stop

After an exit
The next entry signal is read from the candle after the exit, not on the exit candle
Opposite signal
Closes the open trade and opens the reverse at the next open
Not modelled
Margin calls, liquidation and CFD overnight financing; perpetual funding is charged when the data carries it

Latest trades

59 closed trades · 1 open at the end of the data, marked at the last close

DateDirectionEntry priceExit priceResult
12 Oct 2026long1.11841.1142Loss
8 Oct 2026short1.12301.1184Win
4 Oct 2026long1.11821.1230Win
1 Oct 2026long1.12951.1248Loss
29 Sept 2026long1.13521.1313Loss
25 Sept 2026short1.13941.1352Win
23 Sept 2026long1.13821.1394Win
23 Sept 2026long1.14311.1394Loss
16 Sept 2026long1.14811.1436Loss
13 Sept 2026long1.15861.1550Loss

Monthly heatmap

Original

YearJanFebMarAprMayJunJulAugSepOctNovDec
2026——-5.4%2.2%0.0%-2.9%1.6%-1.1%-1.8%8.8%——

Improved

YearJanFebMarAprMayJunJulAugSepOctNovDec
2026——0.0%1.9%-2.6%1.3%7.1%1.9%-1.6%-1.5%——

Advanced AnalysisPro