Open Harmonics · Experiments

Not supported · Filters · 2026-09-27

Does an 'RSI <= 40 at Point D' filter help on 1h?

What this means

Requiring RSI ≤ 40 at Point D changed nothing on 1h: +0.191R per setup with the filter and +0.193R without, a difference of −0.002R with a tight range around zero. Inside the unfiltered log, setups with RSI ≤ 40 earned +0.200R and the other 36% earned +0.180R, a gap well within noise. So the filter mainly removes about a third of the setups without improving the ones that remain.

Explanation checked against the data.

By timeframe

TimeframeVerdictnResult
15-minuteNot supported16,496RSI at D <= 40: within +/-0.01R
1-hourNot supported8,470-0.002R (-0.019, +0.014) vs unfiltered
4-hourNot supported3,990CI spans 0 (filter-rsi-ma-recheck)
DailyNot supported2,098CI spans 0 (filter-rsi-ma-recheck)
Hypothesis
Only taking setups where RSI(14) at D is 40 or lower (oversold) improves results.
Method
Two full TradingView 1h sweeps of the same 503 symbols, 2016-01 to 2026-09: RSI <= 40 at D enabled vs all filters off. Setup R recomputed; cluster bootstrap.
Result
RSI-filtered: 8,470 setups, 46.6% win, +0.191R (+0.163, +0.223). Unfiltered: 13,208 setups, 46.6% win, +0.193R (+0.170, +0.216). Difference -0.002, 95% CI (-0.019, +0.014). Same split inside the unfiltered log: D<=40 +0.200 vs D>40 +0.180, diff CI (-0.025, +0.068).
How much to trust it
High: two real TV sweeps of the same universe
Did it change the live rule?
the 1h basket was first built from this RSI<=40 sweep; rebuilt on 2026-09-30 from the filter-off sweep so alerts match the live (filter-off) settings
Notes
File nasdaq_sp_1h_sweep_results.json is labelled timeframe '15m' internally but is the 1h RSI<=40 sweep (per create_1h_top50_alerts.py).

Scripts and data for this study will be linked here when the research code is published on GitHub.

← All experiments

Education and research only. Not financial advice. Backtests use today's index members (survivorship bias).