Curve-fitting
Over-optimizing rules to fit historical data ("it would have been perfect!") produces a strategy that only works on that exact past. Avoid it: keep rules simple, test across different market conditions/periods, and reserve an out-of-sample period you never optimized on. If it only works on cherry-picked data, it has no edge.