오류, 버그, 질문 - 페이지 2223

 
Nikolai Semko :
예, 이미 메시지 22214에서 구현에 대한 이 링크를 제공했습니다. 반복합니다 - 이 옵션이 지금까지 가장 합리적이라고 생각합니다. 그리고 프로세서의 최소 부하와 새로운 틱의 수신 순간의 관련성 측면에서 더 나은 구현이 없는 것 같습니다.

서비스는 정상적인 기능을 갖습니다.

 
fxsaber :

서비스는 정상적인 기능을 갖습니다.

희망...

 

터미널(1874)은 다른 거래 서버로 전환할 때 사용자 지정 기호의 막대 기록 표시(차트 또는 요청)를 중지합니다. 터미널을 다시 시작하면 이력이 표시됩니다. 다른 서버로 다시 전환해야 합니다. 상황이 반복됩니다.


거래 서버를 전환할 때 틱 기록 이 손상되지 않습니다. 거기에는 버그가 없습니다.

 
template < typename T>
class CLASS
{
public :  
   T Func() { return ( 0 ); }
};

class CLASS2 : public CLASS< int >
{
public :
  CLASS2()
  {
     this .Func(); // ALT+G в ME не производит переход на int CLASS<int>:Func()
  }
};

ME는 이렇게 행동해야 합니까?

 

파일 로드에 오류가 있습니다. 두 로컬 에이전트가 FILE_COMMON 플래그를 사용하여 FileLoad를 통해 데이터를 읽으려고 하면 에이전트 중 하나가 중단됩니다.

FileOpen에서는 적절한 플래그를 설정할 수 있지만 FileLoad에서는 설정할 수 없습니다. 따라서 다른 FileLoad가 파일을 읽을 경우 FileLoad를 통해 파일에 대한 액세스를 허용하십시오.

 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MT 개발자를 위한 것이 아닙니다! INIT_PARAMETERS_INCORRECT를 대체하는 방법?

fxsaber , 2018.07.10 20:16

 // Нужно компилировать (не запускать) советник, когда этот файл (с любым содержанием, хоть пустой) лежит в Песочнице.
// Иначе Тестер не будет видеть эти данные, даже если соответствующий файл с ними положить после компиляции на место.   
   #property tester_file __FILE__

고대 버그.

 

HDD/SSD를 강제 실행하지 않도록 tester_file을 RAM에 유지할 수 있습니까? 그리고 수백만 개의 패스가 있으며 파일을 여러 번 세는 것은 공포입니다.


이러한 "RAM 디스크"는 개인 데이터를 제3자에게 무단으로 전송하는 것을 크게 복잡하게 만듭니다.

 

새 최적화 캐시는 최적화를 실행하기 전에 tester_file 및 공통 파일에 대한 변경 사항을 고려하지 않습니다.

다음은 그러한 조언자의 예입니다.

 
fxsaber :

새 최적화 캐시는 최적화를 실행하기 전에 tester_file 및 공통 파일에 대한 변경 사항을 고려하지 않습니다.

다음은 그러한 조언자의 예입니다.

오래된 것을 고려했습니까?

"이전" 최적화 캐시에서 변경된 사항은 없습니다.

수정된 tester_file을 동일한 파일 수정 시간으로 슬립하면 파일이 변경되지 않은 것으로 간주됩니다.

공통 파일은 어드바이저에서 어떤 파일을 사용하는지 알 수 없기 때문에 전혀 제어할 수 없습니다.

 
Slava :

수정된 tester_file을 동일한 파일 수정 시간으로 슬립하면 파일이 변경되지 않은 것으로 간주됩니다.

업데이트된 수정 시간은 결과에 영향을 주지 않습니다. 조언자

 // Нужно компилировать (не запускать) советник, когда этот файл (с любым содержанием, хоть пустой) лежит в Песочнице.
// Иначе Тестер не будет видеть эти данные, даже если соответствующий файл с ними положить после компиляции на место.  
#property tester_file __FILE__ 

sinput int NumPass = 10 ;

#define TOSTRING(A) #A

void SetArray( int &Array[], const int Amount )
{
   MathSrand (( int ) TimeLocal ());
  
   for ( int i = ArrayResize (Array, Amount) - 1 ; i >= 0 ; i--)
    Array[i] = MathRand () * Amount / SHORT_MAX + 1 ; // Случайное положительное число
}

void OnTesterInit ()
{    
   ParameterSetRange (TOSTRING(NumPass), true , 0 , 0 , 1 , NumPass - 1 ); // Задали Оптимизатору количество проходов = NumPass    
  
   int Array[];
  
  SetArray(Array, NumPass);      
   FileSave ( __FILE__ , Array);
  
   ArrayPrint (Array);  
}

void OnTesterDeinit ()
{
   ChartClose (); // Закрыли чарт Frame-выполнения советника
}

double OnTester ()
{
   int Array[];
  
   return (( FileLoad ( __FILE__ , Array) != - 1 ) ? Array[NumPass]: 0 );
}


2회 연속 런칭 결과


두 번째 실행이 두 번째(두 번째 줄)가 아닌 첫 번째 실행의 값과 완전히 일치한다는 빨간색으로 표시됩니다.


로그가 이를 확인합니다.

Tester   set "Custom max" as optimization criterion for mathematical calculations
Tester  input parameter 'NumPass' set to: enable= true , value = 0 , start= 0 , step= 1 , stop= 9
Tester  cache file 'tester\cache\X2.30.480532BA71563CA64BC267378A0185DD.opt' contains 10 records
Tester  Experts\fxsaber\X2.ex5 math calculations test means no history and no symbol info for EURGBP
Tester  complete optimization started
Tester  optimization already processed, total passes 10
Tester   reading of 10 result records from cache...
Tester   1 blocks of results read from cache in 0 ms
Statistics      optimization done in 0 minutes 00 seconds


캐시(재컴파일)를 재설정하면 첫 번째 실행은 정상이고 그렇지 않습니다.