Quantitative Trading Research
Professional Analytics of Finance and Trading Strategies
Sort Finance backtests trading ideas the hard way — swept across symbols and timeframes, judged out-of-sample, and measured against buy-and-hold. No cherry-picked charts, only what survives the evidence.
Research Notebooks
Every published strategy, scored and ranked. The Score column is each one's overall 0–100 grade; the heatmaps break it into its five metrics across every market and timeframe, where darker means better.
How each score is computed
Each metric is mapped to 0–100 and clamped to that range. In the formulas, $E_{\text{net}}$ is net equity, $E_{\text{hold}}$ the buy-and-hold equity, $E_0$ the starting capital, $S$ the Rolling Sharpe, and $w$ the win rate in percent.
- Score
- $\dfrac{1}{28}\sum_{\text{cells}} \big( 0.35\,\text{BH} + 0.30\,\text{RA} + 0.15\,\text{Pr} + 0.10\,\text{WR} + 0.10\,\text{FE} \big)$
- The weighted blend of the five metrics, averaged across all 28 market × timeframe cells.
- Beats-Hold
- $50 + 25\,\log_2\!\left(\dfrac{E_{\text{net}}}{E_{\text{hold}}}\right)$
- How far the strategy's net equity runs ahead of simply buying and holding — matching it scores 50, doubling it 75, halving it 25.
- Risk-Adjusted
- $55\,S + 5$
- The Rolling Sharpe ratio on a fixed scale, rewarding smooth equity over lucky spikes — a Sharpe of 1 scores 60, about 1.7 reaches 100.
- Profitability
- $20\,\log_2\!\left(\dfrac{E_{\text{net}}}{E_0}\right)$
- Absolute growth of the starting capital, on a log scale so outliers don't dominate — a 2× ending scores 20, a 32× scores 100.
- Win-Rate
- $2.5\,(w - 20)$
- The share of trades that close in profit — 40% scores 50, 60% scores 100. Trend systems run low here and lean on the other metrics.
- Fee-Efficiency
- $\left(\dfrac{E_{\text{net}}}{E_{\text{gross}}} - 0.4\right) \Big/ 0.6 \times 100$
- How little trading costs erode the result — paying no fees scores 100, surrendering a third of the gross to them scores about 50.
| # | Strategy | Category | Score | Beats-Hold | Risk-Adjusted | Profitability | Win-Rate | Fee-Efficiency |
|---|---|---|---|---|---|---|---|---|
| 01 | Enter Long When WMA 20 Crosses Above WMA 50, Exit When It Crosses Back Down A trend-following crossover on a single market's close: ride the move while the fast weighted moving average sits above the slow one, and step aside when it falls back. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Trend | 67 |
30m
1h
4h
1d
BTC
77
72
44
91
ETH
100
100
100
100
SOL
86
45
100
97
BNB
100
19
40
39
DOGE
100
52
100
84
XRP
100
100
100
44
ALL
100
66
94
98
|
30m
1h
4h
1d
BTC
61
58
41
38
ETH
75
54
47
42
SOL
72
58
60
37
BNB
74
58
42
34
DOGE
52
45
49
32
XRP
45
36
35
19
ALL
90
57
56
30
|
30m
1h
4h
1d
BTC
99
94
72
100
ETH
100
97
89
100
SOL
100
85
100
100
BNB
100
100
100
100
DOGE
100
90
100
100
XRP
73
46
66
2
ALL
100
90
100
100
|
30m
1h
4h
1d
BTC
33
32
34
55
ETH
36
38
28
62
SOL
39
39
41
54
BNB
41
39
54
52
DOGE
30
24
27
47
XRP
26
23
27
20
ALL
42
41
43
44
|
30m
1h
4h
1d
BTC
4
42
84
98
ETH
5
42
83
98
SOL
31
59
89
98
BNB
7
43
84
97
DOGE
20
52
88
98
XRP
9
44
84
97
ALL
31
60
89
98
|
| 02 | Enter When WMA 20, 50, and 200 Stack Bullishly, Exit When WMA 20 Drops Below WMA 50 A trend-following filter built on three weighted moving averages spanning the short, medium, and long term. A long opens only when all three line up in order — 20 above 50 above 200 — so the trade rides established uptrends and sits out when the long-term average has not yet turned. It exits the moment the fast average slips back below the medium, the first crack in the stack. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Trend | 66 |
30m
1h
4h
1d
BTC
84
80
76
51
ETH
100
100
100
100
SOL
65
59
87
50
BNB
89
4
22
0
DOGE
100
100
100
38
XRP
100
100
100
29
ALL
96
92
91
15
|
30m
1h
4h
1d
BTC
71
67
50
32
ETH
74
56
56
37
SOL
70
66
58
42
BNB
72
57
40
30
DOGE
59
57
50
31
XRP
47
48
32
13
ALL
78
67
56
35
|
30m
1h
4h
1d
BTC
100
100
98
78
ETH
100
92
100
91
SOL
99
96
100
86
BNB
100
100
100
100
DOGE
100
100
100
80
XRP
75
90
59
0
ALL
100
100
100
49
|
30m
1h
4h
1d
BTC
35
37
57
75
ETH
38
32
43
100
SOL
39
44
34
67
BNB
42
42
49
33
DOGE
31
28
38
33
XRP
27
23
24
0
ALL
38
41
54
75
|
30m
1h
4h
1d
BTC
28
60
90
99
ETH
29
59
90
99
SOL
52
73
93
99
BNB
30
60
89
98
DOGE
44
70
93
99
XRP
36
64
91
99
ALL
50
73
93
99
|
| 03 | Enter Long on the Golden Cross of SMA 50 Over SMA 200, Exit on the Death Cross A slow trend-following rule on a single market's close: hold long while the 50-bar simple moving average sits above the 200-bar one — the golden cross — and step aside when it falls back below — the death cross. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Trend | 63 |
30m
1h
4h
1d
BTC
77
53
86
7
ETH
100
100
100
34
SOL
44
100
100
27
BNB
94
25
57
0
DOGE
100
100
99
82
XRP
100
100
100
4
ALL
87
88
100
0
|
30m
1h
4h
1d
BTC
58
44
42
28
ETH
60
48
48
23
SOL
53
62
42
36
BNB
64
41
35
26
DOGE
47
50
35
28
XRP
41
37
32
12
ALL
53
60
31
30
|
30m
1h
4h
1d
BTC
98
80
100
43
ETH
100
94
100
36
SOL
82
100
100
67
BNB
100
100
100
85
DOGE
100
100
100
100
XRP
76
75
51
0
ALL
100
100
100
31
|
30m
1h
4h
1d
BTC
34
34
44
89
ETH
42
34
72
89
SOL
36
46
54
33
BNB
45
47
44
54
DOGE
32
32
55
57
XRP
26
32
36
18
ALL
38
36
71
75
|
30m
1h
4h
1d
BTC
70
84
96
99
ETH
71
85
97
99
SOL
80
90
98
100
BNB
72
86
96
99
DOGE
76
88
97
100
XRP
72
86
96
99
ALL
80
90
98
100
|
| 04 | Enter When WMA 13, 21, and 34 Stack Bullishly, Exit When WMA 13 Drops Below WMA 21 A trend-following filter on three Fibonacci-length weighted moving averages — 13, 21, and 34. A long opens only when all three line up in order, fast above medium above slow, and exits the moment the fast average slips back below the medium. The lengths sit close together, so the stack forms and breaks quickly: a fast, reactive take on the triple moving-average idea. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Trend | 60 |
30m
1h
4h
1d
BTC
0
75
61
65
ETH
97
100
100
100
SOL
0
19
45
100
BNB
0
32
57
52
DOGE
13
100
94
100
XRP
9
100
100
99
ALL
100
100
78
100
|
30m
1h
4h
1d
BTC
18
64
58
40
ETH
54
69
56
54
SOL
38
52
59
50
BNB
61
58
60
42
DOGE
34
58
47
41
XRP
13
39
44
30
ALL
75
87
52
52
|
30m
1h
4h
1d
BTC
3
97
85
89
ETH
86
100
100
100
SOL
31
64
85
100
BNB
100
100
100
100
DOGE
60
100
100
100
XRP
0
52
91
46
ALL
100
100
99
100
|
30m
1h
4h
1d
BTC
33
34
42
54
ETH
36
39
42
67
SOL
37
42
52
66
BNB
41
40
46
46
DOGE
32
32
32
83
XRP
27
28
29
32
ALL
42
40
47
68
|
30m
1h
4h
1d
BTC
0
16
75
96
ETH
0
17
75
96
SOL
1
41
83
97
BNB
0
18
75
96
DOGE
0
31
80
97
XRP
0
22
76
96
ALL
1
40
83
98
|
| 05 | Enter When WMA 7, 20, and 50 Stack Bullishly, Exit When WMA 7 Drops Below WMA 20 A trend-following filter that waits for three weighted moving averages to line up in order — fast above medium above slow — before going long, then leaves the moment the fast average slips back under the medium. Requiring the full stack is a stricter entry than a single crossover; exiting on the fast-versus-medium break is a quicker exit than waiting for the whole stack to unwind. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Trend | 55 |
30m
1h
4h
1d
BTC
0
5
52
60
ETH
68
87
100
100
SOL
40
0
73
100
BNB
0
0
20
5
DOGE
0
28
100
76
XRP
78
55
100
95
ALL
100
100
66
94
|
30m
1h
4h
1d
BTC
35
37
55
47
ETH
46
51
60
50
SOL
60
37
69
46
BNB
58
50
53
40
DOGE
32
39
56
35
XRP
31
25
42
30
ALL
93
79
56
45
|
30m
1h
4h
1d
BTC
35
41
78
85
ETH
64
78
100
100
SOL
79
32
100
100
BNB
100
100
100
100
DOGE
48
71
100
100
XRP
28
10
69
43
ALL
100
100
89
100
|
30m
1h
4h
1d
BTC
28
29
42
52
ETH
32
30
42
67
SOL
38
36
50
40
BNB
34
37
53
59
DOGE
24
22
35
51
XRP
25
23
27
28
ALL
40
41
42
63
|
30m
1h
4h
1d
BTC
0
9
72
96
ETH
0
10
72
96
SOL
0
36
81
97
BNB
0
11
72
95
DOGE
0
25
79
97
XRP
0
16
74
96
ALL
0
34
81
97
|
| 06 | Enter Long When MACD Crosses Above Its Signal Line, Exit When It Crosses Back Down A trend-following rule on a single market's close: ride the move while the MACD line sits above its signal line, and step aside when it falls back. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Trend | 47 |
30m
1h
4h
1d
BTC
0
0
41
69
ETH
0
100
81
78
SOL
0
25
4
70
BNB
0
49
46
26
DOGE
0
55
77
66
XRP
0
95
67
100
ALL
100
100
59
27
|
30m
1h
4h
1d
BTC
0
31
50
50
ETH
4
59
46
42
SOL
20
53
46
44
BNB
15
73
67
42
DOGE
0
42
48
44
XRP
0
36
29
39
ALL
100
100
58
44
|
30m
1h
4h
1d
BTC
0
30
69
92
ETH
0
100
73
71
SOL
0
69
53
100
BNB
0
100
100
100
DOGE
0
92
100
100
XRP
0
42
20
87
ALL
100
100
84
59
|
30m
1h
4h
1d
BTC
29
38
45
50
ETH
36
40
45
41
SOL
35
40
38
47
BNB
36
43
43
62
DOGE
27
33
34
46
XRP
28
31
28
40
ALL
46
54
44
53
|
30m
1h
4h
1d
BTC
0
0
58
93
ETH
0
0
58
92
SOL
0
10
70
95
BNB
0
0
58
93
DOGE
0
0
65
95
XRP
0
0
59
94
ALL
0
12
71
95
|
| 07 | Enter Long When WMA 20 Comes Within 0.5% of Crossing Above WMA 50, Exit Within 0.5% of Crossing Back Below An anticipatory take on the WMA 20/50 crossover: instead of waiting for the fast weighted moving average to cross the slow one, it acts half a percent early — entering as the fast average closes to within 0.5% of crossing up, and exiting as it falls back to within 0.5% of crossing down, stepping aside before the death cross confirms. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Trend | 39 |
30m
1h
4h
1d
BTC
0
0
38
25
ETH
4
0
28
64
SOL
0
0
68
100
BNB
0
0
0
0
DOGE
0
0
64
57
XRP
0
0
70
58
ALL
52
0
34
0
|
30m
1h
4h
1d
BTC
0
13
41
33
ETH
25
15
31
34
SOL
37
24
54
41
BNB
53
43
57
31
DOGE
31
34
46
28
XRP
0
0
26
22
ALL
58
22
43
31
|
30m
1h
4h
1d
BTC
0
0
67
57
ETH
12
0
30
60
SOL
27
0
100
100
BNB
100
72
100
85
DOGE
38
36
100
94
XRP
0
0
22
13
ALL
78
1
64
22
|
30m
1h
4h
1d
BTC
90
78
64
56
ETH
95
77
48
71
SOL
74
63
47
81
BNB
89
76
65
67
DOGE
82
61
47
66
XRP
76
62
38
22
ALL
93
64
57
62
|
30m
1h
4h
1d
BTC
58
70
88
98
ETH
48
64
87
98
SOL
55
72
92
99
BNB
51
66
88
98
DOGE
56
70
90
98
XRP
51
67
88
98
ALL
62
75
92
99
|
| 08 | Enter Long When Price Crosses Above WMA 20, Exit When It Crosses Back Down A trend-following rule on a single market's close: ride the move while the close holds above its 20-bar weighted moving average, and step aside when it slips back below. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Trend | 37 |
30m
1h
4h
1d
BTC
0
0
55
76
ETH
0
30
100
96
SOL
0
9
30
100
BNB
0
0
1
34
DOGE
0
0
44
49
XRP
0
0
100
100
ALL
100
100
30
49
|
30m
1h
4h
1d
BTC
0
6
52
48
ETH
0
32
68
46
SOL
20
48
53
48
BNB
0
42
55
38
DOGE
0
20
42
34
XRP
0
0
38
34
ALL
100
100
45
39
|
30m
1h
4h
1d
BTC
0
0
80
98
ETH
0
32
100
86
SOL
0
56
74
100
BNB
0
71
100
100
DOGE
0
0
85
88
XRP
0
0
56
62
ALL
100
100
60
76
|
30m
1h
4h
1d
BTC
3
6
12
20
ETH
6
10
20
16
SOL
10
14
15
18
BNB
8
11
14
34
DOGE
0
4
6
20
XRP
4
4
8
12
ALL
34
38
18
22
|
30m
1h
4h
1d
BTC
0
0
29
86
ETH
0
0
29
85
SOL
0
0
49
90
BNB
0
0
26
86
DOGE
0
0
36
89
XRP
0
0
28
86
ALL
0
0
48
90
|
| 09 | Enter Long When RSI 20 Crosses Above Its WMA 20, Exit When It Crosses Back Down A momentum-timing rule on a single market's close: the 20-bar relative strength index is smoothed by a 20-bar weighted moving average of itself, and the position follows which line is on top — long while the oscillator sits above its smoothing line, flat when it falls back. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Trend | 33 |
30m
1h
4h
1d
BTC
0
0
5
40
ETH
0
0
100
84
SOL
0
0
1
39
BNB
0
0
22
0
DOGE
0
0
100
85
XRP
0
0
77
100
ALL
100
100
27
58
|
30m
1h
4h
1d
BTC
0
0
36
42
ETH
0
10
53
44
SOL
0
35
45
48
BNB
0
12
57
47
DOGE
0
5
46
42
XRP
0
0
31
38
ALL
100
100
48
46
|
30m
1h
4h
1d
BTC
0
0
40
69
ETH
0
0
92
76
SOL
0
20
50
77
BNB
0
0
100
100
DOGE
0
0
100
100
XRP
0
0
28
72
ALL
100
100
59
83
|
30m
1h
4h
1d
BTC
12
12
21
24
ETH
13
17
21
20
SOL
18
19
26
23
BNB
16
18
23
38
DOGE
8
11
20
19
XRP
12
11
14
8
ALL
42
47
27
28
|
30m
1h
4h
1d
BTC
0
0
22
84
ETH
0
0
23
84
SOL
0
0
41
90
BNB
0
0
20
84
DOGE
0
0
32
87
XRP
0
0
24
84
ALL
0
0
41
90
|
| 10 | Enter Short When WMA 20 Crosses Below WMA 50, Exit When It Crosses Back Up A trend-following crossover on a single market's close, taken from the short side: sell the market while the fast weighted moving average sits below the slow one, and step aside when it climbs back. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Trend | 25 |
30m
1h
4h
1d
BTC
10
5
0
0
ETH
85
12
0
47
SOL
0
0
0
0
BNB
0
0
0
0
DOGE
0
0
0
0
XRP
11
0
0
0
ALL
69
0
8
0
|
30m
1h
4h
1d
BTC
38
36
22
27
ETH
50
26
19
38
SOL
36
22
29
13
BNB
56
34
41
33
DOGE
30
6
35
6
XRP
12
2
2
0
ALL
70
34
42
29
|
30m
1h
4h
1d
BTC
46
41
10
25
ETH
77
18
1
46
SOL
26
0
12
0
BNB
100
39
58
39
DOGE
19
0
36
0
XRP
0
0
0
0
ALL
91
26
43
20
|
30m
1h
4h
1d
BTC
33
32
34
55
ETH
36
38
28
62
SOL
39
39
41
0
BNB
41
39
54
52
DOGE
30
24
27
47
XRP
26
23
27
20
ALL
42
41
43
44
|
30m
1h
4h
1d
BTC
4
42
84
98
ETH
5
42
83
98
SOL
31
59
89
0
BNB
7
43
85
98
DOGE
20
52
88
98
XRP
9
44
84
97
ALL
31
60
90
98
|
| 11 | Ride the WMA 20/50 Crossover, Exit on an ATR Trailing Stop A trend-following crossover that fixes its own slowest part — the exit. A long opens when the fast weighted moving average crosses above the slow one, but instead of waiting for the averages to cross back, it rides a chandelier trailing stop: the highest close since entry, less a multiple of the Average True Range. Whichever comes first — the stop or the downward crossover — closes the trade, so a sharp reversal banks the gain before the slow average catches up. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Trend | 25 |
30m
1h
4h
1d
BTC
0
0
0
0
ETH
2
5
0
53
SOL
0
0
0
0
BNB
0
0
0
0
DOGE
0
0
3
0
XRP
0
14
0
82
ALL
44
52
0
0
|
30m
1h
4h
1d
BTC
10
14
19
31
ETH
21
22
0
46
SOL
46
9
14
30
BNB
47
26
36
18
DOGE
0
1
31
20
XRP
0
0
0
26
ALL
91
61
36
42
|
30m
1h
4h
1d
BTC
0
2
9
25
ETH
11
12
0
51
SOL
42
0
0
44
BNB
53
22
53
8
DOGE
0
0
52
9
XRP
0
0
0
33
ALL
71
78
31
24
|
30m
1h
4h
1d
BTC
38
36
37
62
ETH
42
38
38
82
SOL
46
40
40
75
BNB
44
44
50
40
DOGE
27
30
35
55
XRP
28
30
30
20
ALL
49
50
50
75
|
30m
1h
4h
1d
BTC
4
42
84
98
ETH
5
42
83
98
SOL
31
59
89
98
BNB
7
43
84
97
DOGE
19
52
88
98
XRP
9
44
84
97
ALL
30
59
89
98
|
| 12 | Enter Long When Price Breaks the 20-Bar High, Exit When It Breaks the 20-Bar Low A trend-following breakout rule on a single market's close: the Donchian channel marks the highest and lowest closes of the prior 20 bars, a long position opens when price closes above the channel's upper edge, and it exits when price closes below the lower edge. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Breakout | 57 |
30m
1h
4h
1d
BTC
0
11
64
86
ETH
94
72
95
100
SOL
0
0
60
100
BNB
0
0
61
77
DOGE
0
42
100
90
XRP
12
93
100
82
ALL
100
100
96
89
|
30m
1h
4h
1d
BTC
19
38
50
45
ETH
51
44
46
41
SOL
40
45
52
37
BNB
53
50
45
34
DOGE
35
43
46
36
XRP
17
35
36
26
ALL
100
100
55
31
|
30m
1h
4h
1d
BTC
3
46
88
100
ETH
84
66
84
100
SOL
36
48
98
100
BNB
100
100
100
100
DOGE
43
82
100
100
XRP
0
40
72
33
ALL
100
100
100
100
|
30m
1h
4h
1d
BTC
32
32
51
62
ETH
39
40
32
59
SOL
38
40
40
52
BNB
41
39
60
81
DOGE
30
30
42
75
XRP
29
28
33
35
ALL
56
56
46
67
|
30m
1h
4h
1d
BTC
0
34
82
97
ETH
0
35
81
97
SOL
20
53
88
98
BNB
0
36
83
97
DOGE
10
46
86
98
XRP
1
40
83
97
ALL
21
54
88
98
|
| 13 | Buy the Keltner Breakout, Exit at the Midline A trend-following rule on a single market's close: a Keltner Channel frames the close with a 20-bar exponential moving average and an envelope set two average true ranges above and below it, a long position opens when price breaks out above the upper band, and it exits when price falls back to the midline. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Breakout | 48 |
30m
1h
4h
1d
BTC
0
0
60
87
ETH
10
63
100
100
SOL
0
26
5
100
BNB
0
0
0
7
DOGE
0
38
100
81
XRP
0
36
100
100
ALL
100
100
49
71
|
30m
1h
4h
1d
BTC
0
34
57
57
ETH
25
44
57
60
SOL
42
56
45
55
BNB
30
44
50
37
DOGE
15
43
47
39
XRP
0
19
45
34
ALL
100
100
50
47
|
30m
1h
4h
1d
BTC
0
35
85
100
ETH
17
59
100
100
SOL
41
70
53
100
BNB
32
84
100
100
DOGE
0
78
100
100
XRP
0
0
100
68
ALL
100
100
76
94
|
30m
1h
4h
1d
BTC
20
27
37
56
ETH
26
30
33
63
SOL
31
34
36
64
BNB
24
28
35
38
DOGE
15
20
18
51
XRP
16
22
25
26
ALL
45
50
32
62
|
30m
1h
4h
1d
BTC
0
12
72
95
ETH
0
12
72
95
SOL
0
34
80
97
BNB
0
10
72
95
DOGE
0
26
78
96
XRP
0
17
75
96
ALL
0
31
80
97
|
| 14 | Trade the Turtle Breakout: Enter on the 20-Bar High, Exit on the 10-Bar Low or a Two-ATR Stop A classic trend-following system on a single market's close: a long position opens when price breaks to a fresh 20-bar high, and closes when price breaks the 10-bar low or falls two average true ranges below the entry, whichever comes first — the breakout rules of the Turtle traders, hardened with a volatility stop. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Breakout | 46 |
30m
1h
4h
1d
BTC
0
4
36
70
ETH
5
59
89
100
SOL
0
0
0
100
BNB
0
0
14
7
DOGE
0
30
100
58
XRP
0
66
100
100
ALL
100
100
66
51
|
30m
1h
4h
1d
BTC
0
36
50
51
ETH
23
43
49
57
SOL
30
16
40
50
BNB
38
50
53
36
DOGE
15
41
52
40
XRP
1
28
47
31
ALL
100
100
58
48
|
30m
1h
4h
1d
BTC
0
40
66
93
ETH
13
56
79
100
SOL
16
0
42
100
BNB
53
100
100
100
DOGE
0
73
100
96
XRP
0
19
100
55
ALL
100
100
90
78
|
30m
1h
4h
1d
BTC
18
24
34
52
ETH
26
28
31
64
SOL
26
26
31
70
BNB
24
30
38
32
DOGE
12
16
18
54
XRP
13
16
24
17
ALL
41
45
32
64
|
30m
1h
4h
1d
BTC
0
10
72
95
ETH
0
12
72
96
SOL
0
32
80
97
BNB
0
12
72
95
DOGE
0
24
79
96
XRP
0
16
75
96
ALL
0
34
81
97
|
| 15 | Enter Long When the 90-Bar Return Turns Positive, Exit When It Turns Negative A pure momentum rule on a single market's close: the signal is nothing but the return over the last 90 bars, and the position is long whenever that return is positive and flat whenever it is negative. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Momentum | 52 |
30m
1h
4h
1d
BTC
4
38
82
44
ETH
74
100
100
79
SOL
45
61
88
63
BNB
0
37
62
0
DOGE
0
67
100
38
XRP
32
47
100
0
ALL
100
100
84
62
|
30m
1h
4h
1d
BTC
35
45
50
31
ETH
44
48
51
31
SOL
56
56
49
38
BNB
42
56
39
31
DOGE
35
42
43
26
XRP
22
25
34
4
ALL
88
69
47
30
|
30m
1h
4h
1d
BTC
41
68
100
72
ETH
68
88
100
72
SOL
83
98
100
96
BNB
79
100
100
100
DOGE
34
100
100
79
XRP
0
3
71
0
ALL
100
100
100
87
|
30m
1h
4h
1d
BTC
20
22
24
43
ETH
24
30
36
33
SOL
28
28
40
17
BNB
27
27
40
35
DOGE
18
24
29
0
XRP
21
22
24
9
ALL
42
42
36
44
|
30m
1h
4h
1d
BTC
0
14
75
96
ETH
0
16
75
96
SOL
0
36
84
97
BNB
0
17
75
96
DOGE
0
21
78
96
XRP
0
12
74
95
ALL
9
48
83
97
|
| 16 | Enter Long When RSI 14 Drops Below 30, Exit When It Rises Above 70 A contrarian rule on a single market's close: the 14-bar relative strength index marks the market oversold when it drops below 30 and overbought when it rises above 70, so the position buys into one-sided selling and sells into one-sided buying. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Mean reversion | 26 |
30m
1h
4h
1d
BTC
0
0
0
0
ETH
0
0
0
0
SOL
0
0
0
0
BNB
0
0
0
0
DOGE
0
0
0
0
XRP
0
12
13
100
ALL
0
0
0
0
|
30m
1h
4h
1d
BTC
6
0
21
32
ETH
0
0
0
19
SOL
7
1
19
0
BNB
46
26
36
17
DOGE
25
17
7
54
XRP
1
8
10
66
ALL
0
0
6
25
|
30m
1h
4h
1d
BTC
0
0
8
31
ETH
0
0
0
6
SOL
0
0
0
0
BNB
56
12
38
6
DOGE
8
0
0
43
XRP
0
0
0
70
ALL
0
0
0
11
|
30m
1h
4h
1d
BTC
100
100
100
100
ETH
100
100
92
100
SOL
100
95
100
75
BNB
100
100
100
75
DOGE
100
96
75
100
XRP
100
100
100
100
ALL
98
87
100
100
|
30m
1h
4h
1d
BTC
68
82
94
99
ETH
67
81
95
99
SOL
78
89
97
100
BNB
69
84
95
99
DOGE
76
88
96
99
XRP
72
85
95
99
ALL
69
84
97
100
|
| 17 | Enter Long When Price Pierces the Lower Bollinger Band, Exit at the Middle A mean-reversion rule on a single market's close: Bollinger Bands frame the close with a 20-bar moving average and an envelope two standard deviations wide on each side, a long position opens when price pierces the lower band, and it exits when price reverts back above the middle of the envelope. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Mean reversion | 24 |
30m
1h
4h
1d
BTC
7
0
0
0
ETH
0
0
0
0
SOL
0
0
0
0
BNB
0
0
0
0
DOGE
49
0
0
0
XRP
99
0
10
51
ALL
0
0
0
0
|
30m
1h
4h
1d
BTC
41
0
0
8
ETH
6
0
0
16
SOL
45
16
13
7
BNB
47
7
5
24
DOGE
68
0
0
22
XRP
41
0
2
21
ALL
0
0
16
24
|
30m
1h
4h
1d
BTC
42
0
0
0
ETH
0
0
0
0
SOL
41
0
0
0
BNB
60
0
0
14
DOGE
88
0
0
19
XRP
45
0
0
8
ALL
0
0
0
9
|
30m
1h
4h
1d
BTC
100
100
100
100
ETH
100
100
100
100
SOL
100
100
100
100
BNB
100
100
100
100
DOGE
100
100
100
78
XRP
100
100
100
100
ALL
100
89
100
94
|
30m
1h
4h
1d
BTC
0
26
79
97
ETH
0
26
79
96
SOL
9
46
85
98
BNB
0
29
80
97
DOGE
0
39
83
97
XRP
0
31
79
96
ALL
12
49
85
98
|
| 18 | Enter Long When Price Pierces the Lower Bollinger Band, Exit at the Upper A mean-reversion rule on a single market's close: Bollinger Bands frame the close with a 20-bar moving average and an envelope two standard deviations wide on each side, a long position opens when price pierces the lower band, and it exits only when price crosses the upper band — riding the full swing from one edge of the envelope to the other. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Mean reversion | 22 |
30m
1h
4h
1d
BTC
0
0
0
0
ETH
0
0
0
0
SOL
0
0
0
0
BNB
0
0
0
0
DOGE
0
0
0
0
XRP
44
0
0
27
ALL
0
0
0
0
|
30m
1h
4h
1d
BTC
17
19
15
8
ETH
0
18
3
16
SOL
35
33
30
0
BNB
24
56
33
8
DOGE
2
27
0
24
XRP
23
4
0
12
ALL
0
0
0
0
|
30m
1h
4h
1d
BTC
0
2
0
0
ETH
0
0
0
0
SOL
20
16
13
0
BNB
5
84
29
0
DOGE
0
11
0
25
XRP
1
0
0
0
ALL
0
0
0
0
|
30m
1h
4h
1d
BTC
100
100
100
67
ETH
100
100
100
98
SOL
100
100
88
95
BNB
100
100
100
88
DOGE
100
100
90
80
XRP
100
100
91
71
ALL
100
92
93
68
|
30m
1h
4h
1d
BTC
16
50
86
98
ETH
15
49
86
98
SOL
37
66
91
99
BNB
18
51
87
98
DOGE
31
60
90
98
XRP
21
54
88
98
ALL
39
66
91
99
|
| 19 | Enter Long on a Confirmed Bounce off Support, Exit at Resistance A range-trading rule on a single market's close: support and resistance are the lowest and highest closes of the prior 20 bars, a long position opens when price dips below support and the next close recovers above the broken floor, and it exits when price reaches resistance. The notebook defines the rule, shows it trading on a simulated series, measures it on ten years of real Binance data across a basket of liquid symbols and four timeframes, then replays it on a resampled history, ending in a verdict. | Mean reversion | 20 |
30m
1h
4h
1d
BTC
0
0
0
0
ETH
0
0
0
0
SOL
0
0
0
0
BNB
0
0
0
0
DOGE
0
0
0
0
XRP
36
0
0
19
ALL
0
0
0
0
|
30m
1h
4h
1d
BTC
13
0
31
5
ETH
0
13
14
0
SOL
30
27
1
0
BNB
0
9
27
10
DOGE
18
0
0
0
XRP
17
0
0
8
ALL
0
6
0
0
|
30m
1h
4h
1d
BTC
0
0
25
0
ETH
0
0
0
0
SOL
13
7
0
0
BNB
0
0
17
0
DOGE
0
0
0
0
XRP
0
0
0
0
ALL
0
0
0
0
|
30m
1h
4h
1d
BTC
100
100
100
100
ETH
100
100
100
100
SOL
100
100
99
64
BNB
100
100
100
100
DOGE
100
100
98
70
XRP
100
100
100
100
ALL
100
100
100
100
|
30m
1h
4h
1d
BTC
7
45
84
97
ETH
9
44
85
98
SOL
29
60
90
98
BNB
10
45
85
98
DOGE
20
54
88
98
XRP
12
49
86
97
ALL
34
63
90
98
|