Free Video course: How to prevent curve-fitting
And how to properly optimize trading systems
is the most common mistake made by inexperienced algo-traders. This is
because the MT4 based optimization is nothing else but pure
Curve-fitting is a fancy name for cherry-picking (or ‘falsely’
connecting the dots), where you optimize your system using all possible
combinations of all parameters and you select only the best results, the
highest profits or the best looking equity charts.
This topic is so huge I can write a book about it. But let’s keep it
very pragmatic for now. Because you are here to see some results. So,
without going into details here is the approach that I use to keep
the number of optimized parameters as low as possible: each new
parameter which is optimized adds an additional degree-of-freedom (or
dimension), in which equity graph can be curve-fitted.
- Following the logic of point 1: avoid complex trading systems with many parameters and dependencies. Keep it simple!
your historical data range in: ‘in-sample’ and ‘out-off-sample’
periods: the in-sample period is the longest period where you run your
optimization. The out-of-sample period is the period where you will
validate your settings after the optimization.
sure you have sufficient amount of historical data. Note that you need
at least 100 trades in your in-sample period, which is minimum required
amount of trades needed for statistical significance. More is better.
for profit-growth stability not for the maximum profit. In the end you
need to see a straight equity line with stable increase over the whole
testing period. (During optimization the ArrowHunterEa returns a custom
‘profit-factor’ in OnTester results column, which determines the
stability of growth)
a robustness test on optimized parameter set. This can be done by
manual ‘monte-carlo’ like simulation using the MT4 tester.
know it is a lot of info in one post. That is why I have prepared a
free video course for you with an real life example of strategy