Methods of carrying out a rolling forward

 

Hello,

From the little information I've been able to find about valking forward, I've come up with a methodology for doing it. Some of the work is done manually. I cannot rule out that I am doing something wrong or sub-optimal. Perhaps there is something that could be automated...

So, let's see what I am doing using optimization in semi-annual intervals as an example

1) I do optimization from 01-01-2015 to 01-06-2015, then from 01-02-2015 to 01-07-2015, 01-03-2015 ... 01-08-2015 and so on.

2) from results of optimization for each period I select the best result, for example with drawdown<20% (there are results with many times bigger profit, but with bigger drawdown too, but I select drawdown<20% for stability's sake)

3) Then I manually start testing (for an optimization variant selected in step 2) for the next month following the optimization. For example, I run testing from 01-01-2015 to 01-06-2015, from 01-06-2015 to 01-07-2015. I save profit and drawdown values in ТХТ file.

4) At the end of all optimization passes, I analyze the file.

From the results of testing by this method I get drains a couple times a year, selecting the best optimization result that has a drawdown <20%.

Perhaps you use other criteria for selecting the optimization results, maybe you use a built-in forward test? Is there any way to automate the whole process?

I ask forum participants to share their method to compare variants and identify the best one.

 
elibrarius:

Hello,

to balance the options and identify the best one.

Here's the best one.

Demand one of these from Metacvots, you'll still have to do it by hand. In the long run they will, of course, but it could be years, but in the meantime, make an autotester.

 
Youri Tarshecki:

Here is the best one.

Yes, exactly what you have in the picture is what I have described, only in text. The question is about its methods, selection of optimisation results, automation possibilities...

Is there any point in using the built-in forward? The drawback is that you'll spend time on calculation of all 10000+ results. And what are the advantages?

 
elibrarius:

Yes, exactly what you have in the picture is what I have described, only in text. The question is about its methods, selection of optimisation results, automation possibilities...

Is there any point in using the built-in forward in the tester? The drawback is that you'll spend time on calculation of all 10000+ results. And what are the advantages?

I simply take the sum of net forward profit as a result, because I need the net profit from the Expert Advisor, not the sharps. -) And I take screenshots of the report to see the nature of equity curves, if anything.
 
Youri Tarshecki:
I simply take the sum of net forward profit as a result because I want the net profit from the Expert Advisor, not the sharps. -) And I take screenshots of the report to see the equity curves, if anything.

Well profits can be very large with high drawdowns. This way we get results adjusted to a specific time interval. I chose as a selection criterion not max profit, but max profit with drawdown<20%. What are your variants of selecting the only result of the optimization which you are going to do in real trading?

Also, we should select not by forwards, but by backtests. Forward should only be used to judge the correctness of backtest selections.

 
elibrarius:


Does it make sense to use the tester's built-in forward? The disadvantage is that it will take time to calculate all 10,000+ results. Are there any pluses?

It is not clear what you mean by forward and what kind of results it is. Forward is out-of-sample.
 
Youri Tarshecki:
It is not clear what you mean by forward and what the results are. Forward is out-of-sample.
I mean the forward testing built into the terminal tester. Perhaps it should be included to complete the picture? I may look through only a few optimization results manually, while the tester will calculate them all... but I'm not sure there's a sense in wasting time on it.
Maybe, when seeing all the forwards, we may choose something else, not a drawdown of <20%, as a single selection criterion?
 
elibrarius:

Also, you should not make a choice by forward, but by backtest. A forward should only serve to assess the correct selection on the backtest.

Selection of what? ))
 
Комбинатор:
Choice of what? ))
Selecting 1 option from the set of options obtained during optimisation, i.e. the Expert Advisor settings on which to run it
 
elibrarius:
I am referring to the forward testing built into the terminal tester. Maybe it should be included to complete the picture? Manually I can only see a few optimization results, and the tester will calculate them all... but I'm not sure there's a sense in wasting time on it.
Maybe, when seeing all the forwards, we may choose something else, not a drawdown of <20%, as a single selection criterion?
The auto-optimizer tests with MT's in-house tester AND I get reports from the in-house tester. I take net profit as a criterion of back optimization, because my experience has shown that if forward profit is normal, then the sharps are good too. To choose - which variant of the code is better - I compare the net profit for all forwards and additionally look through the tester's reports with my eyes. I have 12 forwards. For trading I take the last, the most current set.
 
Erm, walk-forward is for checking, not choosing something.