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