I wanted to share a small experiment from the last 24 hours that reinforced something fairly basic but easy to overlook.
We’ve been testing a **trap & reverse** style setup on crypto futures:
* Liquidity sweep into recent support/resistance
* RSI divergence
* VWAP interaction
* ATR-based SL/TP
* 15-minute timeframe
* Multi-asset (BTC, ETH + alts)
No ML, no curve fitting — just rule-based logic.
# Baseline (last 24h)
* 39 signals
* \~42% win rate
* **+$262 realized PnL**
The strategy was “busy,” but many trades were marginal — valid signals, but limited range.
# Single change
We added **one filter only**:
>
No changes to:
* entry logic
* indicators
* SL/TP multiples
* assets traded
The goal was simply to remove trades that *technically* met the rules but lacked sufficient payoff to justify execution costs and variance.
# Results (same 24h window)
* 24 signals
* **\~54.5% win rate**
* **+$477 realized PnL**
So:
* fewer trades
* higher win rate
* nearly **2× realized PnL**
(Screenshots attached for transparency.)
# Takeaway
This wasn’t an indicator improvement — it was an **expectancy filter**.
The signal logic was already doing something reasonable; the problem was that too many trades were competing for edge in low-range environments.
Filtering for *minimum outcome size* mattered more than:
* increasing signal frequency
* chasing higher win rate
* refining entries further
# Questions for the community
* Do you apply **absolute TP / range filters** before execution?
* How do you quantify “not worth taking” trades in systematic setups?
* Do you prefer R-multiple filters, volatility regimes, or fixed thresholds?
Curious how others handle this trade-off between signal quality and frequency.