Suppose you have a very good idea but one of the parameters was not chosen properly. You run out-of-sample testing and fail. You have two choices: to throw away your good idea (that is pity) or correct the wrong parameter (that is curve fitting). This why I don't use out-of-sample testing. Instead:
- I try to have as much data as possible (10 years at minimum).
- Number of trades should be more than 100 (my own rule of thumb).
- Minimum number of parameters.
- I divide the whole testing period into 3 approximately equal periods and try to optimize my very small number of parameters to have approximately similar results across these 3 time periods.
- "Optimize" for me means to arrive to some descent rate of return while keeping maximum drawdown of 15%. Why 15%? Because from my personal experience I know that I can "swallow" drawdowns of 30%. So I optimize for max 15% assuming that the future will be twice bad than my backtesting predicts.