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.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);
  }

另见

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