Discussion of article "Continuous walk-forward optimization (Part 8): Program improvements and fixes"
I didn't expect you to continue development. Support for multiple tools is cool! I'm surprised there's no feedback. I guess the complexity of the article is to blame. It took me a week to read it. Not many people have such a level of training in C# and OOP as you have. Those who are able to understand what is written here will be able to complete the programme themselves. In any case, please accept my thanks for your work. With such labour input you can write your own tester and put it on the market. You would probably buy it. I will test the optimiser's work and share my impressions here. Thank you!
I didn't expect you to continue development. Support for multiple tools is cool! I'm surprised there's no feedback. I guess the complexity of the article is to blame. It took me a week to read it. Not many people have such a level of training in C# and OOP as you have. Those who are able to understand what is written here will be able to complete the programme themselves. In any case, please accept my thanks for your work. With such labour input you can write your own tester and put it on the market. You would probably buy it. I will test the optimiser's work and share my impressions here. Thank you!
Thank you for such a flattering review, but I myself have a lot to aspire to in the sphere of programming and trading, so do not over-praise) I hope the programme will be useful.
Hello again! I'm not praising you at all, but as if gently hinting that your great work would be well complemented by an abridged version in kodobase in the form of a clean manual and an archive with a compiled application. And for those who want to get involved in the work - these articles. Whoever can understand them could write such a programme..... There would be a response among the masses, because in potential it is the best forward optimiser among those presented in MQL5.
Now, about the realisation of potential: Autoset does not work! Or rather, it does not work correctly. In Metatrader, the Till date does not participate in the optimisation, and the forward test should start directly from this date of the testing period. The From date of the next forward must coincide with the Till date of the previous one. The same is true for the optimisation period.
For example, we test March 2020. Setting the start date is a separate topic. In the current version, when setting 4 weeks of March and one week of February, I expected to get two forward periods with a breakdown of 3 weeks (21 days) - historical period and 1 week (7 days) - forward period. All on a Monday to Monday basis.
It turned out: the first one was correct - Monday to Monday. And then: here we go!
Forward started on Tuesday 17 March, while it should have been on Monday 16! The next forwаd - period would have started on Wednesday 25 March, if the range allowed. And the next Nystory starts on 17 March, although the last day in the previous period was 15 March (16 is not involved).
Have you not used your Autoset yourself?
And a little bit about setting the start date. In futures, the history is probably limited, but in forex there is enough history for testing. Therefore, why break the brain with the definition of the first date? Maybe we should set the period for full coverage by forwards, and the Histoty dates would be determined automatically. For example, in my example we would get 5 forward periods (if Autoset works correctly) and the first Histoty date would be 3 February.
I look forward to the patch. Until then, I will enter the periods manually, I will probably have time.
I typed the periods manually and ran it. Failed again. Is it correct to type periods this way at all, or is it necessary to have strict alternation?
There is nothing in the optimiser's results tab: neither forward nor history. The Expert Advisor recorded three historical optimisations for each asset. There were no forwards, although the optimiser seemed to count them. This window popped up from time to time:
After optimisation, the name of the optimisation set appears in the upper left corner (Optimisation window), but when you click on the Load bot params button, the window pops up:
There were pauses of about 30 seconds between optimisation steps. Especially when the progress bar reaches the end. This will eat up a lot of time in total.
On the topic of autocomplete, it hit me: there's time in there! I didn't notice it at first. Why 12:00? It should be 0-00. So the date Till is included in the test. And you can't change it. It's the same with manual filling!
That's right, it happens because the dates are counted from 00:00 to 0:00.
As for the fact that the forward starts not from the last day of the history, but is moved a day forward, it's logical that you will not go back a day to trade the forward, will you? The time machine has not been invented yet, but it's a pity)
Regarding the error that there is no data to create - are you sure you have connected automatic unloading and report generation in the Expert Advisor? There are two options here, either you have not included in the EA code the functionality of automatic unloading and report generation, or the trading results of the EA did not pass the optimisation filters you have set.
And to remove the date "From", I certainly will not be as it is convenient and necessary for good to limit the interval.

- www.metatrader5.com
Hi, your series articles were really helpful, I am not good at c # so I am trying to learn it from your lessons
I downloaded the Attached filesfrom Part 4 to 7 but i can't build the "Metatrade Auto Optimiser" project. i got error like the picture:
Attached filesfrom Part 8 that's my fisrt time seeing your program interface, it succeeded in launching mt5 when optimisation mode is disable , and wwhen i turn on it like this picture I got error
please help me fix it thank you
That's right, it happens because the dates are counted from 00:00 to 0:00.
And as for the fact that the forward starts not from the last day of the history, but is shifted a day forward, then everything is logical, you will not go back a day to trade the forward ? Time machine has not been invented yet, but it's a pity).
You misunderstood. It is your optimisation time from 12-00 to 12-00. And I can't find anywhere to change that.
Because of this we lose 12 hours of the first day of the history and we get optimised for 12 hours for the forward period. Because of this, the forward is moved a day forward, because this day is taken by the history.
Since there are 7 days in a week, the optimisation period must be divided into seven days. The history period ends on Monday 0-00 and the forward starts on Monday 0-00. It turns out that on Monday we do not test but make a forward. No time machine.

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
New article Continuous walk-forward optimization (Part 8): Program improvements and fixes has been published:
The program has been modified based on comments and requests from users and readers of this article series. This article contains a new version of the auto optimizer. This version implements requested features and provides other improvements, which I found when working with the program.
The previous program version had a phased input of dates for forward and historical optimizations, which was inconvenient. This time, I have implemented automated input of the required time ranges. The details of the functionality can be described as follows. The selected time interval should be automatically broken into forward and historic optimization. The step for both optimization types is fixed and is set before splitting into intervals. Each new forward range must start on the next day following the previous range. Shift of historical intervals (which overlap) is equal to the step of forward windows. Unlike historic optimizations, forward ones do not overlap, and they implement a continuous trading history.
To implement this task, I decided to transfer this functionality into a separate graphic window and to make it independent and not directly related to the main interface. As a result, we have the following hierarchy of objects.
Author: Andrey Azatskiy