How do I check whether 'Optimisation' or 'Forward Optimisation' is in progress?

 

This option returns 'true' in both cases.

ENUM_MQL_INFO_INTEGER program_OPTIMIZATION;
int OnInit()
  {
   program_OPTIMIZATION=(ENUM_MQL_INFO_INTEGER)MQLInfoInteger(MQL_OPTIMIZATION);
//---
  }
 

For optimal optimisation, it is best to write your own tester and no longer be plagued by these excruciating questions.

If you can write a working EA, why can't you write testing software?

 
Yuriy Asaulenko:

For optimal optimisation, it is best to write your own tester and no longer be plagued by these excruciating questions.

If you can write a working EA, why can't you write testing software?


What do you mean?
 
Алексей Тарабанов:

What do you mean?
Systems. My sincere sympathies, but I can't help you.
 
For now, you have to manually specify the date before the 'Forward Optimisation' starts.
   if(program_OPTIMIZATION)
     {
      if(YearMQL4()<=2015 && MonthMQL4()<=5) // Оптимизация ('Оптимизация' начинается в 2015 году)
        {
         // Обрабатываем событие 
        }
      else                                   // Форвард-оптимизация
        {
         // Обрабатываем событие 
        }
     }
 

The built-in tester is designed so that if you want to make a classic volking forward with a picture of reports at each stage, then at the end of back optimization you have to make the end date of optimization as the "forward" date, and to end "interval" set a new, more recent date. I create a separate schedule, which I want, save it to a separate file and drag out the desired dates from there in order. And I use auto optimizer to add these three dates to the ini file.

1396310400 1. start of back optimization interval 2. start of forward interval

1401580800 1. end of back optimization interval 2. start date of forward

1404086400 2.end of interval at forward run

1398902400

1404172800

1406764800

1401580800

1406851200

1409356800

etc.

I.e. split volking-forward into two separate operations, formally not connected, and the whole thing.

Optimization, save set, start without optimization with new dates, save forward results and do it all over again.

 
Youri Tarshecki:

The in-house tester is designed so that if you want to do a classic volking forward with a report picture at each step, then at the end of back optimization you have to make the end date of optimization a "forward" date and set a new, more recent date for the end of the "interval".

I.e. split wolfing-forward into two separate operations, formally not connected and that's it.

Optimization, save set, start without optimization with new dates, save forward results and do it all over again.

I need to know for constraints in OnTester() the end of optimization and beginning of forward optimization where these constraints should be undone.
 
Lilita Bogachkova:
I need to know the end of optimization and beginning of forward optimization for restrictions in OnTester().

How to do it in OnTester I'm not your adviser, because originally I took another way, as soon as I found out that it's impossible to optimize variables one by one, but only by gurt (although it's probably possible by creating a list and optimization separately, but I don't care about it now).

The only place I know and which I change is C:\Program Files\........\tester\config .INI file

 
Youri Tarshecki:

How to do it in OnTester I'm not your adviser, because originally I took another way, as soon as I found out that it's impossible to optimize variables one by one, but only by gurt (although it's probably possible by creating a list and optimization separately, but I don't care about it now).

The only place I know and which I change is C:\Program Files\........\tester\config .INI file

I've adapted to the regular MT tester. But in it whileOnTester() is impossible to get 'LRCorrelation' from forward. So I'm trying to figure out how to do it
 
Bogachkova:
I've adapted to regular MT tester. But it's impossible to get 'LRCorrelation' from forward in it whileOnTester(). So I'm trying to figure out how to do it

What is 'LRCorrelation' and why do you need it? And clarify - what is forward as you understand it.

 
Youri Tarshecki:

What is 'LRCorrelation' and why do you need it? And clarify what you mean by 'forward'.

Forward is what you gave as an example.

LR Correlation- linear regression correlation coefficient. The balance graph is a broken line, which can be approximated by a straight line for clarity. To find the coordinates of this straight line, the method of least squares is applied. The obtained straight line is called a linear regression and allows one to estimate the balance chart points deviations from the linear regression. Correlation between the balance graph and the linear regression allows estimating the degree of the capital variability. The less sharp rises and falls on the balance curve, the closer to one the value of this indicator is. The closer it is to zero, the more random the trade is.

If the 'LRCorrelationforward' value is displayed inOnTester(), you can immediately see what balance graph the forward has and do not need to look for results with the balance curve.