跳至内容

SetReturnError

SetReturnError

设置完成操作时返回程序端进程的代码。

void  SetReturnError(
   int ret_code      // 客户端完成代码
   );

参数

ret_code

[in] 完成操作时由客户端进程返回的代码。

返回值

无返回值。

注意

使用SetReturnError()函数设置指定的 ret_code返回代码有利于分析通过命令行启用程序端时程序操作完成的原因。

TerminalClose()不同,SetReturnError()函数未完成程序端操作。相反,它只设置完成后返回程序端进程的代码。

如果SetReturnError()函数被调用多次和/或从不同的MQL5程序调用,程序端返回最后一次设置的返回代码。

除下列情况外,程序端进程完成后返回设置代码:

  • 执行期间发生严重错误
  • 已调用以指定代码发行程序端操作完成命令的TerminalClose(int ret_code)函数。

示例:

//+------------------------------------------------------------------+
//| 脚本程序起始函数                                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
   matrix matrix_a =
     {
        {-3.474589, 1.106384, -9.091977,-3.925227 },
        {-5.522139, 2.366887,-15.162351,-6.357512 },
        { 8.394926,-2.960067, 22.292115, 9.524129 },
        { 7.803242,-2.080287, 19.217706, 8.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);
  }

另见

程序运行运行错误未初始化原因代码TerminalClose