Runtime Errors
运行时错误
GetLastError() 函数返回最后的错误代码,该代码存储在预定义的变量 _LastError中。可以使用 ResetLastError() 函数重置此值。错误代码常量定义在 stderror.mqh 文件中。要打印文本消息,请使用在 stdlib.mqh 文件中定义的 ErrorDescription() 函数。
为了方便起见,交易错误还列在 交易服务器返回码 部分中。
mql4-program 的运行时错误:
| 代码 | ID | 描述 |
|---|---|---|
| 0 | ERR_NO_ERROR | 未返回错误 |
| 1 | ERR_NO_RESULT | 未返回错误,但结果未知 |
| 2 | ERR_COMMON_ERROR | 常见错误 |
| 3 | ERR_INVALID_TRADE_PARAMETERS | 无效的交易参数 |
| 4 | ERR_SERVER_BUSY | 交易服务器繁忙 |
| 5 | ERR_OLD_VERSION | 客户端终端的旧版本 |
| 6 | ERR_NO_CONNECTION | 与交易服务器没有连接 |
| 7 | ERR_NOT_ENOUGH_RIGHTS | 权限不足 |
| 8 | ERR_TOO_FREQUENT_REQUESTS | 请求过于频繁 |
| 9 | ERR_MALFUNCTIONAL_TRADE | 交易操作异常 |
| 64 | ERR_ACCOUNT_DISABLED | 账户被禁用 |
| 65 | ERR_INVALID_ACCOUNT | 无效账户 |
| 128 | ERR_TRADE_TIMEOUT | 交易超时 |
| 129 | ERR_INVALID_PRICE | 价格无效 |
| 130 | ERR_INVALID_STOPS | 止损无效 |
| 131 | ERR_INVALID_TRADE_VOLUME | 交易量无效 |
| 132 | ERR_MARKET_CLOSED | 市场关闭 |
| 133 | ERR_TRADE_DISABLED | 交易被禁用 |
| 134 | ERR_NOT_ENOUGH_MONEY | 资金不足 |
| 135 | ERR_PRICE_CHANGED | 价格变更 |
| 136 | ERR_OFF_QUOTES | 报价关闭 |
| 137 | ERR_BROKER_BUSY | 经纪人繁忙 |
| 138 | ERR_REQUOTE | 重新报价 |
| 139 | ERR_ORDER_LOCKED | 订单被锁定 |
| 140 | ERR_LONG_POSITIONS_ONLY_ALLOWED | 仅允许买入订单 |
| 141 | ERR_TOO_MANY_REQUESTS | 请求过多 |
| 145 | ERR_TRADE_MODIFY_DENIED | 修改被拒绝,因为订单与市场距离太近 |
| 146 | ERR_TRADE_CONTEXT_BUSY | 交易上下文繁忙 |
| 147 | ERR_TRADE_EXPIRATION_DENIED | 经纪人拒绝到期交易 |
| 148 | ERR_TRADE_TOO_MANY_ORDERS | 开放和待处理订单的数量已达到经纪人设定的限制 |
| 149 | ERR_TRADE_HEDGE_PROHIBITED | 在对冲功能禁用时尝试开 opposite 订单 |
| 150 | ERR_TRADE_PROHIBITED_BY_FIFO | 违反 FIFO 规则关闭订单 |
| 4000 | ERR_NO_MQLERROR | 未返回错误 |
| 4001 | ERR_WRONG_FUNCTION_POINTER | 错误的函数指针 |
| 4002 | ERR_ARRAY_INDEX_OUT_of_range | 数组索引超出范围 |
| 4003 | ERR_NO_MEMORY_for_call_stack | 没有内存用于函数调用栈 |
| 4004 | ERR_RECURSIVE_STACK_overflow | 递归栈溢出 |
| 4005 | ERR_NOT_ENOUGH_stack_for_param | 参数所需的栈不足 |
| 4006 | ERR_NO_MEMORY_for_param_string | 参数字符串所需内存不足 |
| 4007 | ERR_NO_memory_for_temp_string | 临时字符串所需内存不足 |
| 4008 | ERR_NOT_initiated_string | 未初始化的字符串 |
| 4009 | ERR_NOT_initiated_array_string | 数组中未初始化的字符串 |
| 4010 | ERR_NO_memory_for_array_string | 数组字符串所需内存不足 |
| 4011 | ERR_TOo_long_string | 字符串过长 |
| 4012 | ERR_REMAINDER_from_zero_divide | 从零除得的余数 |
| 4013 | ERR_ZERO_divide | 零除 |
| 4014 | ERR_UNKNOWN_command | 未知命令 |
| 4015 | ERR_WRong_jump | 错误的跳转(从未生成错误) |
| 4016 | ERR_NOT_initiated_array | 未初始化的数组 |
| 4017 | ERR_DLL_calls_not_allowed | DLL 调用不允许 |
| 4018 | ERR_CANNOT_load_library | 无法加载库 |
| 4019 | ERR_CANNOT_call_function | 无法调用函数 |
| 4020 | ERR_external_calls_not_allowed | 专家功能调用不允许 |
| 4021 | ERR_NO_memory_for_returned_str | 从函数返回的温度字符串所需内存不足 |
| 4022 | ERR_SYSTEM_BUSy | 系统繁忙(从未生成错误) |
| 4023 | ERR_DLL_funccritical_error | DLL 函数调用关键错误 |
| 4024 | ERR_INTERNAL_ERROR | 内部错误 |
| 4025 | ERR_OUT_of_memory | 内存不足 |
| 4026 | ERRInvalid_pointer | 无效指针 |
| 4027 | Error_FORMAT_TOo_many_formatters | 格式函数中格式器过多 |
| 4028 | Error Format_TOo_many_parameters | 参数数量超过格式器数量 |
| 4029 | Error_array_INVALID | 无效的数组 |
| 4030 | Error_chart_noreply | 图表无回复 |
| 4050 | ErrorInvalid_function_paramSCNT | 无效的函数参数计数 |
| 4051 | ErrorInvalid_function_paramVALUE | 无效的函数参数值 |
| 4052 | Error_string_function_INTERNAL | 字符串函数内部错误 |
| 4053 | Error_some_array_error | 某些数组错误 |
| 4054 | ErrorIncorrect_series_array_usings | 使用错误的序列数组 |
| 4055 | Error_Custom_indicator_error | 自定义指标错误 |
| 4056 | Error_incompatable_arrays | 数组不兼容 |
| 4057 | Error_global_variables_processing | 全局变量处理错误 |
| 4058 | Error_global_variable_not_found | 未找到全局变量 |
| 4059 | Error_func_not_allowed_in_testing | 测试模式下不允许使用该函数 |
| 4060 | Error_function_not_conFIRmed | 该函数不允许调用 |
| 4061 | Error_send_mail_error | 发送邮件错误 |
| 4062 | Error_string_parameter_expected | 期望字符串参数 |
| 4063 | Error_intEGER_parameter_expected | 期望整数参数 |
| 4064 | Error_double_parameter_expected | 期望双精度参数 |
| 4065 | Error_array_as_parameter_expected | 期望将数组作为参数 |
| 4066 | Error_history_will_updated | 请求的历史数据处于更新状态 |
| 4067 | Error_trade_error | 内部交易错误 |
| 4068 | Error_resource_not_found | 资源未找到 |
| 4069 | Error_resource_not_supported | 资源不受支持 |
| 4070 | Error_resource_duplicated | 资源重复 |
| 4071 | Error_indicator_cannot_init | 自定义指标无法初始化 |
| 4072 | Error_indicator_cannot_load | 无法加载自定义指标 |
| 4073 | Error_no_history_data | 没有历史数据 |
| 4074 | Error_no_memory_for_history | 没有历史数据所需内存 |
| 4075 | Error_no_memory_for_indicator | 没有足够内存进行指标计算 |
| 4099 | Error_end_of_file | 文件末尾 |
| 4100 | Error_some_file_error | 某些文件错误 |
| 4101 | Error_wrong_file_name | 错误的文件名 |
| 4102 | Error_too_many_opened_files | 打开的文件过多 |
| 4103 | Error_cannot_open_file | 无法打开文件 |
| 4104 | Error_incompatable_fileaccess | 文件访问不兼容 |
| 4105 | Error_no_orderSelected | 未选择订单 |
| 4106 | Error_unknown_symbol | 未知符号 |
| 4107 | ErrorInvalid_price_param | 价格无效 |
| 4108 | Error Invalid_ticket | 无效票证 |
| 4109 | Error_trade_not_allowed | 交易不允许。在专家顾问属性中启用“允许实时交易”复选框 |
| 4110 | Error_longs_not_allowed | 长单不允许。检查专家顾问属性 |
| 4111 | Error_shorts_not_allowed | 短单不允许。检查专家顾问属性 |
| 4112 | Error_trade_expert_disabled_by_server | 交易服务器禁用了由专家顾问/脚本进行的自动交易 |
| 4200 | Error_object_already_exists | 对象已存在 |
| 4201 | Error_unknown_object_property | 未知对象属性 |
| 4202 | Error_object_does_not_exist | 对象不存在 |
| 4203 | Error_unknown_object_type | 未知对象类型 |
| 4204 | Error_no_object_name | 没有对象名称 |
| 4205 | Error_object_coordinates_error | 对象坐标错误 |
| 4206 | Error_no_specified_subwindow | 没有指定的子窗口 |
| 4207 | Error_some_object_error | 图形对象错误 |
| 4210 | Error_chart_prop_invalid | 未知图表属性 |
| 4211 | Error_chart_not_found | 图表未找到 |
| 4212 | Error_chartwindow_not_found | 图表子窗口未找到 |
| 4213 | Error_chart_indicator_not_found | 图表指标未找到 |
| 4220 | Error_symbol_select | 符号选择错误 |
| 4250 | Error_notification_error | 通知错误 |
| 4251 | Error_notification_parameters | 通知参数错误 |
| 4252 | Error_notificationSettings | 通知已禁用 |
| 4253 | Error_notification_too_frequent | 通知发送过于频繁 |
| 4260 | Error_FTP_noserver | FTP 服务器未指定 |
| 4261 | Error_FTP_nologin | FTP 登录未指定 |
| 4262 | Error_FTP_connectFailed | FTP 连接失败 |
| 4263 | Error_FTP_closed | FTP 连接关闭 |
| 4264 | Error_FTP_changedir | 服务器上找不到 FTP 路径 |
| 4265 | Error_FTP_file_error | 在 FTP 服务器上找不到用于发送的 MQL4\Files 目录中的文件 |
| 4266 | Error_FTP_error | FTP 数据传输期间的常见错误 |
| 5001 | Error_file_too_many_opened | 打开的文件过多 |
| 5002 | Error_file_wrong_filename | 错误的文件名 |
| 5003 | Error_file_too_long_filename | 文件名过长 |
| 5004 | Error_file_cannot_open | 无法打开文件 |
| 5005 | Error_file_buffer_alocation_error | 文本文件缓冲区分配错误 |
| 5006 | Error_file_cannot_delete | 无法删除文件 |
| 5007 | Error_fileInvalid_handle | 无效的文件句柄(文件已关闭或未打开) |
| 5008 | Error_file_wrong_handle | 错误的文件句柄(句柄索引不在句柄表中) |
| 5009 | Error_file_not_towrite | 文件必须使用 FILE_write 标志打开 |
| 5010 | Error_file_not_toread | 文件必须使用 FILE_read 标志打开 |
| 5011 | Error_file_notBIN | 文件必须使用 FILEBIN 标志打开 |
| 5012 | Error_file_not_TXT | 文件必须使用 FILE_TXT 标志打开 |
| 5013 | Error_file_not_TXTORCSV | 文件必须使用 FILE_TXT 或 FILE_CSV 标志打开 |
| 5014 | Error_file_not_CSV | 文件必须使用 FILE_CSV 标志打开 |
| 5015 | Error_file_read_error | 文件读取错误 |
| 5016 | Error_file_write_error | 文件写入错误 |
| 5017 | Error_fileBIN_stringsize | 二进制文件的字符串大小必须指定 |
| 5018 | Error_file_incompatable | 不兼容的文件(对于字符串数组-TXT,对于其他-BIN) |
| 5019 | Error_file_is_directory | 文件是目录而非文件 |
| 5020 | Error_file_not_exist | 文件不存在 |
| 5021 | Error_file_cannot_rewrite | 文件无法重写 |
| 5022 | Error_file_wrong_directoryname | 错误的目录名称 |
| 5023 | Error_file_directory_not_exist | 目录不存在 |
| 5024 | Error_file_not_directory | 指定的文件不是目录 |
| 5025 | Error_file_cannot_delete_directory | 无法删除目录 |
| 5026 | Error_file_cannot_clean_directory | 无法清理目录 |
| 5027 | Error_file_arrayresize_error | 数组调整错误 |
| 5028 | Error_file_stringresize_error | 字符串调整错误 |
| 5029 | Error_file_STRUCT_with_objectS | 结构包含字符串或动态数组 |
| 5200 | Error_WEB_REQUESTInvalid_address | 无效的 URL |
| 5201 | Error_WEB_REQUEST_connectFailed | 无法连接到指定的 URL |
| 5202 | Error_WEB_REQUEST_timeout | 超时超过 |
| 5203 | Error_WEB_REQUEST_request_failed | HTTP 请求失败 |
| 用户错误 | ||
| 65536 | Error_USER_error_first | 用户定义 错误以此代码开头 |
最后更新于