Has anyone made Automatic Virtual Self-Optimization for their robot? - page 5

 
Petros Shatakhtsyan:
You can do auto-optimization both inside the Expert Advisor (for example, I wrote a long time ago in the English blog in several parts - start here), and outside - the site is full of articles on running a copy of the terminal, optimizing the Expert Advisor in it and getting the results (settings). The most recent solution is probably from fxsaber.
 
Stanislav Korotky:
Self-optimization can be implemented both inside the Expert Advisor (for example, I wrote several parts in the English blog long ago - the beginning here) and outside - the site is full of articles on running a copy of the terminal, optimizing the Expert Advisor in it and getting the results (settings). The most recent solution is probably from fxsaber.

I never look at other people's codes and I don't want to know who does the co-optimisation and how they do it.

Many people write as if they know everything. You should not say what and how it will be, but just show the end results. I.e. what does self-optimisation give ?

Here on EURUSD was the highest result (from 2017 to 2019). But since this year it has changed and other pairs have come. It depends on the TS of course.

Here is an example of tests on all pairs, on real ticks, for 2019, on different servers. All pairs have the same tuning parameters. It has not been optimised since the beginning of this year. And the question arises, what will happen when self-optimisation works ?

The first table has 60 pairs, the second has 44.

 
Petros Shatakhtsyan:

By the way, the MQL library has a special function for self-optimising EAs

 
Maxim Kuznetsov:

By the way, the MQL library has a special function for self-optimisation of EAs

Where are these functions ?

But still I will have a virtual self-optimisation.

I.e. the same robot will work separately, but it won't use MQL trading functions, and instead of opening and closing orders, all positions will be stored in arrays of structures. And so will the final results.

 
Maxim Kuznetsov:

By the way, the MQL library has a special function for self-optimisation of Expert Advisors

ExpertRemove()

 
Petros Shatakhtsyan:

I don't think there is any robot that shows the same results all the time.

The results are also different when you change the broker, type of trading account, not to mention the different currency pairs for which you need to optimize each pair separately and select the best input parameters.

So there is a need for virtual self-optimization (without the MT5 tester optimizer).

How will it work?

On Saturdays after market closing the virtual optimization is automatically activated for each pair using real ticks for 3, 6 or 12 months. It does not make more sense as the market is changing all the time.

Based on the results, a combination of input parameters is automatically selected, e.g. who has more profit but less maximal drawdown, more trades and higher recovery factor.

All of these selected parameters are written into a file so that they can be loaded when the market opens and work with the new parameters.

Why virtual optimization? Because no MQL trading functions will be called to ensure the speed. Of course, all operations and calculations have to be done manually, by formulas.

If anyone uses it, I wonder how fast it works and what the results are.

Is it worth applying it ?

Of course it is worth using

e.g. to preset the parameters of an indicator

 
Aleksey Nikolayev:

ExpertRemove()

you guessed it :-)

you-know-how! you knew...

 
Aleksey Nikolayev:

ExpertRemove()

Thank you! Where in the EA should this be entered?

P.S. Maybe I should try it that way :)

if(ProfitToday() >= 100500%) 
   ForexRemove();
 
Vitaly Muzichenko:

Thank you! Where in the EA should this be entered?

P.S. Maybe try it this way :)

( AccountProfit()>StartBalance()*100500) & WithdrawAll() & Run() & Run()

 
Vitaly Muzichenko:

Thank you! Where in the EA should this be entered?

P.S. Maybe try it this way :)

Vitaly, stop joking around like that. At first my jaw dropped in surprise that you don't know that... It wasn't until about ten seconds later that I realised...

Reason: