行业知识

学习外汇行业知识。

0

2025-09-25

MQL4预定义标准常量(四)

0

未初始化原因代码

特殊常量

错误代码

为了简化程序编写,使程序文本编辑使用起来更加简便,在MQL4中预定义了标准常量。

标准常量类似于宏代换,并且是int(整数类型)。

这些常量按用途进行分组。

未初始化原因代码

使用UninitializeReason() 函数返回未初始化原因代码。可以是以下任意值:

常数值描述0脚本独立执行完成REASON_REMOVE1从图表中删除智能交易。REASON_RECOMPILE2重新编译智能交易。REASON_CHARTCHANGE3改变了图表货币对和时间周期。REASON_CHARTCLOSE4关闭图表REASON_PARAMETERS5用户改变了输入参数REASON_ACCOUNT6其他账户已激活特殊常量

特殊常量用于描述参数和变量状态。可以是以下任意值:

常数值描述NULL0表明字符串为空值。EMPTY-1表明参数为空值。EMPTY_值0x7FFFFFFF默认自定义指标为空值。BCRCLR_NONE0xFFFFFFFF表明颜色为空值。WHOLE_ARRAY0配合数组函数应用,表示数组所有元素将被处理。错误代码

GetLastError()函数返回出错代码,错误代码常量定义在stderror.mqh文件里。想要获取错误的文本信息,请调用在stdlib. mqh文件中定义的ErrorDescription()函数。

#include

常数值描述ERR_NO_ERROR0没有错误返回。ERR_NO_RESULT1没有错误返回,但结果不明。ERR_COMMON_ERROR2一般错误。ERR_INVALID_TRADE_PARAMETERS3无效交易参数。ERR_SERVER_BUSY4交易服务器繁忙。ERR_OLD_VERSION5客户终端版本太旧。ERR_NO_CONNECTION6没有连接服务器。ERR_NOT_ENOUGH_RIGHTS7没有权限。ERR_TOO_FREQUENT_REQUESTS8请求过于频繁。ERR_MALFUNCTIONAL_TRADE9无效交易。ERR_ACCOUNT_DISABLED64账户禁用。ERR_INVALID_ACCOUNT65无效账户ERR_TRADE_TIMEOUT128交易超时。ERR_INVALID_PRICE129无效价格。ERR_INVALID_STOPS130无效平仓。ERR_INVALID_TRADE_VOLUME131无效交易量。ERR_MARKET_CLOSED132市场关闭。ERR_TRADE_DISABLED133交易被禁止。ERR_NOT_ENOUGH_MONEY134资金不足。ERR_PRICE_CHANGED135价格已变动。ERR_OFF_QUOTES136无报价。ERR_BROKER_BUSY137经纪繁忙。ERR_REQUOTE138重新报价。ERR_ORDER_LOCKED139定单被锁定。ERR_LONG_POSITIONS_ONLY_ALLOWED140只允许多头头寸。ERR_TOO_MANY_REQUESTS141请求过多。ERR_TRADE_MODIFY_DENIED145因为订单过于接近市价,修改被拒绝。ERR_TRADE_CONTEXT_BUSY146交易系统忙。ERR_TRADE_EXPIRATION_DENIED147交易过期,被经纪商拒绝。ERR_TRADE_TOO_MANY_ORDERS148开仓和挂单总数已经达到经纪商的限定。ERR_TRADE_HEDGE_PROHIBITED149当对冲功能被关闭时,尝试开仓一个和现有仓位相反的订单。ERR_TRADE_PROHIBITED_BY_FIFO150尝试关闭一个违反FIFO规则的订单。MQL4 运行时错误代码

常数值描述ERR_NO_MQLERROR4000没有错误。ERR_WRONG_FUNCTION_POINTER4001错误函数指针。ERR_ARRAY_INDEX_OUT_OF_RANGE4002数组索引(下标)超出范围。ERR_NO_MEMORY_FOR_CALL_STACK4003没有足够内存开设函数调用堆栈。ERR_RECURSIVE_STACK_OVERFLOW4004递归堆栈溢出。ERR_NOT_ENOUGH_STACK_FOR_PARAM4005没有足够堆栈储存参数。ERR_NO_MEMORY_FOR_PARAM_STRING4006没有足够内存储存字符串参数。ERR_NO_MEMORY_FOR_TEMP_STRING4007没有足够内存保存临时字符串。ERR_NOT_INITIALIZED_STRING4008没有初始化字符串。ERR_NOT_INITIALIZED_ARRAYSTRING4009在数组中没有初始化字符串。ERR_NO_MEMORY_FOR_ARRAYSTRING4010没有足够内存保存字符串数组。ERR_TOO_LONG_STRING4011字符串过长。ERR_REMAINDER_FROM_ZERO_DIVIDE4012余额除零。ERR_ZERO_DIVIDE4013除零。ERR_UNKNOWN_COMMAND4014不明命令。ERR_WRONG_JUMP4015错误跳转(不产生错误)。ERR_NOT_INITIALIZED_ARRAY4016没有初始化数组。ERR_DLL_CALLS_NOT_ALLOWED4017禁止调用DLL 。ERR_CANNOT_LOAD_LIBRARY4018不能加载库。ERR_CANNOT_CALL_FUNCTION4019不能调用函数。ERR_EXTERNAL_CALLS_NOT_ALLOWED4020禁止调用智能交易函数。ERR_NO_MEMORY_FOR_RETURNED_STR4021没有足够内存保存函数返回的字符串。ERR_SYSTEM_BUSY4022系统繁忙 (不产生错误)。ERR_INVALID_FUNCTION_PARAMSCNT4050非法函数参数个数。ERR_INVALID_FUNCTION_PARAM值4051非法函数参数值。ERR_STRING_FUNCTION_INTERNAL4052字符串函数内部出错。ERR_SOME_ARRAY_ERROR4053数组错误。ERR_INCORRECT_SERIESARRAY_USING4054使用了错误的序列数组。ERR_CUSTOM_INDICATOR_ERROR4055自定义指标错误。ERR_INCOMPATIBLE_ARRAYS4056数组不兼容。ERR_GLOBAL_VARIABLES_PROCESSING4057全局变量处理错误。ERR_GLOBAL_VARIABLE_NOT_FOUND4058全局变量未找到。ERR_FUNC_NOT_ALLOWED_IN_TESTING4059不许在测试模式使用函数。ERR_FUNCTION_NOT_CONFIRMED4060函数不被允许ERR_SEND_MAIL_ERROR4061发送邮件错误。ERR_STRING_PARAMETER_EXPECTED4062要求字符串参数。ERR_INTEGER_PARAMETER_EXPECTED4063要求整数参数。ERR_DOUBLE_PARAMETER_EXPECTED4064要求双精度参数。ERR_ARRAY_AS_PARAMETER_EXPECTED4065要求用数组作参数。ERR_HISTORY_WILL_UPDATED4066正在更新历史数据。ERR_TRADE_ERROR4067交易执行出错。ERR_END_OF_FILE4099到了文件尾。ERR_SOME_FILE_ERROR4100文件错误。ERR_WRONG_FILE_NAME4101错误文件名称。ERR_TOO_MANY_OPENED_FILES4102打开文件过多。ERR_CANNOT_OPEN_FILE4103不能打开文件。ERR_INCOMPATIBLE_FILEACCESS4104不兼容文件访问。ERR_NO_ORDER_SELECTED4105没有选择定单。ERR_UNKNOWN_SYMBOL4106未知货币对。ERR_INVALID_PRICE_PARAM4107交易函数的价格参数无效。ERR_INVALID_TICKET4108无效定单编号。ERR_TRADE_NOT_ALLOWED4109不允许交易。在智能交易中勾选”Allow live trading(允许实时交易)”。ERR_LONGS_NOT_ALLOWED4110不允许多头。检查智能交易属性。ERR_SHORTS_NOT_ALLOWED4111不允许空头。检查智能交易属性。ERR_OBJECT_ALREADY_EXISTS4200对象己经存在。ERR_UNKNOWN_OBJECT_PROPERTY4201未知对象属性。ERR_OBJECT_DOES_NOT_EXIST4202对象不存在。ERR_UNKNOWN_OBJECT_TYPE4203未知对象类型。ERR_NO_OBJECT_NAME4204缺少对象名称。ERR_OBJECT_COORDINATES_ERROR4205对象坐标错误。ERR_NO_SPECIFIED_SUBWINDOW4206没有找到子窗口。ERR_SOME_OBJECT_ERROR4207对象函数错误。

网站条款隐私政策

2025 © - All Rights Reserved by BCR Co Pty Ltd

风险披露:衍生品在场外交易,采用保证金交易,意味着具有高风险水平,有可能会损失所有投资。这些产品并不适合所有投资者。在进行交易之前,请确保您充分了解风险,并仔细考虑您的财务状况和交易经验。如有必要,请在与BCR开设账户之前咨询独立的财务顾问。