§ corpus sweep · daily bars · 2026-08-08
We ran every public Pine script we could find.
12,424 scripts scraped from public GitHub repositories, classified by AST into four grading tracks, and measured — each track by the only question it can honestly answer. The 3,797 that place orders are backtested below; signal indicators are traded through a published harness; plot-only indicators are scored on out-of-sample predictive power against canonical baselines; visual tools are audited for repaint surface. Every guard result is a column, never a pass/fail stamp.
Scripts swept
3,797
Track A — declares strategy() or places orders
Eligible measurements
5,478
24.0% of 22,782 script-market pairs
Clear all four guards
2
Across all six markets combined
…with confirmable fills
0
Both survivors exit on a trailing stop
The two scripts that clear every statistical guard both exit on a trailing stop. A stop fills somewhere inside a bar and daily bars do not record where — so the engine has to assume a path, and on the higher-scoring of the two that assumption is doing the work: a 0.1% trailing offset on candles with a 3–5% range, 700 trades, a $181 maximum drawdown. We publish it, labelled, and rank it separately. It is not a verdict on the script. It is a statement about what a bar dataset can and cannot confirm.
Where the measurements go
Counted in script-market pairs, not scripts — a script can be ineligible on one market and perfectly measurable on another. None of these rules is a quality judgment; each one marks a backtest that did not produce a measurable result at all.
- 4,755equity never moved
- 4,666did not compile or crashed
- 4,014fewer than 20 closed trades
- 1,694held a position ≥98% of bars
- 1,363implied leverage above 1.5×
- 685account went to zero
- 127held a position <2% of bars
- 3,654eligible, but fills depend on an assumed intrabar path (66.7% of eligible — labelled, not excluded)
The same sweep at three timeframes
Daily is the table above, and the only one worth ranking on. The intraday sweeps run for completeness — many of these scripts were written for intraday charts and deserve the fair test — but their histories are far shorter outside crypto, so the six markets are no longer being asked the same question.
| Timeframe | Eligible | History (bars) | Mean luck hurdle | Clear all guards | …with confirmable fills |
|---|---|---|---|---|---|
| 1Dranked above | 5,478 | 3,278–4,000 | 0.90 | 2 | 0 |
| 4H | 5,667 | 1,707–19,653 | 2.09 | 0 | 0 |
| 1H | 6,214 | 5,090–78,545 | 2.68 | 3 | 0 |
The spread in the history column is the reason to be careful: at 4H and 1H the crypto markets carry nine years and the equity and metals markets carry two or three, which inflates their buy-and-hold benchmark and makes the excess column mean something different in each row. Daily is the only sweep where all six windows are long enough to say the same thing.
By market
Ranked on Sharpe in excess of buy-and-hold over the identical window. Markets are never averaged together: the windows differ, the regimes differ, and a mean across them lets one spectacular cell carry five poor ones.
BTCUSD
2017-08-17 → 2026-08-07 · 3,278 bars · buy-and-hold Sharpe 0.66 · luck hurdle 0.99
715 of 3,797 measurements were eligible; 622 survive the duplicate collapse. None clear all four guards. A search this wide is expected to throw up a 0.99 Sharpe on luck alone.
| # | Script | Sharpe | vs B&H | Deflated | Out-of-sample | Breakeven | Trades | Guards | Curve |
|---|---|---|---|---|---|---|---|---|---|
| 1 | f350bbc9469dunverified fills | 1.23 | +0.57 | 0.83 | 1.05 | 130bp | 429 | ||
| 2 | 9df83dc1035d | 0.98 | +0.33 | 0.48 | 0.76 | 350bp | 79 | ||
| 3 | 481eadba9429unverified fills | 0.93 | +0.27 | 0.40 | 0.20 | 249bp | 71 | ||
| 4 | 3d10a14e6366unverified fills+1 copy | 0.91 | +0.25 | 0.36 | 0.08 | 690bp | 70 | ||
| 5 | 79ee75d8a4f1unverified fills | 0.90 | +0.24 | 0.37 | 0.67 | 376bp | 104 | ||
| 6 | de2b3ad147b6unverified fills | 0.90 | +0.24 | 0.36 | 1.05 | 173bp | 191 | ||
| 7 | 6d7745c56b7e | 0.88 | +0.23 | 0.34 | 0.43 | 712bp | 42 | ||
| 8 | e75dba25276aunverified fills | 0.87 | +0.22 | 0.31 | 0.92 | 387bp | 86 | ||
| 9 | 3fa2a8943294 | 0.87 | +0.21 | 0.32 | 0.45 | 59bp | 408 | ||
| 10 | bb5ea915a6f2unverified fills | 0.87 | +0.21 | 0.32 | 0.94 | 398bp | 42 | ||
| 11 | bcef98bb3554unverified fills | 0.86 | +0.20 | 0.30 | 0.63 | 239bp | 126 | ||
| 12 | 3f2d12f10ac4 | 0.85 | +0.20 | 0.30 | 0.66 | 850bp | 45 | ||
| 13 | b7dbba45076eunverified fills | 0.84 | +0.18 | 0.27 | 0.08 | 655bp | 71 | ||
| 14 | 10a77dd7801funverified fills | 0.84 | +0.18 | 0.26 | 1.11 | 216bp | 38 | ||
| 15 | 0824a9731deaunverified fills | 0.83 | +0.18 | 0.25 | 0.56 | 93bp | 194 | ||
| 16 | a8412e9e7194unverified fills | 0.83 | +0.18 | 0.28 | 0.78 | 888bp | 37 | ||
| 17 | 18108d19313f | 0.83 | +0.17 | 0.27 | 0.50 | 199bp | 116 | ||
| 18 | 8c2d382277ceunverified fills | 0.83 | +0.17 | 0.27 | 0.61 | 471bp | 84 | ||
| 19 | 82bdbd84e6cf | 0.83 | +0.17 | 0.27 | 0.68 | 212bp | 173 | ||
| 20 | 00b46c35e453unverified fills | 0.82 | +0.16 | 0.24 | 0.95 | 157bp | 68 | ||
| 21 | d9106db72344unverified fills | 0.81 | +0.16 | 0.25 | 0.27 | 45bp | 735 | ||
| 22 | 97bb41d55176unverified fills | 0.80 | +0.14 | 0.23 | 0.61 | 71bp | 282 | ||
| 23 | e03fb2f48bd9 | 0.79 | +0.14 | 0.23 | 0.76 | 1673bp | 67 | ||
| 24 | 51cb4a80f2fd+1 copy | 0.78 | +0.13 | 0.22 | 0.73 | 487bp | 64 | ||
| 25 | 27e332631bd1 | 0.78 | +0.13 | 0.19 | 0.68 | 307bp | 22 |
ETHUSD
2017-08-17 → 2026-08-07 · 3,278 bars · buy-and-hold Sharpe 0.56 · luck hurdle 0.94
863 of 3,797 measurements were eligible; 717 survive the duplicate collapse. 2 clear all four guards, and none of those has fills we can confirm. A search this wide is expected to throw up a 0.94 Sharpe on luck alone.
| # | Script | Sharpe | vs B&H | Deflated | Out-of-sample | Breakeven | Trades | Guards | Curve |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 8b0ccbe43bfdunverified fills | 2.50 | +1.94 | 1.00 | 2.38 | 162bp | 700 | ||
| 2 | f350bbc9469dunverified fills | 1.49 | +0.93 | 0.99 | 1.67 | 251bp | 427 | ||
| 3 | e8ce11a33670unverified fills | 1.03 | +0.47 | 0.69 | 1.54 | 103bp | 90 | ||
| 4 | 320a76d7cda6unverified fills | 1.00 | +0.43 | 0.58 | 1.96 | 56bp | 282 | ||
| 5 | e0f64d88f71funverified fills | 0.95 | +0.39 | 0.52 | 1.05 | 357bp | 92 | ||
| 6 | 92ef1156b121 | 0.90 | +0.33 | 0.44 | 0.78 | 570bp | 52 | ||
| 7 | 786f08429a15unverified fills | 0.86 | +0.30 | 0.39 | 1.15 | 206bp | 83 | ||
| 8 | 7e0bd15865f4unverified fills | 0.84 | +0.28 | 0.37 | 0.49 | 355bp | 126 | ||
| 9 | 0906c0321dd3unverified fills | 0.82 | +0.26 | 0.34 | 0.45 | 366bp | 95 | ||
| 10 | 9df83dc1035d | 0.82 | +0.26 | 0.34 | 0.45 | 454bp | 72 | ||
| 11 | 6995914c771dunverified fills+1 copy | 0.78 | +0.21 | 0.28 | 0.66 | 502bp | 87 | ||
| 12 | bb5ea915a6f2unverified fills | 0.76 | +0.20 | 0.26 | 0.31 | 507bp | 36 | ||
| 13 | f814fdd4baa4unverified fills | 0.76 | +0.20 | 0.26 | 0.40 | 885bp | 36 | ||
| 14 | f6451e46d9b0unverified fills | 0.75 | +0.19 | 0.24 | 1.37 | 95bp | 164 | ||
| 15 | 641bd91b80b0unverified fills | 0.74 | +0.18 | 0.24 | 0.64 | 193bp | 176 | ||
| 16 | 47ca82903670unverified fills | 0.74 | +0.18 | 0.23 | 0.73 | 347bp | 46 | ||
| 17 | d2146a1673e9unverified fills | 0.73 | +0.17 | 0.21 | 0.48 | 186bp | 424 | ||
| 18 | 6b6d612edc1eunverified fills | 0.71 | +0.15 | 0.17 | 0.74 | 130bp | 47 | ||
| 19 | 51cb4a80f2fd+1 copy | 0.71 | +0.15 | 0.21 | 0.45 | 617bp | 58 | ||
| 20 | 2c4833f9ea17unverified fills | 0.71 | +0.15 | 0.21 | 0.23 | 227bp | 143 | ||
| 21 | 3770e8fe4b4c+1 copy | 0.71 | +0.14 | 0.20 | 0.49 | 277bp | 103 | ||
| 22 | 8086936c0135unverified fills | 0.70 | +0.14 | 0.20 | 0.30 | 546bp | 71 | ||
| 23 | 8c2d382277ceunverified fills | 0.69 | +0.13 | 0.19 | 0.77 | 468bp | 81 | ||
| 24 | bcef98bb3554unverified fills | 0.69 | +0.13 | 0.18 | 0.49 | 224bp | 122 | ||
| 25 | 0ce2a5c82945unverified fills | 0.68 | +0.12 | 0.18 | 0.45 | 567bp | 77 |
SPX500
2010-09-10 → 2026-08-06 · 4,000 bars · buy-and-hold Sharpe 0.80 · luck hurdle 1.01
1,002 of 3,797 measurements were eligible; 845 survive the duplicate collapse. None clear all four guards. A search this wide is expected to throw up a 1.01 Sharpe on luck alone.
| # | Script | Sharpe | vs B&H | Deflated | Out-of-sample | Breakeven | Trades | Guards | Curve |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 8b0ccbe43bfdunverified fills | 1.44 | +0.64 | 0.96 | 1.97 | 16bp | 889 | ||
| 2 | 10e5023f17bfunverified fills | 0.87 | +0.07 | 0.27 | 0.74 | 135bp | 67 | ||
| 3 | 933c5c63a17d | 0.87 | +0.07 | 0.28 | 0.67 | 44bp | 279 | ||
| 4 | 9ed647d79f1a | 0.86 | +0.06 | 0.27 | 1.00 | 19bp | 245 | ||
| 5 | 350f6fea94d8unverified fills | 0.86 | +0.06 | 0.25 | 0.58 | 19bp | 113 | ||
| 6 | 2954f8fe430bunverified fills | 0.85 | +0.05 | 0.26 | 1.17 | 188bp | 53 | ||
| 7 | 0f5405895f90unverified fills | 0.84 | +0.04 | 0.24 | 0.55 | 120bp | 79 | ||
| 8 | e75dba25276aunverified fills | 0.81 | +0.00 | 0.20 | 0.76 | 770bp | 21 | ||
| 9 | c4abe310bb5b | 0.80 | +0.00 | 0.19 | 0.87 | 114bp | 109 | ||
| 10 | 09112c0ed304unverified fills+1 copy | 0.80 | -0.00 | 0.19 | 1.15 | 10bp | 248 | ||
| 11 | c82f32e839bd | 0.79 | -0.01 | 0.19 | 0.70 | 157bp | 53 | ||
| 12 | c32ee9a09a20unverified fills | 0.78 | -0.02 | 0.18 | 0.74 | 44bp | 217 | ||
| 13 | 47ca82903670unverified fills | 0.78 | -0.02 | 0.18 | 0.71 | 78bp | 65 | ||
| 14 | ffcca3b65c2aunverified fills | 0.77 | -0.03 | 0.17 | 1.02 | 52bp | 153 | ||
| 15 | b10b53e4a43b | 0.77 | -0.03 | 0.17 | 0.81 | 161bp | 120 | ||
| 16 | a5ef13bf4849unverified fills+1 copy | 0.76 | -0.04 | 0.15 | 0.97 | 85bp | 62 | ||
| 17 | c85c954ef05cunverified fills | 0.76 | -0.04 | 0.16 | 1.46 | 24bp | 150 | ||
| 18 | 9df83dc1035d | 0.75 | -0.05 | 0.15 | 0.90 | 45bp | 106 | ||
| 19 | 9e794798c0fd | 0.72 | -0.08 | 0.12 | 0.61 | 94bp | 80 | ||
| 20 | 81db64760c31unverified fills | 0.72 | -0.08 | 0.12 | 0.48 | 66bp | 110 | ||
| 21 | ef7ac175c108unverified fills | 0.71 | -0.09 | 0.12 | 0.98 | 28bp | 207 | ||
| 22 | c330af749e92 | 0.71 | -0.09 | 0.11 | 1.02 | 123bp | 69 | ||
| 23 | 394796be9266unverified fills | 0.71 | -0.09 | 0.12 | 0.37 | 44bp | 186 | ||
| 24 | 6d7745c56b7e | 0.71 | -0.09 | 0.12 | 0.81 | 63bp | 66 | ||
| 25 | b0c066e1b159 | 0.71 | -0.09 | 0.11 | 1.08 | 99bp | 67 |
QQQ
2010-09-10 → 2026-08-06 · 4,000 bars · buy-and-hold Sharpe 0.94 · luck hurdle 1.06
1,011 of 3,797 measurements were eligible; 844 survive the duplicate collapse. None clear all four guards. A search this wide is expected to throw up a 1.06 Sharpe on luck alone.
| # | Script | Sharpe | vs B&H | Deflated | Out-of-sample | Breakeven | Trades | Guards | Curve |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 8b0ccbe43bfdunverified fills | 1.17 | +0.23 | 0.66 | 1.65 | 20bp | 806 | ||
| 2 | 10e5023f17bfunverified fills | 1.00 | +0.06 | 0.40 | 0.94 | 194bp | 70 | ||
| 3 | cafc7bd8d462unverified fills | 0.96 | +0.02 | 0.35 | 0.63 | 22bp | 136 | ||
| 4 | ef7815e76f1cunverified fills | 0.94 | +0.01 | 0.32 | 1.28 | 105bp | 229 | ||
| 5 | b21aaf4506e8unverified fills | 0.91 | -0.02 | 0.28 | 0.40 | 351bp | 39 | ||
| 6 | 41a59c37b715unverified fills | 0.88 | -0.06 | 0.21 | 0.89 | 63bp | 136 | ||
| 7 | 0f5405895f90unverified fills | 0.87 | -0.07 | 0.23 | 0.78 | 173bp | 73 | ||
| 8 | 394796be9266unverified fills | 0.86 | -0.07 | 0.22 | 0.74 | 52bp | 229 | ||
| 9 | 933c5c63a17d | 0.85 | -0.08 | 0.21 | 0.71 | 41bp | 366 | ||
| 10 | 8880640d00d1unverified fills+1 copy | 0.85 | -0.09 | 0.21 | 0.51 | 362bp | 20 | ||
| 11 | 9ed647d79f1a | 0.84 | -0.09 | 0.20 | 0.83 | 26bp | 228 | ||
| 12 | 90dc8c511bfbunverified fills | 0.84 | -0.09 | 0.19 | 0.81 | 185bp | 50 | ||
| 13 | c32ee9a09a20unverified fills | 0.84 | -0.10 | 0.20 | 0.61 | 61bp | 204 | ||
| 14 | b91cba1b6688unverified fills | 0.83 | -0.10 | 0.19 | 0.57 | 498bp | 21 | ||
| 15 | c82f32e839bd | 0.83 | -0.11 | 0.18 | 0.61 | 298bp | 40 | ||
| 16 | c8c53ca8f96cunverified fills | 0.83 | -0.11 | 0.18 | 0.26 | 137bp | 41 | ||
| 17 | fa4858c800aaunverified fills | 0.83 | -0.11 | 0.18 | 0.57 | 26bp | 77 | ||
| 18 | a8412e9e7194unverified fills | 0.82 | -0.12 | 0.17 | 0.56 | 1248bp | 20 | ||
| 19 | 5374ee946141unverified fills | 0.81 | -0.13 | 0.17 | 0.96 | 185bp | 46 | ||
| 20 | e75dba25276aunverified fills | 0.81 | -0.13 | 0.16 | 0.70 | 1156bp | 22 | ||
| 21 | c330af749e92 | 0.80 | -0.13 | 0.15 | 0.85 | 127bp | 93 | ||
| 22 | 9df83dc1035d | 0.80 | -0.14 | 0.15 | 0.74 | 64bp | 104 | ||
| 23 | 282448ec3ee7unverified fills | 0.79 | -0.15 | 0.15 | 0.71 | 1130bp | 24 | ||
| 24 | e96912a44343unverified fills | 0.79 | -0.15 | 0.14 | 0.91 | 59bp | 266 | ||
| 25 | 1a005e6b1836unverified fills+8 copies | 0.78 | -0.15 | 0.13 | 0.70 | 211bp | 49 |
GOLD
2010-09-10 → 2026-08-06 · 4,000 bars · buy-and-hold Sharpe 0.52 · luck hurdle 0.79
1,014 of 3,797 measurements were eligible; 846 survive the duplicate collapse. None clear all four guards. A search this wide is expected to throw up a 0.79 Sharpe on luck alone.
| # | Script | Sharpe | vs B&H | Deflated | Out-of-sample | Breakeven | Trades | Guards | Curve |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 8b0ccbe43bfdunverified fills | 1.18 | +0.65 | 0.93 | 0.96 | 16bp | 817 | ||
| 2 | e75dba25276aunverified fills | 0.80 | +0.28 | 0.53 | 1.64 | 892bp | 21 | ||
| 3 | ba3d466c57f7unverified fills | 0.77 | +0.24 | 0.47 | 1.58 | 731bp | 27 | ||
| 4 | bafac95c4f45 | 0.71 | +0.19 | 0.37 | 0.89 | 16bp | 239 | ||
| 5 | f5c79326a9dbunverified fills | 0.70 | +0.18 | 0.36 | 0.80 | 61bp | 33 | ||
| 6 | 47ca82903670unverified fills | 0.69 | +0.17 | 0.35 | 1.21 | 58bp | 79 | ||
| 7 | 54a337f2ed35 | 0.68 | +0.15 | 0.31 | 0.65 | 22bp | 118 | ||
| 8 | 110c8ca80323unverified fills | 0.67 | +0.15 | 0.32 | 1.23 | 150bp | 20 | ||
| 9 | 129af442b78aunverified fills+1 copy | 0.65 | +0.13 | 0.29 | 0.86 | 57bp | 1042 | ||
| 10 | 815bc5ac8ef1unverified fills | 0.65 | +0.13 | 0.29 | 0.84 | 153bp | 35 | ||
| 11 | a6baae6cc1f2 | 0.65 | +0.12 | 0.29 | 0.98 | 107bp | 29 | ||
| 12 | 984f25ff4a3eunverified fills | 0.64 | +0.12 | 0.28 | 0.97 | 98bp | 43 | ||
| 13 | 46f51aa7fa77unverified fills+2 copies | 0.63 | +0.11 | 0.25 | 1.27 | 22bp | 107 | ||
| 14 | e18ef3854449unverified fills | 0.63 | +0.10 | 0.26 | 1.16 | 195bp | 31 | ||
| 15 | 97e2ab193cd4 | 0.62 | +0.10 | 0.27 | 1.12 | 252bp | 45 | ||
| 16 | 08675d7e8462 | 0.62 | +0.09 | 0.25 | 1.09 | 81bp | 84 | ||
| 17 | dfce8ddf6c28unverified fills | 0.61 | +0.09 | 0.24 | 1.12 | 27bp | 169 | ||
| 18 | e65cb47877d6unverified fills | 0.60 | +0.07 | 0.22 | 1.08 | 13bp | 542 | ||
| 19 | 850d0973bf7dunverified fills | 0.59 | +0.07 | 0.24 | 1.07 | 61bp | 252 | ||
| 20 | ef7815e76f1cunverified fills | 0.58 | +0.06 | 0.21 | 1.43 | 61bp | 193 | ||
| 21 | 63e93f09d32c | 0.58 | +0.06 | 0.22 | 1.07 | 56bp | 126 | ||
| 22 | e34b5f5c4058unverified fills | 0.58 | +0.05 | 0.19 | 0.96 | 34bp | 152 | ||
| 23 | 10e5023f17bfunverified fills | 0.58 | +0.05 | 0.20 | 0.93 | 62bp | 70 | ||
| 24 | c101398d3287 | 0.58 | +0.05 | 0.21 | 0.89 | 93bp | 54 | ||
| 25 | c8c53ca8f96cunverified fills | 0.57 | +0.05 | 0.20 | 0.92 | 102bp | 36 |
EURUSD
2011-03-27 → 2026-08-07 · 4,000 bars · buy-and-hold Sharpe -0.11 · luck hurdle 0.63
873 of 3,797 measurements were eligible; 721 survive the duplicate collapse. None clear all four guards. A search this wide is expected to throw up a 0.63 Sharpe on luck alone.
| # | Script | Sharpe | vs B&H | Deflated | Out-of-sample | Breakeven | Trades | Guards | Curve |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 8b0ccbe43bfdunverified fills | 1.71 | +1.82 | 1.00 | 1.27 | 9bp | 863 | ||
| 2 | d2146a1673e9unverified fills | 0.62 | +0.73 | 0.49 | 0.35 | 66bp | 178 | ||
| 3 | abc8ce376cb5unverified fills | 0.48 | +0.60 | 0.28 | 0.10 | 12bp | 353 | ||
| 4 | 3c7af8b6c7aa | 0.47 | +0.58 | 0.26 | 0.67 | 25bp | 24 | ||
| 5 | 9960631a4fe0unverified fills | 0.45 | +0.56 | 0.23 | 0.62 | 67bp | 87 | ||
| 6 | 524cd1698d6eunverified fills | 0.43 | +0.54 | 0.19 | 0.33 | 16bp | 32 | ||
| 7 | 017e4bf7251bunverified fills | 0.42 | +0.53 | 0.18 | -0.45 | 3bp | 592 | ||
| 8 | 30a49af03fffunverified fills | 0.41 | +0.53 | 0.20 | 0.66 | 44bp | 22 | ||
| 9 | 46f9f3639fbf | 0.40 | +0.51 | 0.18 | 0.38 | 39bp | 27 | ||
| 10 | af6605f124bcunverified fills | 0.39 | +0.50 | 0.16 | -0.11 | 280bp | 2162 | ||
| 11 | 8ecad2a97c87unverified fills | 0.39 | +0.50 | 0.17 | 0.71 | 18bp | 360 | ||
| 12 | c49c494ee52dunverified fills | 0.37 | +0.49 | 0.16 | 0.92 | 19bp | 115 | ||
| 13 | 77884fa81d6funverified fills | 0.37 | +0.48 | 0.16 | 0.42 | 13bp | 270 | ||
| 14 | 97756a7feea9 | 0.36 | +0.47 | 0.14 | 0.42 | 9bp | 166 | ||
| 15 | c2684d73ea76 | 0.36 | +0.47 | 0.14 | 0.22 | 8bp | 108 | ||
| 16 | 1ae3ee549758 | 0.35 | +0.46 | 0.14 | 0.30 | 12bp | 86 | ||
| 17 | 1ab9d8c982ebunverified fills | 0.35 | +0.46 | 0.13 | -0.15 | 22bp | 78 | ||
| 18 | fedbb19d402bunverified fills | 0.34 | +0.45 | 0.12 | -0.04 | 16bp | 56 | ||
| 19 | 0dd0fffbcfe8unverified fills | 0.33 | +0.44 | 0.12 | -0.34 | 8bp | 70 | ||
| 20 | 70887d4d62bd | 0.33 | +0.44 | 0.12 | 0.10 | 10bp | 94 | ||
| 21 | 337fa4fc672aunverified fills | 0.32 | +0.44 | 0.11 | 0.15 | 10bp | 70 | ||
| 22 | 116ae7ac5736unverified fills+16 copies | 0.31 | +0.42 | 0.10 | 0.73 | 4bp | 328 | ||
| 23 | 0f5bde3b2524unverified fills | 0.31 | +0.42 | 0.10 | 0.10 | 19bp | 86 | ||
| 24 | bafac95c4f45 | 0.30 | +0.42 | 0.09 | -0.20 | 3bp | 185 | ||
| 25 | 952cdcbe6346unverified fills | 0.30 | +0.41 | 0.09 | -0.14 | 2bp | 372 |
Scripts that show up more than once
63 scripts reach the published rows of at least two markets, 4 of four or more. Each is reported by its worst market, never its best — that is what makes the number mean something.
| Script | Markets | Worst vs B&H | Worst out-of-sample | Lowest deflated | Fills |
|---|---|---|---|---|---|
| 8b0ccbe43bfd | ETHUSD · SPX500 · QQQ · GOLD · EURUSD | +0.23 | 0.96 | 0.66 | assumed intrabar |
| 47ca82903670 | BTCUSD · ETHUSD · SPX500 · QQQ · GOLD | -0.24 | 0.62 | 0.08 | assumed intrabar |
| e75dba25276a | BTCUSD · SPX500 · QQQ · GOLD | -0.13 | 0.70 | 0.16 | assumed intrabar |
| 9df83dc1035d | BTCUSD · ETHUSD · SPX500 · QQQ | -0.14 | 0.45 | 0.15 | confirmable |
| 08675d7e8462 | BTCUSD · ETHUSD · GOLD | +0.07 | 0.60 | 0.13 | confirmable |
| 10e5023f17bf | SPX500 · QQQ · GOLD | +0.05 | 0.74 | 0.20 | assumed intrabar |
| 79ee75d8a4f1 | BTCUSD · ETHUSD · EURUSD | +0.05 | 0.06 | 0.08 | assumed intrabar |
| 933c5c63a17d | SPX500 · QQQ · GOLD | -0.08 | 0.67 | 0.15 | confirmable |
| 394796be9266 | SPX500 · QQQ · GOLD | -0.09 | 0.37 | 0.12 | assumed intrabar |
| 9ed647d79f1a | SPX500 · QQQ · GOLD | -0.09 | 0.83 | 0.17 | confirmable |
| b21aaf4506e8 | ETHUSD · SPX500 · QQQ | -0.10 | 0.35 | 0.11 | assumed intrabar |
| f814fdd4baa4 | ETHUSD · SPX500 · QQQ | -0.20 | 0.40 | 0.11 | assumed intrabar |
§ track B · signal indicators · same rulebook
2,658 indicators that say “Buy” — so we bought.
4,058 scripts never call strategy() but emit discrete signals — alertcondition(), buy/sell shapes, arrows. Those signals are machine-readable trade semantics, so a harness rewrites each script as the same canonical strategy: long on any BUY-classified signal at the next bar open, flat on any SELL, 100% of equity, long-only. Signal titles are classified by a fixed keyword table — no model in the loop, and the exact mapping used for every script is recorded. 2,658 of 4,058 mapped cleanly (2,441 with an exit signal, 217 entry-only); the rest are counted, not guessed at. The harnessed scripts then run through the identical pipeline as Track A — same eligibility rules, same deflated Sharpe, same duplicate collapse. One difference is deliberate: the harness sizes every entry at 100% of current equity, so implied leverage is measured against equity rather than initial capital — against initial capital, compounding itself would read as margin.
Signal indicators harnessed
2,658
of 4,058 Track B scripts — the unmapped are listed by reason
Eligible measurements
6,444
40.4% of 15,948 script-market pairs
Clear all four guards
28
All on the equity indices — none on crypto, gold or FX
…with confirmable fills
28
The harness never uses stops, so every fill is bar-verifiable
| Market | Eligible | After dedupe | Beats B&H | OOS positive | Cost ≥ 20bp | All guards |
|---|---|---|---|---|---|---|
| BTCUSD | 1,065 | 774 | 379 | 728 | 730 | 0 |
| ETHUSD | 1,056 | 767 | 401 | 596 | 691 | 0 |
| SPX500 | 1,116 | 840 | 32 | 807 | 660 | 11 |
| QQQ | 1,122 | 840 | 18 | 808 | 733 | 17 |
| GOLD | 1,130 | 849 | 159 | 831 | 610 | 0 |
| EURUSD | 955 | 699 | 348 | 432 | 6 | 0 |
The pattern is the mirror image of Track A. On the crypto markets, buy-and-hold set a Sharpe no dip-buying signal overlay could beat; on the equity indices the harness found 28 candidates that clear every guard — deflated Sharpe included — and all of them fill at bar boundaries, so there is no intrabar assumption to hide behind. The tables below rank the markets where that happened.
SPX500 — signal indicators
2010-09-10 → 2026-08-06 · 4,000 bars · buy-and-hold Sharpe 0.80 · luck hurdle 0.42
1,116 of 2,658 measurements were eligible; 840 survive the duplicate collapse. 11 clear all four guards. A search this wide is expected to throw up a 0.42 Sharpe on luck alone.
| # | Script | Sharpe | vs B&H | Deflated | Out-of-sample | Breakeven | Trades | Guards | Curve |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 79ca6f94d7ae | 0.93 | +0.13 | 0.98 | 1.11 | 110bp | 77 | ||
| 2 | 3741497843a6 | 0.92 | +0.12 | 0.98 | 0.80 | 113bp | 74 | ||
| 3 | 5017c92ab7bd | 0.91 | +0.10 | 0.97 | 0.73 | 48bp | 149 | ||
| 4 | 51f91f8af289 | 0.89 | +0.09 | 0.97 | 0.86 | 19bp | 460 | ||
| 5 | c759f9d5e54c | 0.88 | +0.08 | 0.96 | 0.64 | 256bp | 28 | ||
| 6 | 524a8b03766d | 0.88 | +0.08 | 0.96 | 1.08 | 66bp | 117 | ||
| 7 | 6e1073fb0e17 | 0.88 | +0.08 | 0.96 | 0.93 | 136bp | 54 | ||
| 8 | 0cfe0dc91192 | 0.88 | +0.08 | 0.97 | 0.75 | 54bp | 185 | ||
| 9 | 86e7c9c892cf | 0.88 | +0.08 | 0.96 | 0.78 | 410bp | 20 | ||
| 10 | 4468a6b5999f | 0.85 | +0.05 | 0.96 | 0.90 | 66bp | 112 | ||
| 11 | eceb5c6ef36b | 0.84 | +0.04 | 0.95 | 0.77 | 48bp | 179 | ||
| 12 | 15b955ec0ddc | 0.84 | +0.04 | 0.95 | 0.72 | 248bp | 39 | ||
| 13 | 5dab3671c395 | 0.84 | +0.04 | 0.95 | 0.82 | 98bp | 72 | ||
| 14 | ea1d1a3a95d3 | 0.84 | +0.04 | 0.95 | 0.74 | 123bp | 87 | ||
| 15 | e19a44f3a32f+2 copies | 0.83 | +0.03 | 0.95 | 1.07 | 96bp | 74 | ||
| 16 | da199e035dce | 0.83 | +0.03 | 0.94 | 0.96 | 74bp | 88 | ||
| 17 | 088de02be0e4 | 0.83 | +0.03 | 0.95 | 0.80 | 277bp | 195 | ||
| 18 | 529b1f0fd956 | 0.83 | +0.03 | 0.94 | 0.92 | 352bp | 20 | ||
| 19 | a3199187a8ab | 0.83 | +0.03 | 0.95 | 0.64 | 46bp | 176 | ||
| 20 | 5be17d173c29 | 0.82 | +0.02 | 0.94 | 1.01 | 87bp | 75 | ||
| 21 | 3e31a39b9ca2+5 copies | 0.82 | +0.02 | 0.95 | 0.43 | 17bp | 428 | ||
| 22 | 1782b7b6857e | 0.82 | +0.02 | 0.94 | 0.68 | 38bp | 178 | ||
| 23 | 3261672e1e25 | 0.82 | +0.02 | 0.94 | 1.09 | 191bp | 54 | ||
| 24 | ca29ed426813 | 0.81 | +0.01 | 0.94 | 0.23 | 64bp | 109 | ||
| 25 | 07bb0fb5bcb5 | 0.81 | +0.01 | 0.94 | 0.93 | 162bp | 91 |
QQQ — signal indicators
2010-09-10 → 2026-08-06 · 4,000 bars · buy-and-hold Sharpe 0.94 · luck hurdle 0.47
1,122 of 2,658 measurements were eligible; 840 survive the duplicate collapse. 17 clear all four guards. A search this wide is expected to throw up a 0.47 Sharpe on luck alone.
| # | Script | Sharpe | vs B&H | Deflated | Out-of-sample | Breakeven | Trades | Guards | Curve |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 42f1f172d23d | 0.99 | +0.06 | 0.98 | 0.76 | 12bp | 1003 | ||
| 2 | 0137de1d5e67 | 0.98 | +0.05 | 0.98 | 0.96 | 307bp | 36 | ||
| 3 | dba85b1b6369 | 0.98 | +0.04 | 0.98 | 0.60 | 68bp | 186 | ||
| 4 | 524a8b03766d | 0.98 | +0.04 | 0.98 | 0.78 | 60bp | 151 | ||
| 5 | 2b0ed3671100 | 0.98 | +0.04 | 0.98 | 0.93 | 64bp | 152 | ||
| 6 | b3a4769d80ea+1 copy | 0.97 | +0.04 | 0.98 | 0.73 | 295bp | 53 | ||
| 7 | 038808513a6f | 0.97 | +0.04 | 0.98 | 1.02 | 47bp | 217 | ||
| 8 | ea1d1a3a95d3 | 0.97 | +0.04 | 0.98 | 0.58 | 171bp | 88 | ||
| 9 | 6028e8d2cdd4 | 0.97 | +0.03 | 0.98 | 0.71 | 62bp | 162 | ||
| 10 | d62c73561854 | 0.97 | +0.03 | 0.98 | 0.93 | 85bp | 115 | ||
| 11 | 377d8da362c5 | 0.96 | +0.02 | 0.98 | 0.98 | 202bp | 52 | ||
| 12 | a20d716bc520 | 0.96 | +0.02 | 0.97 | 0.87 | 273bp | 39 | ||
| 13 | 2e353c0677c5 | 0.95 | +0.02 | 0.97 | 0.87 | 38bp | 662 | ||
| 14 | 00ea6298c592 | 0.95 | +0.01 | 0.97 | 0.80 | 115bp | 88 | ||
| 15 | 102043b49f6f | 0.95 | +0.01 | 0.97 | 0.95 | 110bp | 90 | ||
| 16 | 15b955ec0ddc | 0.94 | +0.01 | 0.97 | 0.92 | 412bp | 34 | ||
| 17 | 3a89397cd94f+1 copy | 0.94 | +0.00 | 0.97 | 0.64 | 570bp | 20 | ||
| 18 | eed9a8509d41 | 0.94 | +0.00 | 0.97 | 0.97 | 435bp | 22 | ||
| 19 | afe1590d37e8 | 0.93 | -0.00 | 0.97 | 1.09 | 90bp | 101 | ||
| 20 | 21262a431420 | 0.93 | -0.01 | 0.97 | 0.64 | 123bp | 142 | ||
| 21 | 225ddfa5712a | 0.93 | -0.01 | 0.96 | 0.89 | 48bp | 2424 | ||
| 22 | 695bc710ccc8 | 0.92 | -0.01 | 0.96 | 1.10 | 70bp | 152 | ||
| 23 | 4468a6b5999f | 0.92 | -0.01 | 0.96 | 0.85 | 87bp | 113 | ||
| 24 | 3261672e1e25 | 0.92 | -0.02 | 0.96 | 0.56 | 311bp | 44 | ||
| 25 | 51f91f8af289 | 0.92 | -0.02 | 0.96 | 0.90 | 25bp | 441 |
§ track C · continuous indicators · predictive power
The median indicator knows less than RSI(14).
2,787 scripts only plot — no orders, no discrete signals — so they are not backtested; their plotted values are tested for whether they know anything about the next day. The statistic is the Spearman rank correlation (information coefficient) between a signal's value and the next day's return. The best plot per script and the direction of the relationship are chosen on the first 70% of history only; everything published comes from the last 30%. Price-scale overlays are measured as their distance from price, and signals that are essentially “time” are rejected as nonstationary.
One more hurdle, and it is the one that matters: most plots collapse to some flavour of price-vs-moving-average, and whatever IC that carries belongs to the market's return structure, not to the script. So every market gets a baseline — the best out-of-sample IC among five canonical signals (SMA20/50 distance, RSI14, 5- and 20-day momentum) — and a script only counts for what it measures above that line.
Scored across ≥4 markets
1,944
of 2,787 Track C scripts
Median excess IC
-0.012
Median script trails the canonical baselines out-of-sample
Beat their baseline
27.3%
530 scripts measured above the line
Clear all four guards
26
Positive, consistent, robust and above baseline — all at once
| # | Script · best signal | Excess IC | OOS IC | Worst mkt | Consistency | Signals tried | Guards | Signal quality |
|---|---|---|---|---|---|---|---|---|
| 1 | fbea15d82c25Intraday / Weekly High (vs price) | +0.305 | 0.339 | 0.272 | 6/6 | 12 | 100 | |
| 2 | e452484a0aabRSI-Weekly | +0.082 | 0.113 | 0.101 | 6/6 | 3 | 100 | |
| 3 | 4651171f9885Up Trend 1 (vs price) | +0.049 | 0.074 | 0.023 | 6/6 | 12 | 96 | |
| 4 | fae8ceb48187STR Below - ST (vs price) | +0.051 | 0.083 | 0.020 | 6/6 | 8 | 95 | |
| 5 | e4ed61638b6bUp Trend (vs price) | +0.027 | 0.054 | 0.023 | 6/6 | 24 | 91 | |
| 6 | 6c9d16e92142Down Trend (vs price) | +0.021 | 0.048 | 0.024 | 6/6 | 6 | 81 | |
| 7 | dd003b2ac3a1Up Trend (vs price) | +0.021 | 0.048 | 0.024 | 6/6 | 6 | 81 | |
| 8 | f8022d901e31Down direction (vs price) | +0.021 | 0.048 | 0.024 | 6/6 | 4 | 81 | |
| 9 | 39319cfec20aVolatility Stop | +0.043 | 0.074 | -0.041 | 5/6 | 2 | 78 | |
| 10 | 56790ded32b8Plot 1 | +0.043 | 0.068 | -0.047 | 5/6 | 13 | 78 | |
| 11 | 71f4156832beVolatility Stop | +0.043 | 0.076 | -0.041 | 5/6 | 2 | 78 | |
| 12 | ba4bbe146a12EMA 20 (W) | +0.042 | 0.073 | -0.063 | 5/6 | 4 | 78 | |
| 13 | d38d6c638ef2EMA 20 (W) | +0.042 | 0.073 | -0.063 | 5/6 | 4 | 78 | |
| 14 | 6c5986223a9a405 EMA | +0.039 | 0.069 | -0.052 | 5/6 | 23 | 78 | |
| 15 | e5ccc760188eMonthly trigger | +0.039 | 0.069 | -0.053 | 5/6 | 12 | 78 |
Baselines per market (signed out-of-sample IC, next-day horizon): BTCUSD mom5 0.020 · ETHUSD mom5 0.025 · SPX500 rsi14 0.033 · QQQ mom5 0.036 · GOLD rsi14 0.026 · EURUSD rsi14 0.042. An excess IC near +0.03 held across four or more markets is a genuinely unusual result at this horizon; most of the corpus sits below zero on that column, which is the honest headline.
§ track D · visual tools · not gradeable, and saying so
1,470 scripts draw. We refuse to invent a score for them.
Support zones, session boxes, dashboards, candle paint — these place no orders, emit no signals and plot no series, so any number attached to them would be an invention. What can be said mechanically is what kind of tool each one is, and whether its display could even be reproduced from historical bars — the repaint surface.
What they are
- 658levels & zones
- 315other utility
- 267tables & dashboards
- 154labels & annotations
- 42bar & background coloring
- 28candle overlays
Repaint surface
- 473 pull higher-timeframe data with
request.security()— 308 of them without an explicit lookahead argument, and 106 with lookahead explicitly on — their historical display shows information that did not exist at the time - 24 keep
varipstate, which updates intrabar and cannot be reproduced from bar data at all - The verdict for the whole track is the same and it is published as such: not gradeable (visual tool) — an honest non-grade, not a low one.
How to read the columns
- Sharpe
- Annualized from daily equity returns, ×√252. No fee is charged in this column — the breakeven column prices execution instead.
- vs buy-and-hold
- The same Sharpe minus what simply holding the asset earned over the identical window. On a market that tripled, beating zero is not an achievement.
- Deflated
- The probability the edge is real rather than the luckiest of a large search. It falls as the search widens, which is the point: with hundreds of candidates in contention, an ordinary Sharpe stops being evidence. Trials are grouped by return correlation first, because a scraped corpus is the same dozen ideas re-uploaded.
- Out-of-sample
- Sharpe over the last 30% of history, which the author could not have fitted to. The decay against the first 70% is what tells you whether the rules were tuned.
- Breakeven
- The cost per unit of turnover at which the edge disappears. Spot crypto runs about 10bp all-in, so anything near that is a rounding error rather than an edge.
- Guards
- Four ticks, left to right: beats buy-and-hold, positive out-of-sample, breakeven ≥ 20bp, deflated Sharpe ≥ 0.95.
What this sweep does not tell you
- Every script ran on daily bars with its default inputs. A script written for 15-minute charts, or one whose author expects you to tune its lengths, is being asked a question it was not written to answer. Intraday sweeps are running separately.
- Order fills follow TradingView's rule — market orders at the next bar's open. That rule is implemented deliberately, but it has not yet been confirmed against TradingView itself on a reference strategy. Until it is, treat absolute returns as provisional; the ranking depends on relative ordering, which is far less sensitive.
- A failing script here is not a worthless script. Most of what this corpus contains was written to be read on a chart by a person, not to be run unattended. Measuring it as an automated strategy is a narrow question, and this page only answers that one.