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.

[Excluído]  

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