Support and resistance are levels where price has previously turned, drawn by hand or found mechanically from recent highs and lows. Traders buy at support, sell at resistance, and trade breaks of either.
The claim is that markets remember levels and that old turning points are likely to be new ones.
We tested level-based rules, both bounces and breaks, using mechanically defined highs and lows over 17 years of data with real trading costs, and found no edge. Bounces failed about as often as they held; breaks reversed about as often as they ran. The levels were real. Their predictive value was not.
The reason is that a level is a place where price turned once, and a market has many such places; on any given approach the outcome depends on what the market is doing now, not on what it did at that price before.
If you trade it anyway, define the level mechanically so that it can be counted, and separate bounces from breaks, since they are opposite bets.