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

 

친애하는 개발자.

빌드 1281 MT5 윈도우 7 64

오늘 업데이트를 받았습니다


sobvteno 프로세스가 끝이 없었습니다 :-)

과부하 후 다시 재부팅하려고 합니다.

2016.03.30 10:33:31.903 회로망 '3143179': 거래가 활성화되었습니다 - 네팅 모드

2016.03.30 10:33:31.903 회로망 '3143179': MetaQuotes Software Corp.와 동기화된 터미널

2016.03.30 10:33:31.829 회로망 '3143179': 2016.03.30 10:33:05부터 이전에 성공한 인증

2016.03.30 10:33:31.829 회로망 '3143179': 액세스 포인트 EU 프랑크푸르트를 통해 MetaQuotes-Demo에서 승인됨(ping: 70.19ms)

2016.03.30 10:33:31.759 실시간 업데이트 새 터미널 빌드 1286(IDE: 1286, 테스터: 1286)을 사용할 수 있습니다.

 
Vladislav Andruschenko :

친애하는 개발자.

빌드 1281 MT5 윈도우 7 64

오늘 업데이트를 받았습니다


sobvteno 프로세스가 끝이 없었습니다 :-)

과부하 후 다시 재부팅하려고 합니다.

2016.03.30 10:33:31.903 회로망 '3143179': 거래가 활성화되었습니다 - 네팅 모드

2016.03.30 10:33:31.903 회로망 '3143179': MetaQuotes Software Corp.와 동기화된 터미널

2016.03.30 10:33:31.829 회로망 '3143179': 액세스 포인트 EU 프랑크푸르트를 통해 MetaQuotes-Demo에서 승인됨(ping: 70.19ms)

2016.03.30 10:33:31.759 실시간 업데이트 새 터미널 빌드 1286(IDE: 1286, 테스터: 1286)을 사용할 수 있습니다.

전체 로그를 제공하십시오.
 
2016.03.30 10:48:54.402 Network '3143179': trading has been enabled - netting mode
2016.03.30 10:48:54.402 Network '3143179': terminal synchronized with MetaQuotes Software Corp.
2016.03.30 10:48:54.301 Network '3143179': previous successful authorization performed from  on 2016.03.30 10:33:30
2016.03.30 10:48:54.301 Network '3143179': authorized on MetaQuotes-Demo through Access Point EU Frankfurt (ping: 70.19 ms)
2016.03.30 10:48:54.230 LiveUpdate      new terminal build 1286 (IDE: 1286, Tester: 1286) is available
2016.03.30 10:48:54.021 MQL5.community  activated for 'Vladon', balance: 98.50
2016.03.30 10:48:53.122 Terminal        G:\РАБОТА\expforex\!!!$$$---MQL5---!!!\ROBOFOREX MT5
2016.03.30 10:48:53.122 Terminal        Windows 7 Ultimate (x64 based PC), IE 11.00, Intel Core i7-6700  @ 3.40GHz, RAM: 21297 / 32684 Mb, HDD: 9730 / 1498122 Mb, GMT+02:00
2016.03.30 10:48:53.115 Terminal        MetaTrader 5 - RoboForex x64 build 1281 started (ROBOFOREX LP)
 
Vladislav Andruschenko :
이것은 완전한 로그가 아닙니다. 서비스 데스크에 씁니다 .
[삭제]  
comp :

OnCalculate 실행 중에 인디케이터를 수동으로 제거하면 OnDeinit가 즉시 실행되고, 때로는 OnCalculate가 완료되지 못한 것과 동시에 실행된다는 것이 사실입니까?

그렇게 보인다. 클래스에는 소멸자에서 할당 해제된 다른 클래스 인스턴스의 동적 배열 이 있습니다.

소멸자는 삭제를 통해 OnDeinit에서만 호출됩니다.

따라서 OnCalculate 실행 중에 차트에서 표시기를 제거하면 위에서 언급한 배열이 마치 누군가 소멸자를 호출한 것처럼 자발적으로 지워지기 시작합니다. 이 사람은 OnDeinit입니다.

결과적으로 클래스 인스턴스 대신 NULL이 발생합니다.

OnCalculate에서 _StopFlag를 사용하려고 시도했지만 도움이 되지 않습니다.

OnCalculate 실행 중이 아니라 실행 후에 OnDeinit를 강제 실행하는 방법은 무엇입니까?

OnDeinit에서 삭제를 제거하면 NULL로 실행이 중지됩니다. 그러나 로그에 논리적 누수 메모리가 있습니다. 그래서 그것은 확실히 OnDeinit입니다. 나는 그것에 수면을 처방하려고했습니다. 그러나 지표에서 수면이 작동하지 않는 것 같습니다. 나는 심지어 이것을 시도했다

   void MySleep( const uint Pause ) const
  {
     const uint StartTime = GetTickCount ();
    
     while ( GetTickCount () - StartTime < Pause)
      ;
      
     return ;
  }

지표는 이것을 무시하는 것 같습니다.

 
comp :

디버깅할 때 미리 정의된 매크로 대체 를 사용합니다. 해당 매개변수를 함수/메서드에 전달하지 않고도 편리하게 호출하여 누가 호출했는지 알 수 있습니까?

내장 MQL 도구를 사용할 수 없으며 직접 수행해야 합니다. 예를 들어 디버그 버전의 경우 "호출 함수 이름" 매개변수를 추가합니다.
 
comp :

그렇게 보인다. 클래스에는 소멸자에서 할당 해제된 다른 클래스 인스턴스의 동적 배열 이 있습니다.

소멸자는 삭제를 통해 OnDeinit에서만 호출됩니다.

따라서 OnCalculate 실행 중에 차트에서 표시기를 제거하면 위에서 언급한 배열이 마치 누군가 소멸자를 호출한 것처럼 자발적으로 지워지기 시작합니다. 이 사람은 OnDeinit입니다.

결과적으로 클래스 인스턴스 대신 NULL이 발생합니다.

OnCalculate에서 _StopFlag를 사용하려고 시도했지만 도움이 되지 않습니다.

OnCalculate 실행 중이 아니라 실행 후에 OnDeinit를 강제 실행하는 방법은 무엇입니까?

OnDeinit에서 삭제를 제거하면 NULL로 실행이 중지됩니다. 그러나 로그에 논리적 누수 메모리가 있습니다. 그래서 그것은 확실히 OnDeinit입니다. 나는 그것에 수면을 처방하려고했습니다. 그러나 지표에서 수면이 작동하지 않는 것 같습니다. 나는 심지어 이것을 시도했다

지표는 이것을 무시하는 것 같습니다.

서비스 데스크에서 티켓을 열고 OnDeinit 기능 코드를 제공하세요.
[삭제]  
Ilyas :
서비스 데스크에서 티켓을 열고 OnDeinit 기능 코드를 제공하세요.

인위적으로 OnCalculate 를 오랫동안 실행시키는 방법을 추천하시겠습니까? 슬립 부머 포함.

복잡한 지표(많은 계산)에서만 재현합니다. 계산을 제거하는 방법 - 모든 규칙 OnCalculate는 거의 즉각적입니다.

 
comp :

OnCalculate 실행 중이 아니라 실행 후에 OnDeinit를 강제 실행하는 방법은 무엇입니까?


OnDeinit 는 항상 OnCalculate 후에 실행됩니다.
 
comp :

인위적으로 OnCalculate를 오랫동안 실행시키는 방법을 추천하시겠습니까? 슬립 부머 포함.

복잡한 지표(많은 계산)에서만 재현합니다. 계산을 제거하는 방법 - 모든 규칙 OnCalculate는 거의 즉각적입니다.

 #import "kernel32.dll"
     void Sleep ( uint );
#import



kernel32:: Sleep ( 10000 );