MT5 terminal updated today and the "Optimisation" window does not show up during the test - page 19

 
Сергей Таболин:

Something about my 1835 to this Build 1845 doesn't update...

It's connected to MetaQuotes-Demo...

Open the "About" window

 
Сергей Таболин:

It doesn't work.

And restart the terminal

 
Сергей Таболин:

MT version 1845.

Repeated your example, also inserted this parameter in the standard MACD Sample.


I don't understand how you cannot repeat this experiment?

I did the same, I will compare our Expert Advisors tomorrow. Only I checked in "All ticks" mode

I just ran it again - the logs

Files:
20180612.zip  24 kb
 
Сергей Таболин:

All ticks are irrelevant, for it doesn't come down to ticks as such.

But from your log:

you can clearly see the difference - you only have 1288 passes and I have 122221.

And here I have at 5149:


I purposely put a costly tick generation method to compare the optimisation time.

If I optimise with the correct fake parameter, it takes about an hour (didn't measure). Thus, I don't have your situation reproduced.

 
Сергей Таболин:

Once again.

If the output is done at the initialisation stage, what difference does it make if the cost method stands or not? Optimisation (pass with parameters) doesn't even start!

It's like this:

How long will this code take to execute? It won't, right.

The same thing happens with my example. All the rest code after return(INIT_PARAMETERS_INCORRECT) is not executed (at least it shouldn't be).


You don't seem to be reading other people's posts. I have proxies and they don't execute with the wrong input parameter - which means I can't reproduce your situation.

 
Rashid Umarov:

You don't seem to be reading other people's posts. I have proxies and they don't execute with the wrong input parameter - which means that I can't reproduce your situation.

These brakes are especially noticeable if you use your own network to optimise.

 

Oh yoy yoy! Please help! It stopped compiling!

 //+------------------------------------------------------------------+
//|                                                   TimeSeries.mqh |
//|                                        Copyright 2012, komposter |
//|                                         http://www.komposter.me/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, komposter"
#property link        "http://www.komposter.me/"
#property version    "10.15"
//+------------------------------------------------------------------+
//| iBars
//+------------------------------------------------------------------+
int iBars ()
  {
   return ( Bars ( _Symbol , _Period ));
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int iBars ( string symbol, ENUM_TIMEFRAMES timeframe)
  {
   return ( Bars (symbol,timeframe));
  }
//+------------------------------------------------------------------+
//| iTime
//+------------------------------------------------------------------+
datetime iTime ( int bar)
  {
   if (bar< 0 ) return (- 1 );

   datetime array[];
   if ( CopyTime ( _Symbol , _Period ,bar, 1 ,array)> 0 )
       return (array[ 0 ]);
   else
       return (- 1 );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
datetime iTime ( string symbol, ENUM_TIMEFRAMES timeframe, int bar)
  {
   if (bar< 0 ) return (- 1 );

   datetime array[];
   if ( CopyTime (symbol,timeframe,bar, 1 ,array)> 0 )
       return (array[ 0 ]);
   else
       return (- 1 );
  }
//+------------------------------------------------------------------+
//| iOpen
//+------------------------------------------------------------------+
double iOpen ( int bar)
  {
   if (bar< 0 ) return (- 1 );

   double array[];
   if ( CopyOpen ( _Symbol , _Period ,bar, 1 ,array)> 0 )
       return (array[ 0 ]);
   else
       return (- 1 );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double iOpen ( string symbol, ENUM_TIMEFRAMES timeframe, int bar)
  {
   if (bar< 0 ) return (- 1 );

   double array[];
   if ( CopyOpen (symbol,timeframe,bar, 1 ,array)> 0 )
       return (array[ 0 ]);
   else
       return (- 1 );
  }
//+------------------------------------------------------------------+
//| iHigh
//+------------------------------------------------------------------+
double iHigh ( int bar)
  {
   if (bar< 0 ) return (- 1 );

   double array[];
   if ( CopyHigh ( _Symbol , _Period ,bar, 1 ,array)> 0 )
       return (array[ 0 ]);
   else
       return (- 1 );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double iHigh ( string symbol, ENUM_TIMEFRAMES timeframe, int bar)
  {
   if (bar< 0 ) return (- 1 );

   double array[];
   if ( CopyHigh (symbol,timeframe,bar, 1 ,array)> 0 )
       return (array[ 0 ]);
   else
       return (- 1 );
  }
//+------------------------------------------------------------------+
//| iLow
//+------------------------------------------------------------------+
double iLow ( int bar)
  {
   if (bar< 0 ) return (- 1 );

   double array[];
   if ( CopyLow ( _Symbol , _Period ,bar, 1 ,array)> 0 )
       return (array[ 0 ]);
   else
       return (- 1 );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double iLow ( string symbol, ENUM_TIMEFRAMES timeframe, int bar)
  {
   if (bar< 0 ) return (- 1 );

   double array[];
   if ( CopyLow (symbol,timeframe,bar, 1 ,array)> 0 )
       return (array[ 0 ]);
   else
       return (- 1 );
  }
//+------------------------------------------------------------------+
//| iClose
//+------------------------------------------------------------------+
double iClose ( int bar)
  {
   if (bar< 0 ) return (- 1 );

   double array[];
   if ( CopyClose ( _Symbol , _Period ,bar, 1 ,array)> 0 )
       return (array[ 0 ]);
   else
       return (- 1 );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double iClose ( string symbol, ENUM_TIMEFRAMES timeframe, int bar)
  {
   if (bar< 0 ) return (- 1 );

   double array[];
   if ( CopyClose (symbol,timeframe,bar, 1 ,array)> 0 )
       return (array[ 0 ]);
   else
       return (- 1 );
  }
//+------------------------------------------------------------------+
//| iVolume
//+------------------------------------------------------------------+
long iVolume ( int bar)
  {
   if (bar< 0 ) return (- 1 );

   long array[];
   if ( CopyTickVolume ( _Symbol , _Period ,bar, 1 ,array)> 0 )
       return (array[ 0 ]);
   else
       return (- 1 );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
long iVolume ( string symbol, ENUM_TIMEFRAMES timeframe, int bar)
  {
   if (bar< 0 ) return (- 1 );

   long array[];
   if ( CopyTickVolume (symbol,timeframe,bar, 1 ,array)> 0 )
       return (array[ 0 ]);
   else
       return (- 1 );
  }
//+------------------------------------------------------------------+
//| iHighest
//+------------------------------------------------------------------+
int iHighest ( int bar_left, int bar_right)
  {
   double array[]; ArraySetAsSeries (array, true );
   int copied= CopyHigh ( _Symbol , _Period ,bar_right,bar_left-bar_right+ 1 ,array);
   if (copied< 0 ) return (- 1 );

   int highest_bar=- 1 ; double highest= DBL_MIN ;
   for ( int i=copied- 1 ; i>= 0 ; i --)
     {
       if (array[i]>highest)
        {
         highest=array[i];
         highest_bar=i;
        }
     }

   if (highest_bar< 0 ) return (- 1 );

   return (bar_right+highest_bar);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int iHighest ( string symbol, ENUM_TIMEFRAMES timeframe, int bar_left, int bar_right)
  {
   double array[]; ArraySetAsSeries (array, true );
   int copied= CopyHigh (symbol,timeframe,bar_right,bar_left-bar_right+ 1 ,array);
   if (copied< 0 ) return (- 1 );

   int highest_bar=- 1 ; double highest= DBL_MIN ;
   for ( int i=copied- 1 ; i>= 0 ; i --)
     {
       if (array[i]>highest)
        {
         highest=array[i];
         highest_bar=i;
        }
     }

   if (highest_bar< 0 ) return (- 1 );

   return (bar_right+highest_bar);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int iHighest ( datetime time_left, datetime time_right)
  {
   double array[]; ArraySetAsSeries (array, true );
   int copied= CopyHigh ( _Symbol , _Period ,time_left,time_right,array);
   if (copied< 0 ) return (- 1 );

   int highest_bar=- 1 ; double highest= DBL_MIN ;
   for ( int i=copied- 1 ; i>= 0 ; i --)
     {
       if (array[i]>highest)
        {
         highest=array[i];
         highest_bar=i;
        }
     }

   if (highest_bar< 0 ) return (- 1 );

   return (highest_bar+ iBarShift ( _Symbol , _Period ,time_right));
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int iHighest ( string symbol, ENUM_TIMEFRAMES timeframe, datetime time_left, datetime time_right)
  {
   double array[]; ArraySetAsSeries (array, true );
   int copied= CopyHigh (symbol,timeframe,time_left,time_right,array);
   if (copied< 0 ) return (- 1 );

   int highest_bar=- 1 ; double highest= DBL_MIN ;
   for ( int i=copied- 1 ; i>= 0 ; i --)
     {
       if (array[i]>highest)
        {
         highest=array[i];
         highest_bar=i;
        }
     }

   if (highest_bar< 0 ) return (- 1 );

   return (highest_bar+ iBarShift (symbol,timeframe,time_right));
  }
//+------------------------------------------------------------------+
//| iLowest
//+------------------------------------------------------------------+
int iLowest ( int bar_left, int bar_right)
  {
   double array[]; ArraySetAsSeries (array, true );
   int copied= CopyLow ( _Symbol , _Period ,bar_right,bar_left-bar_right+ 1 ,array);
   if (copied< 0 ) return (- 1 );

   int lowest_bar=- 1 ; double lowest= DBL_MAX ;
   for ( int i=copied- 1 ; i>= 0 ; i --)
     {
       if (array[i]<lowest)
        {
         lowest=array[i];
         lowest_bar=i;
        }
     }

   if (lowest_bar< 0 ) return (- 1 );

   return (bar_right+lowest_bar);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int iLowest ( string symbol, ENUM_TIMEFRAMES timeframe, int bar_left, int bar_right)
  {
   double array[]; ArraySetAsSeries (array, true );
   int copied= CopyLow (symbol,timeframe,bar_right,bar_left-bar_right+ 1 ,array);
   if (copied< 0 ) return (- 1 );

   int lowest_bar=- 1 ; double lowest= DBL_MAX ;
   for ( int i=copied- 1 ; i>= 0 ; i --)
     {
       if (array[i]<lowest)
        {
         lowest=array[i];
         lowest_bar=i;
        }
     }

   if (lowest_bar< 0 ) return (- 1 );

   return (bar_right+lowest_bar);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int iLowest ( datetime time_left, datetime time_right)
  {
   double array[]; ArraySetAsSeries (array, true );
   int copied= CopyLow ( _Symbol , _Period ,time_left,time_right,array);
   if (copied< 0 ) return (- 1 );

   int lowest_bar=- 1 ; double lowest= DBL_MAX ;
   for ( int i=copied- 1 ; i>= 0 ; i --)
     {
       if (array[i]<lowest)
        {
         lowest=array[i];
         lowest_bar=i;
        }
     }

   if (lowest_bar< 0 ) return (- 1 );

   return (lowest_bar+ iBarShift ( _Symbol , _Period ,time_right));
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int iLowest ( string symbol, ENUM_TIMEFRAMES timeframe, datetime time_left, datetime time_right)
  {
   double array[]; ArraySetAsSeries (array, true );
   int copied= CopyLow (symbol,timeframe,time_left,time_right,array);
   if (copied< 0 ) return (- 1 );

   int lowest_bar=- 1 ; double lowest= DBL_MAX ;
   for ( int i=copied- 1 ; i>= 0 ; i --)
     {
       if (array[i]<lowest)
        {
         lowest=array[i];
         lowest_bar=i;
        }
     }

   if (lowest_bar< 0 ) return (- 1 );

   return (lowest_bar+ iBarShift (symbol,timeframe,time_right));
  }
//+------------------------------------------------------------------+
//| iBarShift
//+------------------------------------------------------------------+
int iBarShift ( datetime time, bool exact= false )
  {
   if (time< 0 ) return (- 1 );

   datetime array[],time0;
   if ( CopyTime ( _Symbol , _Period , 0 , 1 ,array)< 0 ) return (- 1 );
   time0=array[ 0 ]; //Время открытия нулевого бара

   if ( CopyTime ( _Symbol , _Period ,time0,time,array)< 0 ) return (- 1 );

   datetime temptime= iTime ( _Symbol , _Period , ArraySize (array)- 1 );
   if (array[ 0 ]==temptime && temptime<=time)
     {
       return ( ArraySize (array)- 1 );
     }
   else
     {
       if (exact)
        {
         return (- 1 );
        }
       else
        {
         return ( ArraySize (array)- 1 );
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int iBarShift ( string symbol, ENUM_TIMEFRAMES timeframe, datetime time, bool exact= false )
  {
   if (time< 0 ) return (- 1 );

   datetime array[],time0;
   if ( CopyTime (symbol,timeframe, 0 , 1 ,array)< 0 ) return (- 1 );
   time0=array[ 0 ]; //Время открытия нулевого бара

   if ( CopyTime (symbol,timeframe,time0,time,array)< 0 ) return (- 1 );

   datetime temptime= iTime (symbol,timeframe, ArraySize (array)- 1 );
   if (array[ 0 ]==temptime && temptime<=time)
     {
       return ( ArraySize (array)- 1 );
     }
   else
     {
       if (exact)
        {
         return (- 1 );
        }
       else
        {
         return ( ArraySize (array)- 1 );
        }
     }
  }
//+------------------------------------------------------------------+
 
Nikolay Gaylis:

Oh yo yo! Help! It's stopped compiling!

Well?

At least read the forum once in a while for platform changes

 
Nikolay Gaylis:

Oyyyyy! Help! It stopped compiling!

Delete TimeSeries.mqh and all references to it, should work without it (but possibly with glitches).

 
Сергей Таболин:

It's a pity...

During optimisation, Print, called at OnInit or earlier, is output to the tester agents' log. This was made on purpose to analyze possible problems during Expert Advisor loading. After OnInit, all outputs in the log during optimization are overlapped.

Open the agent log and see your Print