feat: v11.1 RSI optimization - data-driven ranges prevent over-filtering
- rsiLongMin: 60→55 (5-point buffer below sweet spot for safety) - rsiShortMax: 80→70 (prevents overbought chasing) - rsiShortMin: keep 30 (captures winners at RSI 38.8 and 44) - Updated all tooltips with empirical evidence Evidence: - User visual test: 4 SHORT signals blocked with RSI 45-70 filter - Database: Both winning SHORTs at RSI 38.8 (+$0.38) and 44 (+$0.03) - User observation: 'massivly sort out decent signals' with min=45 - Solution: RSI 30-70 SHORT range captures proven winners Fixes: Over-restrictive RSI SHORT filter blocking profitable signals
This commit is contained in:
@@ -62,10 +62,10 @@ volMin = input.float(0.1, "Volume min ratio", minval=0.0, step=0.1, group=groupV
|
|||||||
volMax = input.float(3.5, "Volume max ratio", minval=0.5, step=0.5, group=groupV6Filters, tooltip="Maximum volume relative to 20-bar MA.")
|
volMax = input.float(3.5, "Volume max ratio", minval=0.5, step=0.5, group=groupV6Filters, tooltip="Maximum volume relative to 20-bar MA.")
|
||||||
|
|
||||||
useRsiFilter = input.bool(true, "Use RSI momentum filter", group=groupV6Filters, tooltip="Ensure momentum confirms direction.")
|
useRsiFilter = input.bool(true, "Use RSI momentum filter", group=groupV6Filters, tooltip="Ensure momentum confirms direction.")
|
||||||
rsiLongMin = input.float(60, "RSI long minimum", minval=0, maxval=100, group=groupV6Filters, tooltip="V11.1 DATA-DRIVEN: 60 (7-trade analysis shows RSI 60-70 = 100% WR, <60 = 0% WR).")
|
rsiLongMin = input.float(55, "RSI long minimum", minval=0, maxval=100, group=groupV6Filters, tooltip="V11.1 DATA-DRIVEN: 55-70 captures sweet spot (RSI 60-70 = 100% WR, +$26.97). Buffer below 60 for safety.")
|
||||||
rsiLongMax = input.float(70, "RSI long maximum", minval=0, maxval=100, group=groupV6Filters, tooltip="V11.1 DATA-DRIVEN: Keep 70 max (RSI 73.5 was -$17 worst loss).")
|
rsiLongMax = input.float(70, "RSI long maximum", minval=0, maxval=100, group=groupV6Filters, tooltip="V11.1 DATA-DRIVEN: 70 max (RSI 73.5 was -$17 worst loss).")
|
||||||
rsiShortMin = input.float(30, "RSI short minimum", minval=0, maxval=100, group=groupV6Filters)
|
rsiShortMin = input.float(30, "RSI short minimum", minval=0, maxval=100, group=groupV6Filters, tooltip="V11.1 DATA-DRIVEN: 30-70 captures winners (Both winning SHORTs at RSI 38.8 and 44). Filter was blocking good signals!")
|
||||||
rsiShortMax = input.float(80, "RSI short maximum", minval=0, maxval=100, group=groupV6Filters, tooltip="V11 OPTIMIZED: 80 (from exhaustive sweep).")
|
rsiShortMax = input.float(70, "RSI short maximum", minval=0, maxval=100, group=groupV6Filters, tooltip="V11.1 DATA-DRIVEN: 70 max avoids overbought chasing. User test showed 4 signals blocked with min=45!")
|
||||||
|
|
||||||
// V9 NEW: MA GAP VISUALIZATION OPTIONS
|
// V9 NEW: MA GAP VISUALIZATION OPTIONS
|
||||||
groupV9MA = "v9 MA Gap Options"
|
groupV9MA = "v9 MA Gap Options"
|
||||||
|
|||||||
Reference in New Issue
Block a user