Open Harmonics · Experiments

Not supported · Filters · 2026-09-26; timeframe gap fill 2026-10-11

Does any indicator filter (RSI, MAs, Kalman VWAP, SuperTrend, daily pivots) improve 15m setups?

What this means

None of the 90 indicator filters tested on 15m improved results once the large number of tests was allowed for (best q = 0.13, and q needs to be below 0.05). The best-looking candidate added about 2 points of win rate in both halves of the data but still did not pass. The method was checked on fake data with a planted effect and found it, so the null result is not a broken pipeline. On this evidence, RSI, moving-average, VWAP, SuperTrend and pivot filters do not add an edge to 15m setups. The same search on 1h, 4h and daily also found nothing that survives. The best-ranked filters lean the same way on every timeframe (price already above its 50-bar average, or RSI near or above 48 at entry), but each adds only about 2 points of win rate on held-out stocks and none passes the multiple-testing check.

The explanation is our best reading; the data shows the result but not the cause directly.

By timeframe

TimeframeVerdictnResult
15-minuteNot supported16,5000 of 90 candidates significant (best q=0.126)
1-hourNot supported13,2080 four-gate survivors of 98 single + 46 combos; top-ranked 'dist MA50 >= 1.14%' +2.4pp on held-out stocks, q=0.26
gap fill G3, 2026-10-11 (trade logs)
4-hourNot supported3,9900 survivors of 96 + 26; top-ranked 'dist MA50 >= 2.29%' +1.9pp held-out, q=0.74
gap fill G3, 2026-10-11 (trade logs)
DailyNot supported2,0980 survivors of 96 + 22; top-ranked 'RSI at entry >= 47.8' +2.0pp held-out, q=0.12
gap fill G3, 2026-10-11 (trade logs)
Hypothesis
At least one rule-based entry filter (single or AND-combination) raises win rate or mean R out of sample.
Method
TradingView 15m sweep with 13 features tagged on every trade (16,500 setups, 503 instruments); 97 single filters + 29 combinations; train/test split by instrument (352/150 tickers); Benjamini-Hochberg FDR; pipeline validated on synthetic data with a planted effect.
Result
0 of 90 candidates significant on train (best q = 0.126). The only sign-consistent candidate, distance to MA200 <= -1.67%, gave +2.24pp train / +2.02pp test, mean R +0.140, q = 0.186. Several 'best out-of-sample' filters had negative train lift. Gap fill (2026-10-11): the same pipeline (same candidate grid, instrument split, FDR, four gates) on the 1h/4h/1d sweeps found 0 surviving filters on each. The top-ranked filter per timeframe on held-out stocks: 1h 'distance above MA50 >= 1.14%' +2.4pp (q = 0.26), 4h 'distance above MA50 >= 2.29%' +1.9pp (q = 0.74), daily 'RSI at entry >= 47.8' +2.0pp (q = 0.12).
How much to trust it
High: TV fills, large n, multiple-testing control, validated pipeline
Did it change the live rule?
entry filters stay off
Notes
Tests 15m only, at two moments (Point D and entry). The 15m leaderboard header says 'RSI >= 48 at Point D', but the RSI filter was confirmed OFF via the study API. 1h/4h/1d runs used copies of the original scripts (analyze_trade_features.py) with only output paths changed; the 15m re-run on the current 15m file reproduces 0 survivors.

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).