Strategy optimization result do not match single run test result

 

As I run optimization test ,get result and run single test result not match the result.

Get huge deviation, not sure it's optimization get error or single run get error.

It's so confuse me. I do lot of tests base on this version code,over one month.  MT5 base on version 5, build 2981. Always skip the new version MT5 update.

Avoid different version get some issue. Win 10 , get once unexpected update.


Any suggestion about this case. I can't make sure only last 3 optimization is  failed or ..?  How to fixed it.

I guess maybe some function in new version MT5 is not support anymore in optimization but in single run not effect. There are some different handle way in optimization and single run.

I Note (I have fixed similar issue before.It's so difficult to find out.  So this time ,I try to keep MT5 in the same version. and maybe failure...

Could someone share experience about this 

Strategy Tester

Strategy optimization result do not match single run test result

 

Some indicators which don't have proper buffer updates can get this type of errors, visual tests force updates (OnCalculate) each candle, but non-visual tests only do it when they are called from a CopyBuffer.

If the indicator can't handle that, it will have different values. Check your indicators since that's where most of these errors happen

(Optimization results should match the non visual test results though, if they don't then, the EA code may have some forced changes of behaviour when it's on optimization mode)
 
There are something to note.  The Strategy optimization count is match single run test sell count (no buy  count).
MQL5 forum
MQL5 forum
  • www.mql5.com
MQL5: Forum on automated trading systems and strategy testing
 
Manuel Alejandro Cercos Perez:

Some indicators which don't have proper buffer updates can get this type of errors, visual tests force updates (OnCalculate) each candle, but non-visual tests only do it when they are called from a CopyBuffer.

If the indicator can't handle that, it will have different values. Check your indicators since that's where most of these errors happen

(Optimization results should match the non visual test results though, if they don't then, the EA code may have some forced changes of behaviour when it's on optimization mode)

Thanks your  check point. It's very useful. 

I try to verify it by test visual mode and non visual mode result is the same or not .

1.The result is the same. with and without visual mode single test. 

2. change to official  MT5, don't use IC Mackets MetaTrader

3. I changed PC, still got similar result. 

4.note  Modeling I use 1 min OHLC for speed. later I will try to use math and tick mode. But my CPU is not strong enough ,it take time to check. (Check point total trade and profit)


 This issue had been fixed several month ago.( Previous experience I discover visual test and non visual mode is different)...
(Maybe still has some bugs there >< ) 

Any suggestion to verify please tell me ~ I will try   

 

What are the results from optimization and from single run test ?

Did you check the parameters are exactly the same ? I have seen parameters wrongly transmitted when using "Run single test" command.

Did you try without the "forward" option ?

If you run several single test with same parameters, do you always have the same results ?

 
Alain Verleyen #:

What are the results from optimization and from single run test ?

Did you check the parameters are exactly the same ? I have seen parameters wrongly transmitted when using "Run single test" command.

Did you try without the "forward" option ?

If you run several single test with same parameters, do you always have the same results ?

The test result is so sad, one of indicator get failure like Manuel Alejandro Cercos Perez said. This issue comes back( or never leave hahaha). Maybe use wrong version because my HD failed.


"Did you check the parameters are exactly the same ?" 

I have seen parameters wrongly transmitted when using "Run single test" command.<<< If this happen , how to check it?

The  optimization get different results, not same parameters and not the same result. 

Manuel Alejandro Cercos Perez
Manuel Alejandro Cercos Perez
  • 2021.08.28
  • www.mql5.com
Trader's profile
 

i seldom use optimization.

as i think the effort of upgrading to 96% from 95% is not worthy.

I better built other 90% strategy to cover other losses

 
SungSungE #:

The test result is so sad, one of indicator get failure like Manuel Alejandro Cercos Perez said. This issue comes back( or never leave hahaha). Maybe use wrong version because my HD failed.


"Did you check the parameters are exactly the same ?" 

I have seen parameters wrongly transmitted when using "Run single test" command.<<< If this happen , how to check it?

The  optimization get different results, not same parameters and not the same result. 

There is a small trick I used to do, if you don't know how to fix the indicator or don't have the code, you can force-check the indicator each tick (Do a CopyBuffer always) instead of only getting their values when you have to check them.

Copy buffers of the indicators that fail at the beginning of OnTick, and then they can be used after in the EA logic. That can solve the issue for some indicators, but others have deeper issues (the tests/optimizations can be a bit less efficient as a drawback)

The parameters wrongly transmited seem to happen when using an EA with too many parameters, and calling indicator handles with too many parameters also, but I don't know the real reasons why (one solution to that is create set-files for the indicators to read)

 

I know this is an old thread but this is the only place I could find. 

I am having the same problem I believe. After my optimization, I have results for the forward and backtest. I picked one of the best results and clicked to run on single test. The backtest data matches the profit in the tester but the forward test data doesn't match. 

Please if anyone has a solution to this please help.

 
abenyong #:

I know this is an old thread but this is the only place I could find. 

I am having the same problem I believe. After my optimization, I have results for the forward and backtest. I picked one of the best results and clicked to run on single test. The backtest data matches the profit in the tester but the forward test data doesn't match. 

Please if anyone has a solution to this please help.

I'm going to jump into this, I have the same issue and I'd love to get to the bottom of it, I'm happy to debug the issue if you folks know where to look
Manuel Alejandro Cercos Perez #:

Some indicators which don't have proper buffer updates can get this type of errors, visual tests force updates (OnCalculate) each candle, but non-visual tests only do it when they are called from a CopyBuffer.

If the indicator can't handle that, it will have different values. Check your indicators since that's where most of these errors happen

(Optimization results should match the non visual test results though, if they don't then, the EA code may have some forced changes of behaviour when it's on optimization mode)
This is an interesting comment I'd like to chase
 
Juan Calvo #:
I'm going to jump into this, I have the same issue and I'd love to get to the bottom of it, I'm happy to debug the issue if you folks know where to look This is an interesting comment I'd like to chase

from Alain Verleyen  check the parameters are exactly the same ?
 sometime the GUI  transmitted   parameters wrongly when using "Run single test" command. ... Maybe loading the single one. forward parameters maybe get problem ><

And londing backward and forward maybe only run forward testing...
My solultion is always use backward and pickup the result we need ... I think this language/base system isn't robust  ><.

And My exp diff MetaTrade Build version get some diff issue , I have been get truble with it .Maybe after 2~3 month ,the bizarre problem disappear... ..
Maybe you do others ><,and check it later.

Reason: