Optimisation in the Strategy Tester - page 15

 
Urain:

If you were to use a dynamic long array like this, it would probably change a lot. Assuming the slowest FF function, it wouldn't screw up the algorithm too much. That's the truth, without having checked the algorithm itself, it's hard to say how complex the redesign will be.
We are already thinking of extending the range.
 
Renat:
Already thinking about expanding the range.

Found this, not a bad article on hybrid GA http://masters.donntu.edu.ua/2006/kita/bashev/library/hybrid.html

In a nutshell: Binary GA + quasi-Newtonian optimization method rules.

Интеллектуальные модели на основе гибридного генетического алгоритма с градиентным обучением лидера, Н.Б. Паклин, М.А. Сенилов, В.А. Тененев, ГОУ ВПО "Ижевский государственный технический университет", г. Ижевск, 2004
  • masters.donntu.edu.ua
Данный доклад в сентябре 2004 г. был опубликован в научно-теоретическом журнале "Искусственный интеллект" и апробирован на V Международной конференции "Искусственный интеллект-2004. Интеллектуальные и многопроцессорные системы" (20-25 сентября 2004 года, Крым, п. Кацивели, ссылка на печатный источник: Паклин Н.Б., Сенилов М.А., Тененев В.А...
 
Dmitriy2:

And I selected a few parameters, clicked the test... in the morning I counted the number of runs and how many were left... calculated that there were 50 days to the end of the optimisation... my computer has 4 cores + 2 core agents... Fuck this optimization, shut it down...

Parameters clearly aren't 5-6 and their period is not one year :))) And in general, the time remaining before the end of optimization is always wrong (at least it was so in MT4), the further optimization decreases the faster the time to the end of optimization, I originally wrote 450 hours in MT5, but in reality I spent 100 hours or so.

 
Urain:

Here I came across a good article on hybrid GA http://masters.donntu.edu.ua/2006/kita/bashev/library/hybrid.html

In short: Binary GA + Quasi-Newtonian optimization method rules.

Nice idea, but authors left aside one small feature of gradient methods that leads to serious problems in implementation - calculation of partial derivative of target function for each adaptive parameter )))

But yes, it is a genius solution ))))

Suppose this problem is solved, still there is a question of choosing the step of moving along the gradient

The same GA with elements of "elitism" and large number of individuals in the population closes these problems in a reasonable time

We are talking about a search space of the order of a few tens. Anything larger is a waste of time (from personal experience, I assert that optimization of multiple TS with 30 adaptive parameters on a history >100 thousand bars stupidly led to retraining).

 
Renat:
We're already thinking about extending the range.
That would be great. I do have reasonable applications for a large number of parameters.
 

Optimizer can't handle 64 parameters, max is 62, at 63 it already dies (n/a) :)

Check expert in trailer. Set-file there, too. I had to generate it to avoid writing.

Solves the problem of generating eight orthogonal vectors.

The fitness function calculates all pairwise scalar products and sums their absolute values with opposite sign.

Maybe I was stupidly lucky, but a couple of times out of four I got a full-fledged (correct-zero) result.

It's also fun to fix several (2-3) vectors and watch the others trying to align perpendicularly... :)

It solves it quickly, which is undoubtedly a good thing.

I didn't like that it displays in tab"Optimization results" a maximum of 20 parameters to be optimized.

// The other bug has appeared during the work - with 64 input parameters they are no longer highlighted in MetaEditor. They are just displayed as usual variables.

--

The script generator is in trailer too.

Generates Expert Advisor and set-file of appropriate "dimensionality", the dimensionality is specified in the parameter during generation.

It is in the ...\MetaTrader 5\MQL5\Files folder, of course.

You can also play with vectors of a smaller dimension.

// No luck yet with larger ones. We are waiting. :)

By the way, the optimizer has not solved the problem for five vectors even once. The best result for five vectors is CustomMax == -10

p.s. Later: well, yes, I'm dumb, the maximum result for odd vectors == -n*(n-1)/2 under the conditions specified in the set-file,

so everything is correct, the gene algorithm always finds maxima successfully. // well, almost :)

Files:
 
Renat:
Already thinking about expanding the range.

Yay! Glad the developers finally realized that people need a tester without limitations, if mt5 is positioned as a new stage in auto-trading, then why would systems with large calculations leave an obstacle at 64, whether it's NS or something else.

I'll look forward to a build with a fix and the ability to continue my projects on the standard tester. (because its too expensive to write your own tester from scratch...).

 
yu-sha:

Cool idea, but the authors have left aside one small feature of gradient methods that leads to serious problems in implementation - calculation of the private derivative of the target function for each adaptive parameter )).

But yes, it is a genius solution ))))

Suppose this problem is solved, still there is a question of choosing the step of moving along the gradient

The same GA with elements of "elitism" and large number of individuals in the population closes these problems in a reasonable time

...

When calculating a gradient without a partial derivative, several test points in the vicinity will be required. Having them FF you can also calculate the value of the minimum step for each parameter. Then the step can be doubled (starting from the minimal one) until the next point by FF will be smaller than the previous one. Finding it on the previous one we will calculate the gradient again. And go on.

 

Everyone's so clever - it's horrible!

Oh, would you be so kind as to tell me how to add more Agents to my dual-core.

Somewhere I saw on the test (3D, or something) all flying and fluttering and agents on half the screen.

Well, it's hard for me to tolerate a test of 2 settings (somewhere around 1200 passes) for half an hour or more. Thanks.

 
artall:

Everyone's so clever - it's horrible!

Oh, would you be so kind as to tell me how to add more Agents to my dual-core.

Somewhere I saw on a test (3D or something) everything flew and fluttered and agents on half a screen.

Well it's hard for me to tolerate a test of 2 parameters (somewhere around 1200 passes) for half an hour or more. Thanks.

Chat in this thread --> Multi-core testing network for all comers,

There are enough people who have studied this issue in detail.