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

 
RickD :

테스터에도 전문가용 폴더가 없습니다. 그러나 Expert Advisor를 테스트하는 경우 MQLInfoString(MQL_PROGRAM_NAME)은 동일한 값을 반환합니다.

그리고 명명된 파이프를 사용하여 차트의 테스트 버전과 버전을 연결하려면 동일한 값이 필요합니다.

수정됨
 
이 주제와 관련이 없는 댓글은 " MQL4 및 MQL5에 대한 모든 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 "으로 이동되었습니다.
 

디버그 모드에서 Expert Advisor를 실행합니다. 차트에서 어드바이저를 수동으로 제거하는 순간에 정확히 브레이크 포인트를 만들 필요가 있습니다. 그것을 하는 방법?


사실은 어드바이저가 제거되면 터미널이 단단히 끊어집니다. 이것이 어디에서 일어나고 있는지 이해해야 합니다.

 
fxsaber :

디버그 모드에서 Expert Advisor를 실행합니다. 차트에서 어드바이저를 수동으로 제거하는 순간에 정확히 브레이크 포인트를 만들 필요가 있습니다. 그것을 하는 방법?

이 코드를 작성했습니다:

 int OnInit ()
  {
     if ( IsStopped ()) DeInitEA( 1 );
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
   if ( IsStopped ()) DeInitEA( 2 );

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   if ( IsStopped ()) DeInitEA( 3 );
  }
//+------------------------------------------------------------------+

void DeInitEA( const int callfunc)
{
   string s = "" ;
   switch (callfunc)
   {
       case 1 : s = "OnInit" ; break ;
       case 2 : s = "OnDeinit" ; break ;
       case 3 : s = "OnTick" ; break ;
   }
   Print (s + " , остановка работы советника" );
   
}

문자열에 중단점을 설정합니다. s = ""; - 아무 문제 없이 ME에 반환, 디버그 창이 나타났습니다. 음, 모든 것이 평소와 같습니다.

 

처음에는 통계를 깎았는데 지금은 아예 죽인다고요?


 
Igor Makanu :

이 코드를 작성했습니다:

문자열에 중단점을 설정합니다. s = ""; - 아무 문제 없이 ME에 반환, 디버그 창이 나타났습니다. 음, 모든 것이 평소와 같습니다.

이 접근 방식을 사용하면 각 교환원 뒤에 정지 수표를 넣어야 합니다. 적합하지 않습니다.

 
TheXpert :

처음에는 통계를 깎았는데 지금은 아예 죽인다고요?

벌었다

 
fxsaber :

이 접근 방식을 사용하면 각 교환원 뒤에 정지 수표를 넣어야 합니다. 적합하지 않습니다.

각 연산자가 필요하지 않은 후 절반 나누기 방법으로 확인하십시오 - 코드의 시작 부분, 끝 부분 및 중간에 코드의 원하는 절반을 찾은 다음 코드를 2로 나누는 것을 다시 반복하십시오. 부품, 내 생각에 그것은 빠릅니다

 
Igor Makanu :

각 연산자가 필요하지 않은 후 절반 나누기 방법으로 확인하십시오 - 코드의 시작 부분, 끝 부분 및 중간에 코드의 원하는 절반을 찾은 다음 코드를 2로 나누는 것을 다시 반복하십시오. 부품, 내 생각에 그것은 빠릅니다

큰 프로그램. 매번 호버링을 재생하는 데 약 30초가 걸립니다.

 
fxsaber :

디버그 모드에서 Expert Advisor를 실행합니다. 차트에서 어드바이저를 수동으로 제거하는 순간에 정확히 브레이크 포인트를 만들 필요가 있습니다. 그것을 하는 방법?


사실은 어드바이저가 제거되면 터미널이 단단히 끊어집니다. 이것이 어디에서 일어나고 있는지 이해해야 합니다.

완전히 죽었습니까 아니면 잠시 후 EA가 언로드됩니까? 후자의 경우 사이클을 찾으십시오.