SetReturnError

작업을 완료할 때 터미널 프로세스를 반환하는 코드를 설정

void  SetReturnError(
   int ret_code      // 클라이언트 터미널 완료 코드
   );

매개변수

ret_code

[in]  작업을 완료할 때 클라이언트 터미널 프로세스에서 반환할 코드.

값 반환

반환 값 없음.

주의

지정된 ret_code 반환 코드를 설정하는데 SetReturnError() 기능을 사용하면 명령줄을 통해 터미널을 시작할 때 프로그래밍 작업이 완료된 이유를 분석할 때 유용합니다.

TerminalClose()와 달리, SetReturnError() 기능은 터미널 작업을 완료하지 않습니다. 대신, 터미널 프로세스가 완료되면 반환하는 코드만 설정합니다.

SetReturnError() 기능을 여러 번 호출하거나 다른 MQL5 프로그램에서 호출하는 경우 터미널은 마지막 세트 반환 코드를 반환합니다.

설정된 코드는 다음의 경우를 제외하고 터미널 프로세스 완료 시 반환됩니다:

  • 실행 중심각한 오류가 발생;
  • TerminalClose(int ret_code) 기능은 지정된 코드로 터미널 작동 완료 명령을 실행하는 기능이 호출됨.

 

예:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   matrix matrix_a =
     {
        {-3.4745891.106384, -9.091977,-3.925227 },
        {-5.5221392.366887,-15.162351,-6.357512 },
        { 8.394926,-2.96006722.2921159.524129 },
        { 7.803242,-2.08028719.2177068.186645 }
     };
   matrix matrix_l(4,4);
   matrix matrix_u(4,4);
 
//--- LU 분해
   matrix_a.LU(matrix_l,matrix_u);
 
//--- A = L * U인지 체크
   matrix matrix_lu=matrix_l.MatMul(matrix_u);
   int    compare_errors=(int)matrix_a.Compare(matrix_lu,1e-29);
   Print("MatrixCompare errors=",compare_errors);
 
//--- 완료되면 클라이언트 터미널은 두 행렬을 비교하는 동안 발생한 오류 수를 반환합니다.
   SetReturnError(compare_errors);
  }

추가 참조

Program Running, Runtime Errors, Uninitialization Reason Codes, TerminalClose