SetReturnError

Establece el código que retornará el proceso del terminal al completar el trabajo.

void  SetReturnError(
   int ret_code      // código de finalización del terminal de cliente
   );

Parámetros

ret_code

[in]  El código de retorno devuelto por el proceso del terminal de cliente al completar el trabajo.

Valor retornado

No hay valor retornado.

Observación

La instalación del código de retorno ret_code utilizando la función SetReturnError() resultará útil para analizar las causas de la finalización del programa al iniciar el terminal desde la línea de comandos.

La función SetReturnError(), a diferencia de TerminalClose(), no finaliza el funcionamiento del terminal, solo define el código de retorno que devolverá el proceso del terminal al finalizarse.

Si la función SetReturnError() ha sido llamada varias veces y/o desde diferentes programas MQL5, el terminal devolverá el último código de retorno establecido.

El código establecido se retornará al finalizar el proceso del terminal, excepto en los siguientes casos:

  • si ha tenido lugar un error crítico durante la ejecución;
  • si se ha llamado la función TerminalClose(int ret_code), que da al terminal un comando para finalizar el trabajo con un código indicado.

 

Ejemplo:

//+------------------------------------------------------------------+
//| 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);
 
//--- decomposición LU
   matrix_a.LU(matrix_l,matrix_u);
 
//--- comprobamos que A = L * U sea correcto
   matrix matrix_lu=matrix_l.MatMul(matrix_u);
   int    compare_errors=(int)matrix_a.Compare(matrix_lu,1e-29);
   Print("MatrixCompare errors=",compare_errors);
 
//--- a su finalización, el terminal de cliente retornará el número de errores de comparación de las dos matrices
   SetReturnError(compare_errors);
  }

 

Ver también

Ejecución de programas, Errores de ejecución, Causas de desinicialización, TerminalClose