...Quote from dom993:
IMHO, and after doing most every mistake one can make when developing automated systems...
1. for CL, backtest from 2007 (CL transitioned from pit to electronic in the fall 2006), this should give you about 3000 trades if your system trades twice a day - this is a sound basis to analyze a system's performance.
2. make sure any LMT order only gets filled in backtest once price trades beyond that limit.
3. include 1-tick slippage for all MKT & STP orders, and don't use STPLMT orders as they are the trickiest to evaluate if they should have got filled or not.
Ideally, you would want to do your development & backtesting on 3 to 5 years of data, then use 1 to 3 years as forward testing.