Discussion of article "Creating Custom Criteria of Optimization of Expert Advisors"

 

New article Creating Custom Criteria of Optimization of Expert Advisors is published:

The MetaTrader 5 Client Terminal offers a wide range of opportunities for optimization of Expert Advisor parameters. In addition to the optimization criteria included in the strategy tester, developers are given the opportunity of creating their own criteria. This leads to an almost limitless number of possibilities of testing and optimizing of Expert Advisors. The article describes practical ways of creating such criteria - both complex and simple ones.

Author: Dmitriy Skub

 
You know, the multi pairs EA has different testing result in different symbol. I test EA in EURUSD, it don't open long trades for AUDUSD, then test it in AUDUSD, it don't open short trades for EURUSD!! How to resolve? Thanks
 

Thanks for great  article Dmitriy,

 

Is there any way or room  to fit Pardo's   Perfect Profit criteria  http://www.breakoutfutures.com/Newsletters/Newsletter0605.htm   on top of your criterias?

 

Very useful article. Everything is easy to use.....

But it only describes the criteria for calling the OnTester() function, i.e. when the optimisation is over with this parameter.

Is it possible to abort the optimisation early? For example, if the drawdown is more than 50% or the balance is less than n-value, so as not to waste CPU time!

 
sigma7i:

Very useful article. Everything is easy to use.....

But it only describes the criteria for calling the OnTester() function, i.e. when the optimisation is over with this parameter.

Is it possible to abort optimisation early? For example, when drawdown is more than 50% or balance is less than n-value, so as not to waste CPU time!

ExpertRemove
 
MetaDriver:
ExpertRemove
Oh spot on!!! Thank you!
 

Could you please tell me, is there a possibility to filter out unnecessary results after the end of optimisation (OnTester call), for example with a minus result, in order not to clutter the tab"optimisation results"? ?

 

Sorting can be done by clicking on...

on any columns.

PS.Not always knowingly crooked results, in the process of genetic optimisation you can "tear off" ExpertRemove().

Also reset in OnTester().

I, personally, sometimes genetics went the wrong way.

 
Karlson:

Sorting can be done by clicking on the...

on any columns.

You can also zero it in OnTester().

For me, personally, genetics sometimes went the wrong way.

So it's sorting, I want the unwanted results not to be displayed at all....

with sorting, it's simple, for example:

double  OnTester()
double  balance = TesterStatistics(STAT_PROFIT);
double  trades_number = TesterStatistics(STAT_TRADES);

if(balance < 5000 || trades_number < 20) return(-777);

....бла бла return(свой критерий оптимизации);

and then we sort it...

but it's a bit "clumsy", I want the undesirable results not to be displayed at all.

 

Karlson:

PS.It is not always possible to "tear down" ExpertRemove() in the process of genetic optimisation.

Here you are right that I do not manage to "tear off" the results during optimisation (any not only genetic) using ExpertRemove()....

maybe I don't know how to prepare it:) ...I put it in the OnTick() handler with a condition...

 

Are you saying that a code like :

if (balance < 3000) ExpertRemove();

doesn't work?

But that's not what I said. That such a breakdown (worked in the past at least) led to genetic escape in the end.