Terminal MT5 atualizado hoje e a janela "Otimização" não aparece durante o teste - página 19

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

Algo sobre meu 1835 para este Build 1845 não atualiza...

Está ligado à MetaQuotes-Demo...

Abra a janela "Sobre".

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

Não funciona.

E reinicie o terminal

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

MT versão 1845.

Repetindo seu exemplo, também inseriu este parâmetro na amostra MACD padrão.


Não entendo como você não pode repetir esta experiência?

Eu fiz o mesmo, amanhã vou comparar nossos EAs. Somente eu verifiquei no modo "Todos os carrapatos".

Acabei de executá-lo novamente - os troncos

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

Todos os carrapatos são irrelevantes, pois não se trata de carrapatos propriamente ditos.

Mas a partir de seu diário de bordo:

você pode ver claramente a diferença - você só tem 1288 passes e eu tenho 122221.

E aqui eu tenho em 5149:


Eu coloquei propositalmente um método de geração de carrapato para comparar o tempo de otimização.

Se eu otimizar com o parâmetro falso correto, leva cerca de uma hora (não medido). Assim, eu não tenho sua situação reproduzida.

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

Mais uma vez.

Se a produção é feita na fase de inicialização, que diferença faz se o método de custo se mantém ou não? A otimização (passe com parâmetros) nem sequer começa!

É assim:

Quanto tempo este código levará para ser executado? Não vai, certo.

A mesma coisa acontece com o meu exemplo. Todo o código restante após o retorno(INIT_PARAMETERS_INCORRECT) não é executado (pelo menos não deveria ser).


Você não parece estar lendo os posts de outras pessoas. Eu tenho procuradores e eles não executam com o parâmetro de entrada errado - o que significa que eu não posso reproduzir sua situação.

 
Rashid Umarov:

Você não parece estar lendo os posts de outras pessoas. Eu tenho procuradores e eles não executam com o parâmetro de entrada errado - o que significa que eu não posso reproduzir sua situação.

Estes freios são especialmente perceptíveis se você usar sua própria rede para otimizar.

 

Oh yoy yoy! Por favor, ajude! Parou de compilar!

 //+------------------------------------------------------------------+
//|                                                   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! Socorro! Parou de compilar!

Bem?

Ao menos leia o fórum de vez em quando para mudanças de plataforma

 
Nikolay Gaylis:

Oyyyyyy! Socorro! Parou de compilar!

Eliminar TimeSeries.mqh e todas as referências a ele, deve funcionar sem ele (mas possivelmente com falhas).

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

É uma pena...

Durante a otimização, a impressão, chamada no OnInit ou antes, é emitida para o registro dos agentes de teste. Isto foi feito de propósito para analisar possíveis problemas durante o carregamento do Expert Advisor. Após o OnInit, todas as saídas no log durante a otimização são sobrepostas.

Abra o log de agente e veja sua Impressão