BPR Sweep + MSS + IDM — Backtest Report

Chart & replayTrades CSVSetups CSV
Trades
1,240
299 wins · 733 losses · 208 timeouts
Win rate
24.1%
break-even at 2.0R TP ≈ 33.3%
Profit factor
0.92
gross win R ÷ gross loss R
Expectancy
-0.046 R
total -57.0 R
Return @ 1.0% risk
-48.9%
compounded, max DD -67.1%
Max drawdown
-105.7 R
longest losing streak 12

Equity curve

Drawdown (R)

Best filter combinations

Searched 3,418 filter combinations (1–3 filters, at least 25 trades). Found on trades up to 2025-12-03 (868 in-sample trades), then checked on the 372 trades after that date. Rank = lower bound of the 95% confidence interval of the in-sample win rate, so small lucky samples sink. Trust only rows marked “Held up out-of-sample”.

No combination reached 60% win rate with at least 25 in-sample trades. Showing the strongest combinations by expectancy instead.

#FiltersIn-sample tradesIn-sample win rate95% lowAvg ROut-of-sample tradesOOS win rateOOS avg RVerdict
1RSI(14) range = 50-70 + Hour block (UTC) = 00-04 + Stop size = >3 ATR29
58.6%
40.7%+0.8914
21.4%
-0.22Failed out-of-sample
2Price vs EMA50 = Above EMA50 + Hour block (UTC) = 00-04 + Stop size = >3 ATR29
55.2%
37.5%+0.8312
16.7%
-0.34Failed out-of-sample
3Direction = BUY + Hour block (UTC) = 00-04 + Stop size = >3 ATR34
50.0%
34.1%+0.8215
20.0%
-0.27Failed out-of-sample
4Session (UTC) = Asian + Price vs EMA50 = Above EMA50 + Stop size = >3 ATR45
46.7%
32.9%+0.6921
9.5%
-0.48Failed out-of-sample
5Direction = BUY + Session (UTC) = Asian + Stop size = >3 ATR51
43.1%
30.5%+0.6825
20.0%
-0.20Failed out-of-sample
6Session (UTC) = Asian + RSI(14) range = 50-70 + Stop size = >3 ATR46
47.8%
34.1%+0.6623
17.4%
-0.26Failed out-of-sample
7Direction = BUY + EMA 20/50/200 stack = Bearish stack + Day of week = Fri26
42.3%
25.5%+0.6311
18.2%
-0.07Failed out-of-sample
8Hour block (UTC) = 00-04 + Volatility (ATR14 vs its median) = Low + Entry confirmation = Same candle26
50.0%
32.1%+0.617
42.9%
+0.29Too few out-of-sample trades
9Direction = BUY + Day of week = Fri + Stop size = >3 ATR48
37.5%
25.2%+0.5913
15.4%
+0.12Failed out-of-sample
10Price vs EMA50 = Above EMA50 + Day of week = Thu + Stop size = >3 ATR31
41.9%
26.4%+0.597
28.6%
-0.03Too few out-of-sample trades
11RSI(14) range = 50-70 + Day of week = Wed + Volatility (ATR14 vs its median) = Medium39
46.2%
31.6%+0.5410
40.0%
+0.27Failed out-of-sample
12Direction = BUY + Day of week = Thu + Stop size = >3 ATR35
37.1%
23.2%+0.5311
9.1%
-0.54Failed out-of-sample
13Session (UTC) = London + Price vs EMA200 = Below EMA200 + Hour block (UTC) = 04-0830
43.3%
27.4%+0.5316
31.2%
+0.05Failed out-of-sample
14Session (UTC) = London + Price vs EMA200 = Below EMA200 + Entry confirmation = Same candle34
41.2%
26.4%+0.5319
15.8%
-0.20Failed out-of-sample
15RSI(14) range = 50-70 + Day of week = Fri + Stop size = >3 ATR45
35.6%
23.2%+0.5314
7.1%
-0.37Failed out-of-sample
16Direction = BUY + EMA 20/50/200 stack = Bullish stack + Stop size = >3 ATR73
35.6%
25.6%+0.5232
6.2%
-0.39Failed out-of-sample
17Session (UTC) = London + EMA 20/50/200 stack = Bearish stack + Entry confirmation = Same candle27
40.7%
24.5%+0.5218
16.7%
-0.29Failed out-of-sample
18EMA 20/50/200 stack = Bullish stack + Day of week = Wed + Volatility (ATR14 vs its median) = Medium25
44.0%
26.7%+0.5212
16.7%
-0.03Failed out-of-sample
19Trade vs EMA200 trend = With trend + EMA 20/50/200 stack = Bullish stack + Hour block (UTC) = 00-0442
42.9%
29.1%+0.5112
8.3%
-0.51Failed out-of-sample
20Price vs EMA50 = Above EMA50 + Hour block (UTC) = 00-04 + Entry confirmation = Same candle33
45.5%
29.8%+0.5113
23.1%
-0.16Failed out-of-sample
21EMA 20/50/200 stack = Bullish stack + Hour block (UTC) = 00-04 + Entry confirmation = Same candle32
43.8%
28.2%+0.519
22.2%
-0.33Too few out-of-sample trades
22RSI(14) range = 50-70 + EMA 20/50/200 stack = Bullish stack + Stop size = >3 ATR58
36.2%
25.1%+0.5024
4.2%
-0.53Failed out-of-sample
23EMA 20/50/200 stack = Bullish stack + Day of week = Tue + Volatility (ATR14 vs its median) = High26
26.9%
13.7%+0.498
25.0%
-0.10Too few out-of-sample trades
24Day of week = Fri + Entry confirmation = Next candle + Stop size = >3 ATR45
28.9%
17.7%+0.4915
20.0%
+0.08Failed out-of-sample
25RSI(14) range = 50-70 + Day of week = Thu + Stop size = >3 ATR30
40.0%
24.6%+0.4911
18.2%
-0.38Failed out-of-sample

Failure patterns

Overall loss rate: 59.1%. Conditions below lose noticeably more often.

Loss anatomy

What happenedLosses%
Stopped out within 3 candles (45 min)
Entry too early / zone not respected — consider waiting for a 2nd confirmation candle.
13218.0%
Never moved +0.2R in profit before stop
Setup was wrong from the start — check which filters these share (table above).
28038.2%
Reached +0.5R before losing
Partial profit at +0.5R–1R would have reduced these losses.
27337.2%
Reached +1R before losing
A move-to-breakeven at +1R would have turned these into 0R trades (upper bound: on M15 we can't see if a winner also dipped back to entry).
10814.7%
  • Winners that dipped to −0.7R or worse before hitting TP: 56 (18.7% of winners)
  • Timeouts (no TP/SL in 100 bars): 208, average +0.37R
  • Average candles held — winners 35.7, losers 23.6

Single conditions with high loss rate

ConditionTradesLoss ratevs avgAvg R
Stop size = <1 ATR2871.4%+12.3 pts-0.143
Stop size = 1-2 ATR22368.2%+9.0 pts-0.059
Stop size = 2-3 ATR41367.8%+8.7 pts-0.146
Session (UTC) = Sydney11567.8%+8.7 pts-0.241
Pair = USD_CHF11367.3%+8.1 pts-0.211

Two-condition loss clusters

ConditionTradesLoss ratevs avgAvg R
Session (UTC) = Sydney + Stop size = 2-3 ATR3876.3%+17.2 pts-0.342
Session (UTC) = Asian + Day of week = Thu6274.2%+15.1 pts-0.341
Session (UTC) = Sydney + Direction = SELL6373.0%+13.9 pts-0.298
Stop size = 1-2 ATR + Direction = BUY11972.3%+13.2 pts-0.183
Day of week = Thu + Stop size = 1-2 ATR4372.1%+13.0 pts-0.163
Session (UTC) = Asian + Stop size = 2-3 ATR12471.8%+12.7 pts-0.237
Day of week = Fri + Stop size = 2-3 ATR8171.6%+12.5 pts-0.208
Volatility (ATR14 vs its median) = Low + Stop size = 1-2 ATR4971.4%+12.3 pts-0.143

Win rate by condition

Bar colour: green = 10+ points above break-even (33.3%), amber = above break-even, red = below.

Session (UTC)

TradesWin rateAvg RTotal RPF
Asian370
27.3%
-0.008-2.90.99
London316
27.8%
+0.042+13.41.07
New York439
19.6%
-0.091-39.80.85
Sydney115
20.9%
-0.241-27.70.65

RSI(14) range

TradesWin rateAvg RTotal RPF
<3021
19.0%
+0.118+2.51.26
30-50612
23.0%
-0.092-56.00.86
50-70586
25.8%
-0.009-5.40.98
>7021
14.3%
+0.095+2.01.21

Price vs EMA50

TradesWin rateAvg RTotal RPF
Above EMA50603
24.9%
-0.024-14.40.96
Below EMA50637
23.4%
-0.067-42.60.89

Price vs EMA200

TradesWin rateAvg RTotal RPF
Above EMA200642
25.1%
-0.016-10.20.97
Below EMA200598
23.1%
-0.078-46.80.87

Trade vs EMA200 trend

TradesWin rateAvg RTotal RPF
With trend666
23.7%
-0.024-15.90.96
Against trend574
24.6%
-0.072-41.20.89

EMA 20/50/200 stack

TradesWin rateAvg RTotal RPF
Bullish stack472
25.8%
+0.018+8.41.03
Bearish stack401
22.4%
-0.106-42.40.83
Mixed367
23.7%
-0.063-23.10.90

Day of week

TradesWin rateAvg RTotal RPF
Mon228
20.2%
-0.162-36.90.75
Tue275
27.3%
+0.056+15.51.10
Wed259
23.2%
-0.075-19.40.88
Thu193
24.9%
-0.080-15.40.87
Fri227
25.6%
+0.035+7.91.06
Sun58
20.7%
-0.148-8.60.76

Hour of day (UTC)

TradesWin rateAvg RTotal RPF
00:0056
33.9%
+0.034+1.91.05
01:0086
26.7%
+0.069+5.91.12
02:0060
31.7%
+0.100+6.01.17
03:0037
32.4%
+0.036+1.31.06
04:0027
25.9%
+0.001+0.01.00
05:0032
28.1%
-0.043-1.40.93
06:0072
16.7%
-0.233-16.70.65
07:0093
28.0%
+0.002+0.21.00
08:0080
33.8%
+0.168+13.51.30
09:0059
22.0%
-0.105-6.20.82
10:0040
25.0%
+0.096+3.81.18
11:0044
27.3%
+0.046+2.01.08
12:0063
22.2%
+0.035+2.21.07
13:0085
18.8%
-0.207-17.60.68
14:0089
15.7%
-0.143-12.70.76
15:0068
29.4%
+0.041+2.81.07
16:0043
14.0%
-0.274-11.80.58
17:0023
8.7%
-0.132-3.00.77
18:0033
18.2%
+0.078+2.61.16
19:0017
23.5%
-0.021-0.40.96
20:0018
22.2%
-0.102-1.80.82
21:0041
24.4%
-0.133-5.50.79
22:0047
25.5%
-0.052-2.40.91
23:0027
7.4%
-0.736-19.90.17

Volatility (ATR14 vs its median)

TradesWin rateAvg RTotal RPF
Low208
29.8%
-0.021-4.50.97
Medium624
26.0%
-0.016-9.70.97
High408
18.4%
-0.105-42.90.82

Entry confirmation

TradesWin rateAvg RTotal RPF
Same candle430
24.0%
-0.025-10.90.96
Next candle810
24.2%
-0.057-46.10.91

Stop size

TradesWin rateAvg RTotal RPF
<1 ATR28
28.6%
-0.143-4.00.80
1-2 ATR223
30.9%
-0.059-13.00.91
2-3 ATR413
25.4%
-0.146-60.30.79
>3 ATR576
20.3%
+0.035+20.31.07

Direction

TradesWin rateAvg RTotal RPF
BUY618
24.3%
-0.025-15.40.96
SELL622
24.0%
-0.067-41.70.89

Pair

TradesWin rateAvg RTotal RPF
USD_JPY107
30.8%
+0.242+25.81.50
EUR_USD118
31.4%
+0.132+15.61.24
XAU_USD113
27.4%
+0.088+9.91.16
GBP_JPY101
25.7%
+0.033+3.31.06
AUD_USD128
25.8%
-0.034-4.30.95
USD_CAD127
22.8%
-0.105-13.30.84
GBP_USD111
25.2%
-0.122-13.60.81
EUR_JPY95
22.1%
-0.146-13.90.78
NZD_USD144
20.1%
-0.102-14.60.84
USD_CHF113
20.4%
-0.211-23.80.69
EUR_GBP83
10.8%
-0.340-28.30.48

Monthly results

MonthTradesWin rateTotal R
2023-106
33.3%
+0.9
2023-1131
29.0%
-0.5
2023-1246
28.3%
+1.4
2024-0149
24.5%
-6.1
2024-0224
25.0%
-1.3
2024-0329
31.0%
+8.3
2024-0432
28.1%
+0.8
2024-0533
42.4%
+17.8
2024-0633
33.3%
+7.5
2024-0720
20.0%
-1.9
2024-0834
29.4%
+4.0
2024-0942
35.7%
+12.6
2024-1027
18.5%
+0.7
2024-1142
19.0%
-1.8
2024-1233
18.2%
-10.2
2025-0141
17.1%
-6.1
2025-0236
30.6%
+4.7
2025-0328
14.3%
-16.0
2025-0444
22.7%
-3.1
2025-0538
34.2%
+8.3
2025-0631
25.8%
+4.4
2025-0729
27.6%
+2.9
2025-0829
13.8%
-7.2
2025-0930
26.7%
+0.9
2025-1043
11.6%
-19.7
2025-1131
16.1%
-12.6
2025-1234
17.6%
-14.9
2026-0133
21.2%
-7.5
2026-0227
18.5%
-5.7
2026-0347
25.5%
-1.9
2026-0436
16.7%
-6.2
2026-0528
10.7%
-4.5
2026-0640
30.0%
+8.4
2026-0744
15.9%
-14.3
2026-0827
33.3%
+5.9
2026-0934
26.5%
+1.1
2026-1029
24.1%
-6.2

Settings used

Pairs: EUR_USD, GBP_USD, USD_JPY, USD_CAD, AUD_USD, NZD_USD, USD_CHF, EUR_GBP, EUR_JPY, GBP_JPY, XAU_USD · M15 · 2023-10-26 → 2026-10-22
Indicator: {"leftS": 5, "rightS": 5, "leftM": 2, "rightM": 2, "maxBeyond": 10, "maxWait": 300, "useIDM": false, "idmLeft": 3, "idmRight": 3, "idmVol": 0.0, "idmMaxWait": 500, "obLookback": 50, "fvgExtend": 3}
Rules: TP 2.0R · SL beyond sweep extreme + 0.1×ATR · max 100 bars · overlap off (1 trade per pair) · same-candle TP+SL = loss · spread modelled per pair