Hi Lagoons,
I think what you posted isn't the issue of curve fitting per se.
There are many possible reasons why strategies failed in live.
1. The most obvious would be different trading platform (brokers issue), the data you use may not be the "same" quality of data traded. Some broker (Market Makers) manipulate their data/spread etc and hence given such scenario, the odds are already stacked against you.
2. Like what Sleytus mentioned, your EA aren't trained in the same kind of data, the current market is now presenting. Hence, it is an issue of robustness of the strategy, rather than the issue of curve fitting. A robust EA, ideally have been "trained" in various market conditions to be a all rounder. Hence, some people believe you need longer historical data (assuming these data would cover extensively all the various market conditions) for your EA to be robust and all rounder. However, it's a double edged sword, to get that kind of robustness, your EA may also be an "average" EA to round off all the extremes.
3. Sleytus has an ingenious way, instead of hoping to train his EA to be all rounders, he have a diverse number of EA that covers all types of market situations and hence, whichever EA "click" well with the current market, it is then activated to trade - Side Kick Software (if you want to read more about it).
4. I've done a small experiment, using 3mths, 1 yr and 2 yrs data to Optimsie my EA and see which data duration yield better results. My preliminary findings (not conclusive yet) is that 3mths data seem to show better results, followed by 2yrs and 1yr.
Why is that so?
a) The 3mth period selected (Mar to May) is a relatively "difficult" trading period and hence, using this data to "train" the EA, the EA may therefore be more robust to handle "difficult" trading conditions.
b) 2yrs data period, with longer period may therefore, contain more "varied" market conditions and hence performed better than 1yr (which contain less varied market conditions). With more "varied" market conditions, the EA is more robust than 1yr data, however, because of the longer period, it has "diluted" the intensive "training" period which the EA would get in the 3mths "difficult" trading conditions and hence 3mth period EA did better in overall performance.
Thus the issue isn't just about curve fitting but how robust are your EA being trained so that ultimately, when you trade live, it is robust enough to handle varied market situations. If it is not trained to handle varied market conditions, it will still fail and that's nothing to do with curve fitted EA or not.
So do choose your data period wisely (whether it contains sufficient tough trading conditions) and do take note, it is not necessary that the longer the data, the better it is, it's not the duration of the data but rather the "quality of the data" be it the "clean" data and also "tough trading" period data to put your EA to the strenuous testing/training.
Last but not least, kindly don't just throw your EA because they don't pass the OOS (you can consider giving to both Sleytus and me), do at least put them into demo testing 1st and observe for yourself how your EA behave, you will then become a better trader and know what new rules to add to improve your EA further.
EA that passed backtest may fail in live trading and hence similarly, EA that failed backtest may pass in demo/live trading and thus imagine, you could have possibly been throwing potentially good EA just because you think they failed in the backtesting stage.
With Sleytus's Portfolio Maker, one can test 100 EA easily in an instance, so why the need to "prune" your EA so early without giving it due opportunity to be tested out in demo accounts? I normally test thousands of EA and I let my demo results determine my selection process.
1st level of accuracy = live testing
2nd level of accuracy = demo testing
3rd level of accuracy = backtesting
With the Portfolio Maker, you don't have to settle for 3rd best, you can go for demo testing to verify your EA's results and once you have shortlisted the good ones, do your tick backtesting (if you still need more confirmation).