오늘 MT5 단말기가 업데이트되어 테스트 중 "최적화" 창이 표시되지 않습니다. - 페이지 19

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

이 Build 1845에 대한 내 1835가 업데이트되지 않았습니다 ...

MetaQuotes-Demo에 연결되었습니다...

"정보" 창을 엽니다.

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

도움이 되지 않습니다.

그리고 터미널 재시작

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

버전 MT 1845.

나는 당신의 예를 반복했고 이 매개변수도 표준 MACD 샘플에 삽입했습니다.


어떻게 이 실험을 반복할 수 없는지 이해가 되지 않습니까?

나는 똑같이했고 내일 우리 전문가를 비교할 것입니다. 나만 '모든 체크' 모드에서 체크

방금 다시 실행했습니다 - 로그

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

모든 진드기는 문제가 되지 않습니다.

다음은 귀하의 로그에서 가져온 것입니다.

차이점은 명확하게 보입니다. 당신은 1288개의 패스를 가지고 있고 저는 122221개의 패스를 가지고 있습니다.

그리고 여기 5149에 있습니다.


최적화 시간을 비교하기 위해 특별히 비싼 틱 생성 방식을 설정했습니다.

올바른 가짜 매개변수로 최적화하면 약 1시간이 걸립니다(측정하지 않음). 그래서 나는 당신의 상황을 재현할 수 없습니다.

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

다시.

초기화 단계에서 종료를 수행하면 차이점이 무엇입니까? 비용이 많이 드는 방법이 가치가 있습니까? 최적화(매개변수 전달)가 시작되지도 않습니다!

다음과 같습니다.

이 코드는 얼마나 오래 실행됩니까? 그렇지 않습니다.

내 예에서도 마찬가지입니다. return(INIT_PARAMETERS_INCORRECT) 이후의 다른 모든 코드 는 실행되지 않습니다(적어도 실행 되지 않아야 함).


다른 분들의 글을 잘 안 읽으시는 것 같습니다. 패스가 있고 잘못된 입력 매개변수로 실행되지 않았습니다. 즉, 귀하의 상황을 재현할 수 없습니다.

 
Rashid Umarov :

다른 분들의 글을 잘 안 읽으시는 것 같습니다. 패스가 있고 잘못된 입력 매개변수로 실행되지 않았습니다. 즉, 귀하의 상황을 재현할 수 없습니다.

이러한 제동은 최적화를 위해 네트워크를 사용하는 경우 특히 두드러집니다.

 

Oh yoy yoy! 도와주세요! 컴파일이 멈췄습니다!

 //+------------------------------------------------------------------+
//|                                                   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 yoy yoy 도와주세요! 컴파일이 멈췄습니다!

잘?

포럼은 최소한 가끔씩 플랫폼의 변경 사항을 읽습니다 .

 
Nikolay Gaylis :

Oh yoy yoy 도와주세요! 컴파일이 멈췄습니다!

TimeSeries.mqh 및 이에 대한 모든 참조를 삭제합니다. 이미 작동하지 않아도 작동해야 합니다(하지만 결함이 있을 수 있음).

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

불쌍해...

최적화 중에는 OnInit 또는 이전 버전에서 호출된 Print가 테스터 에이전트 로그에 표시됩니다. Expert Advisor를 로드 할 때 발생할 수 있는 문제를 분석하기 위해 특별히 제작되었습니다. OnInit 후에는 최적화 중에 로그에 대한 모든 출력이 겹칩니다.

에이전트 로그를 열고 인쇄를 확인하십시오.