Spent the last while building a backtesting engine (AlgoForge) and the single most common failure I see in retail strategy code isn't the strategy — it's the backtest itself.
Three silent killers:
Look-ahead bias. Your backtest uses data that wouldn't have been available at the time of the trade (e.g. using the day's closing price to decide whether to enter at the day's open). Numbers look great, live results don't.
Survivorship bias. Testing only on assets that still exist today ignores every ticker that got delisted or went to zero — which is exactly the tail risk you need to price in.
Overfitting to a single regime. A strategy backtested only on 2020-2021 bull market data will get destroyed the first time volatility regime shifts. Always test across at least one bear market and one chop/sideways period.
If your backtest doesn't correct for all three, the Sharpe ratio it spits out is fiction. Test on tick-level data across multiple regimes, and be suspicious of anything that looks too clean.