MetaTrader 5 Platform update build 3660: Improvements and fixes - page 3

 

The tester (Win 10, b 3661) hangs :(

After testing the same EA with EURUSD and XAUUSD the tester hangs after the first few results:

started this morning:

2023.04.02 07:40:03.177 Core 12 EURCHF: ticks synchronized already [43 bytes]


This result hasn't really changed since 8 hors,

The MT5 task manager doesn't help, while Win10 TaskManager shows this:


Why is ntoskrnl.exe so heavily used? (Ram is no full so the system is not swapping).

My EA was tested with XAUUSD and the same period with 510 passes (+ some doubled calculated= within 24h so ~21 passes within 1 hour and now ...?

 
Carl Schreiber #:

The tester (Win 10, b 3661) hangs :(

After testing the same EA with EURUSD and XAUUSD the tester hangs after the first few results:

started this morning:


This result hasn't really changed since 8 hors,

The MT5 task manager doesn't help, while Win10 TaskManager shows this:


Why is ntoskrnl.exe so heavily used? (Ram is no full so the system is not swapping).

My EA was tested with XAUUSD and the same period with 510 passes (+ some doubled calculated= within 24h so ~21 passes within 1 hour and now ...?

  • Close mt5
  • Delete the tester cache 
  • Run the next test

I've not faced issues (no running , hanging) with 3661 because i run all my optimizations (due to their nature) like so.

It does feel slower however and in heavy normalization and math functions usage tests it gradually deccelerates (within one optimization batch) (however this has been noticed when MathCos / MathSin is used and everything passes through MathIsValidNumber())

I suspect theres been changes in the caching mechanisms to give speed to the matrix / vector libraries or smth

 
Carl Schreiber #:

The tester (Win 10, b 3661) hangs :(

After testing the same EA with EURUSD and XAUUSD the tester hangs after the first few results:

started this morning:


This result hasn't really changed since 8 hors,

The MT5 task manager doesn't help, while Win10 TaskManager shows this:


Why is ntoskrnl.exe so heavily used? (Ram is no full so the system is not swapping).

My EA was tested with XAUUSD and the same period with 510 passes (+ some doubled calculated= within 24h so ~21 passes within 1 hour and now ...?

I have seen so much post of the same kind. With no way to reproduce it...

So if it's an MT5 issue, it's waste of time and nothing will be fixed. And if it's something else we can't help.

 

Additionally I would like to make a suggestion:
MQL5 now offers extensive matrix operations. Arrays, whose SECOND DIMENSION CAN/MAY BE SET AT RUN TIME! I have thought now, it would be nevertheless optimal to examine with these possibilities the table of the optimization results of the tester (*.xml with varying numbers of variables) statistically.

With a small (see below) function an XML file of the tester can be read into a MQ matrix (sorry Sunday morning during the F1 race) and now I would like (not yet implemented as I thought the built in function would support this) to print out, how for each expression of a variable (0,1,2,...) or an expression range (Points 50-59, 60-69, 70-79, ... or if sensibly increasing range: 50-59, 60-75, 76-96, ...) the results are shown: Max, Min, Average, Skewness...

Furthermore, it would be nice to be able to display two and more variables: If x1<TP>x2 and y1<SL>y2 => Max, Min, Average, Skewness, ...

It would also be possible to show which test range does not give useful results, so that the optimizations could be concentrated on useful things and time could be saved. E.g. a test range would be 2 - 20, step size 0.5 and the positive results are practically only in the range 4-6, one could save much effort.
There are other methods and tests of statistical analysis, but they require a deeper knowledge of when they can be used for what and how to interpret the results. This could be very helpful for the normal user in his optimizations I think.

This is what it prints:

2023.04.02 15:59:10.067 analyseTesterXML (EURUSD,H1)    found 509 lines in: Test_XML\ReportOptimizer-5005567730 EURUSD Test02.xml
2023.04.02 15:59:10.067 analyseTesterXML (EURUSD,H1)    lines: 509 Rows()=509   Cols()=18
2023.04.02 15:59:10.067 analyseTesterXML (EURUSD,H1)    [ 0] "Pass"            "Result"          "Profit"          "Expected Payoff" "Profit Factor"   "Recovery Factor"
2023.04.02 15:59:10.067 analyseTesterXML (EURUSD,H1)    [ 6] "Sharpe Ratio"    "Custom"          "Equity DD %"     "Trades"          "szTickBuff"      "HalfTickTrig"   
2023.04.02 15:59:10.067 analyseTesterXML (EURUSD,H1)    [12] "FullTickStop"    "PT_PIP"          "PT_Expo"         "doClsOppPos"     "nMaxBoostTP"     "cTickBoost"     
2023.04.02 15:59:10.068 analyseTesterXML (EURUSD,H1)    row  0 - [371,30151,20151,5.316887,1.11309,1.280079,0.599949,0,74.35639999999999,3790,1000,5,18,8,1.2,0,9,1.1]
2023.04.02 15:59:10.068 analyseTesterXML (EURUSD,H1)    row  1 - [489,30079,20079,4.309723,1.096521,1.047582,0.647383,0,70.50579999999999,4659,1500,5,22,6.5,1.1,0,0,1.3]
2023.04.02 15:59:10.068 analyseTesterXML (EURUSD,H1)    row  2 - [484,29393,19393,7.238895,1.163222,2.183159,1.438798,0,32.2023,2679,1300,7,12,5.5,0.8,0,9,1.6]
2023.04.02 15:59:10.068 analyseTesterXML (EURUSD,H1)    row 507 - [298,-408,-10408,-9.557392,0.833443,-0.873521,-1.431071,0,103.5457,1089,1000,9,22,5,1.1,1,9,1.9]
2023.04.02 15:59:10.068 analyseTesterXML (EURUSD,H1)    row 508 - [213,-453,-10453,-4.919059,0.910801,-0.713029,-1.591099,0,103.1886,2125,800,5,12,5.5,1.1,1,9,1.6]
Files:
 
Alain Verleyen #:

I have seen so much post of the same kind. With no way to reproduce it...

So if it's an MT5 issue, it's waste of time and nothing will be fixed. And if it's something else we can't help.

It's really stupid. I stopped the test and restart the optimization and firstly it was perfectly but after some time  ntoskrnl.exe appears again and blocks everything :(

I stopped again closed the terminal and restarted it again and that performs an update to b. 3662 it could be that this hanging update (I clicked on later) causes this :(

 
Carl Schreiber #:

It's really stupid. I stopped the test and restart the optimization and firstly it was perfectly but after some time  ntoskrnl.exe appears again and blocks everything :(

I stopped again closed the terminal and restarted it again and that performs an update to b. 3662 it could be that this hanging update (I clicked on later) causes this :(

What is stupid ?
 
Carl Schreiber #:

I stopped the test and restart the optimization and firstly it was perfectly but after some time  ntoskrnl.exe appears again and blocks everything :(

I stopped again closed the terminal and restarted it again and that performs an update to b. 3662 it could be that this hanging update (I clicked on later) causes this :(

I have an identical problem! Just in case, I wrote about this problem on the Russian-language forum.

 
fxsaber #:

I have an identical problem! Just in case, I wrote about this problem on the Russian-language forum.

He wrote he had the problem with build 3661 too. You have it only with 3662.

Anyway we will see.

 

Acc. to https://www.mql5.com/en/docs/matrix/matrix_manipulations/matrix_sort:

Sort

Sort a matrix or vector in place.

I should be able to sort a vector But (b3662):

   vector vCol;
   vCol.Init(nL);
   vCol.Fill(1.11);
   vCol.Sort();   // <= error message: 'Sort' is not a member of 'vector' type  analyseTesterXML.mq5    52      9
Documentation on MQL5: Matrix and Vector Methods / Manipulations / Sort
Documentation on MQL5: Matrix and Vector Methods / Manipulations / Sort
  • www.mql5.com
Sort - Manipulations - Matrix and Vector Methods - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 

Even tri does not work as described:

This is a static function Construct a matrix with ones at and below the given diagonal and zeros elsewhere.

static matrix matrix::Tri(
  const ulong rows,        // number of rows
  const ulong cols,        // number of columns
  const int   ndiag=0      // number of diagonal
   );

Parameters

rows

[in]  Number of rows in the array.

cols

[in]  Number of columns in the array.

ndiag=0

[in]  The sub-diagonal at and below which the array is filled. k = 0 is the main diagonal, while k < 0 is below it, and k > 0 is above. The default is 0.

Return Value

Array with its lower triangle filled with ones and zero elsewhere.

This is what I tried:

   matrix m = matrix::Tri(5,7,9);
   Print(m);

and this is what I get:

2023.04.04 13:25:58.904 analyseTesterXML (EURUSD,H1)    [[1,1,1,1,1,1,1]
2023.04.04 13:25:58.904 analyseTesterXML (EURUSD,H1)     [1,1,1,1,1,1,1]
2023.04.04 13:25:58.904 analyseTesterXML (EURUSD,H1)     [1,1,1,1,1,1,1]
2023.04.04 13:25:58.904 analyseTesterXML (EURUSD,H1)     [1,1,1,1,1,1,1]
2023.04.04 13:25:58.904 analyseTesterXML (EURUSD,H1)     [1,1,1,1,1,1,1]]

:(

Dokumentation zu MQL5: Matrizen und Vektoren / Initialisierung / Tri
Dokumentation zu MQL5: Matrizen und Vektoren / Initialisierung / Tri
  • www.mql5.com
Tri - Initialisierung - Matrizen und Vektoren - Nachschlagewerk MQL5 - Nachschlagewerk über die Sprache des algothitmischen/automatischen Handels für MetaTrader 5