4 MQL4标准常量(MQL4定义)

为了简化编写程序并使其程序文本更加方便,在MQL4中预定义了标准变量。这些被MQL4定义的常量使用于各个MQL所提供的函数中。
此变量是按照用途分组的。

4.1系列数组(Series arrays)

列数组识别符在ArrayCopySeries(), iHighest()iLowest()函数中使用。
可以是以下任意值:

常数

描述

MODE_OPEN 0 开价
MODE_LOW 1 最低价
MODE_HIGH 2 最高价
MODE_CLOSE 3 关单价
MODE_VOLUME 4 应用在iLowest()和iHighest()函数中的成交量
MODE_TIME 5 应用在ArrayCopySeries()函数中的开柱时间

4.2 时间周期(Timeframes)

图表的时间周期,在大部分函数中都会使用以下常量,具体每个函数的介绍时会介绍。可以是以下任意值:

常数

描述

PERIOD_M1 1 1 分钟
PERIOD_M5 5 5分钟
PERIOD_M15 15 15 分钟
PERIOD_M30 30 30 分钟
PERIOD_H1 60 1 小时
PERIOD_H4 240 4 小时
PERIOD_D1 1440 每天
PERIOD_W1 10080 每星期
PERIOD_MN1 43200 每月
0 (zero) 0 在图表中使用的时间周期.

4.3交易类型(Trade operations)

对于OrderSend()函数的交易类型。可以是以下任意值:

常数

描述

OP_BUY 0 买仓
OP_SELL 1 卖仓
OP_BUYLIMIT 2 买挂单交易
OP_SELLLIMIT 3 卖挂单交易
OP_BUYSTOP 4 买停挂单交易
OP_SELLSTOP 5 卖停挂单交易

4.4价格常量(Price constants)

提供的价格常数,在大部分函数中会使用以下常量,具体每个函数会介绍。它可以是以下的任意值:

常数

描述

PRICE_CLOSE 0 平仓价
PRICE_OPEN 1 开仓价
PRICE_HIGH 2 最高价
PRICE_LOW 3 最低价
PRICE_MEDIAN 4 中间价(high+low)/2.
PRICE_TYPICAL 5 典型价格 (high+low+close)/3.
PRICE_WEIGHTED 6 价格 (high+low+close+close)/4.

4.5 市场信息常量(MarketInfo)

市场信息识别符,使用MarketInfo()函数。
可以是以下任意值:

常数

描述

MODE_LOW 1 价格最低日。
MODE_HIGH 2 价格最高日。
MODE_TIME 5 最后进入替克的时间 (服务器显示时间)。
MODE_BID 9 最后进入的买价。对于、当前货币对预定变量存储的
MODE_ASK 10 最后进入的卖价。对于、当前货币对预定变量存储的
MODE_POINT 11 当前价位的大小点。对于当前货币对预定变量储存的
MODE_DIGITS 12 在货币对值中小数点后的计数点。对于当前货币对预定变量存储的小数点计数
MODE_SPREAD 13 差价点,点差 ASK-BID。
MODE_STOPLEVEL 14 停止水平点。
MODE_LOTSIZE 15 基本货币的标准手大小。
MODE_TICK值 16 在存款货币中的替克值。
MODE_TICKSIZE 17 在当前报价中的替克大小。
MODE_SWAPLONG 18 看涨仓位掉期。
MODE_SWAPSHORT 19 卖空仓位掉期。
MODE_STARTING 20 市场开始日期 (通常用作将来)。
MODE_EXPIRATION 21 市场时间周期 (通常用作将来)。
MODE_TRADEALLOWED 22 交易允许货币对。
MODE_MINLOT 23 最小允许标准手数。
MODE_LOTSTEP 24 改变标准手步骤。
MODE_MAXLOT 25 最大允许标准手数。
MODE_SWAPTYPE 26 掉期计算方法. 0 – 点; 1 -基本货币对; 2 – 兴趣; 3 – 货币保证金。
MODE_PROFITCALCMODE 27 赢利计算模式0 – Forex; 1 – CFD; 2 – Futrues。
MODE_MARGINCALCMODE 28 保证金计算模式. 0 – Forex; 1 – CFD; 2 – Futrues; 3 – CFD for indices。
MODE_MARGININIT 29 对于1各标准手的初始保证金需求。
MODE_MARGINMAINTENANCE 30 对于1各标准手开仓的保证金。
MODE_MARGINHEDGED 31 对于1标准手的护盘保证金。
MODE_MARGINREQUIRED 32 对于购买一个标准手开仓的自由保证金。
MODE_FREEZELEVEL 33 冻结定单水平点。如果执行的价格在冻结水平点范围内,定单将会被注销或关闭。

4.6画线样式与风格(Drawing styles )

SetIndexStyle()函数画线样式风格的列举。

画线样式可以是以下任意值:

常数

描述

DRAW_LINE 0 画线
DRAW_SECTION 1 线条
DRAW_HISTOGRAM 2 画柱状图
DRAW_ARROW 3 画箭头(货币对)。
DRAW_ZIGZAG 4 在添加的缓冲器之间画线条
DRAW_NONE 12 没有画线

画线风格可以是以下任意值。有效宽度为1(即线条宽度必须是1,下列参数才有用)。

常数

描述

STYLE_SOLID 0 实线
STYLE_DASH 1 断线
STYLE_DOT 2 点线
STYLE_DASHDOT 3 断线与点线交替.
STYLE_DASHDOTDOT 4 断线与双点线交替

4.7箭头代码(Arrow codes)

预定义箭头列举。箭头代码。 可以是以下的任意值:

常数

描述

SYMBOL_THUMBSUP 67 大拇指向上 ().
SYMBOL_THUMBSDOWN 68 大拇指向下 ().
SYMBOL_ARROWUP 241 箭头向上 ().
SYMBOL_ARROWDOWN 242 箭头向下 ().
SYMBOL_STOPSIGN 251 禁止货币对().
SYMBOL_CHECKSIGN 252 检验货币对 ().

对于价格和时间的特殊箭头代码。可以是以下任意值:

常数

描述

  1 右上转箭头 (?).
  2 右下转箭头(?).
  3 左指向三角 (?).
  4 破折号(–).
SYMBOL_LEFTPRICE 5 价格左侧标签
SYMBOL_RIGHTPRICE 6 价格右侧标签

4.8 字体类型常数(Wingdings)


4.9颜色常数(Web colors)

建议颜色常数类型。

Black

DarkGreen

DarkSlateGray

Olive

Green

Teal

Navy

Purple

Maroon

Indigo

MidnightBlue

DarkBlue

DarkOliveGreen

SaddleBrown

ForestGreen

OliveDrab

SeaGreen

DarkGoldenrod

DarkSlateBlue

Sienna

MediumBlue

Brown

DarkTurquoise

DimGray

LightSeaGreen

DarkViolet

FireBrick

MediumVioletRed

MediumSeaGreen

Chocolate

Crimson

SteelBlue

Goldenrod

MediumSpringGreen

LawnGreen

CadetBlue

DarkOrchid

YellowGreen

LimeGreen

OrangeRed

DarkOrange

Orange

Gold

Yellow

Chartreuse

Lime

SpringGreen

Aqua

DeepSkyBlue

Blue

Magenta

Red

Gray

SlateGray

Peru

BlueViolet

LightSlateGray

DeepPink

MediumTurquoise

DodgerBlue

Turquoise

RoyalBlue

SlateBlue

DarkKhaki

IndianRed

MediumOrchid

GreenYellow

MediumAquamarine

DarkSeaGreen

Tomato

RosyBrown

Orchid

MediumPurple

PaleVioletRed

Coral

CornflowerBlue

DarkGray

SandyBrown

MediumSlateBlue

Tan

DarkSalmon

BurlyWood

HotPink

Salmon

Violet

LightCoral

SkyBlue

LightSalmon

Plum

Khaki

LightGreen

Aquamarine

Silver

LightSkyBlue

LightSteelBlue

LightBlue

PaleGreen

Thistle

PowderBlue

PaleGoldenrod

PaleTurquoise

LightGray

Wheat

NavajoWhite

Moccasin

LightPink

Gainsboro

PeachPuff

Pink

Bisque

LightGoldenrod

BlanchedAlmond

LemonChiffon

Beige

AntiqueWhite

PapayaWhip

Cornsilk

LightYellow

LightCyan

Linen

Lavender

MistyRose

OldLace

WhiteSmoke

Seashell

Ivory

Honeydew

AliceBlue

LavenderBlush

MintCream

Snow

White

4.10指标线(Indicator lines)

指标线识别在iMACD(), iRVI()iStochastic() 指标中使用。
可以是以下的任意值:

常数

描述

MODE_MAIN 0 基本指标线。
MODE_SIGNAL 1 信号线。

指标线识别符在iADX()指标中使用。

常数

描述

MODE_MAIN 0 基本指标线。
MODE_PLUSDI 1 +DI 指标线。
MODE_MINUSDI 2 -DI 指标线。

指标线识别符在 iBands(), iEnvelopes(), iEnvelopesOnArray(), iFractals()iGator() 指标中使用。

常数

描述

MODE_UPPER 1 上面线。
MODE_LOWER 2 下面线。

4.11一目均衡图(Ichimoku Kinko Hyo)

Ichimoku Kinko Hyo识别符使用在iIchimoku() 指标中作为请求数据代码调用。
可以为以下任意值:

常数

描述

MODE_TENKANSEN 1 Tenkan-sen.
MODE_KIJUNSEN 2 Kijun-sen.
MODE_SENKOUSPANA 3 Senkou Span A.
MODE_SENKOUSPANB 4 Senkou Span B.
MODE_CHINKOUSPAN 5 Chinkou Span.

4.12移动平均线计算方法(Moving Average methods)

移动平均计算在iAlligator(), iEnvelopes(), iEnvelopesOnArray, iForce(), iGator(), iMA(), iMAOnArray(), iStdDev(), iStdDevOnArray(), iStochastic()指标中使用。
可以使以下任意值:

常数

描述

MODE_SMA 0 简单移动平均数
MODE_EMA 1 指数移动平均数
MODE_SMMA 2 平滑移动平均数
MODE_LWMA 3 线性移动平均数

4.13 消息框(MessageBox)

The MessageBox() function return codes.
如果选择信箱中Cancel按键或是ESC取消选择,函数返回 IDCANCEL 值 。 如果信箱中不存在取消按键,按ESC无效。
注解:消息框返回的代码在 WinUser32.mqh文件中。

常数

描述

IDOK 1 选择确定 按钮.
IDCANCEL 2 选择取消按钮.
IDABORT 3 选择中止按钮.
IDRETRY 4 选择重试 按钮.
IDIGNORE 5 选择忽略 按钮.
IDYES 6 选择是 按钮.
IDNO 7 选择否 按钮.
IDTRYAGAIN 10 选择再次尝试按钮.
IDCONTINUE 11 选择继续 按钮.

MessageBox函数是一个具有特殊功能的对话框。可以和以下值结合并用。

在消息框中按键显示的意义。

常数

描述

MB_OK 0x00000000 消息框中包含的一个按钮: 确定 这是默认值.
MB_OKCANCEL 0x00000001 消息框中包含的两个按钮: 确定和取消.
MB_ABORTRETRYIGNORE 0x00000002 消息框中包含的三个按钮: 中止, 重试和忽略.
MB_YESNOCANCEL 0x00000003 消息框中包含的三个按钮: 是,否和取消
MB_YESNO 0x00000004 消息框中包含的两个按钮: 是和否
MB_RETRYCANCEL 0x00000005 消息框中包含的两个按钮: 重试和取消
MB_CANCELTRYCONTINUE 0x00000006 Windows 2000: 消息框中包含的三个按钮: 取消, 重试, 继续. 使用这个消息框类型代替

要想在消息框中显示一个图标,以下参数必须使用一个。

常数

描述

MB_ICONSTOP, MB_ICONERROR, MB_ICONHAND

0x00000010 禁止消息图标在消息框内显示.
MB_ICONQUESTION 0x00000020 问号图标出现在消息框内.

MB_ICONEXCLAMATION, MB_ICONWARNING

0x00000030 感叹号图标出现在消息框内.

MB_ICONINFORMATION, MB_ICONASTERISK

0x00000040 图标组成的短信息显示在消息框内.

在消息框内显示的图标是以下值之一。

常数

描述

MB_DEFBUTTON1 0x00000000 第一个按钮为默认。 MB_DEFBUTTON1是默认的,MB_DEFBUTTON2, MB_DEFBUTTON3, MB_DEFBUTTON4 是指定的.
MB_DEFBUTTON2 0x00000100 第二个按钮为默认.
MB_DEFBUTTON3 0x00000200 第三个按钮为默认.
MB_DEFBUTTON4 0x00000300 第四个按钮为默认.

MessageBox() 功能被指定在WinUser32.mqh文件内, 这就是为什么这个文件程序必须通过#include <WinUser32.mqh>。不是所有的都可以在列表中列出。详细细节请参阅Win32 API。

4.14 对象类型(Object types)

定单类型常数在ObjectCreate(), ObjectsDeleteAll() ObjectType() 函数中使用。可以使以下任意值:
对象可能有1-3 个坐标。

常数

描述

OBJ_VLINE 0 垂直线。使用第一坐标部分时间。
OBJ_HLINE 1 水平线。使用第一坐标部分价格。
OBJ_TREND 2 趋势线。 应用2个坐标。
OBJ_TRENDBYANGLE 3 趋势角度。应用1 个坐标。应用ObjectSet() 功能设置线的角度。
OBJ_REGRESSION 4 回归。应用头两个坐标的时间部分。
OBJ_CHANNEL 5 通道。应用3个坐标。
OBJ_STDDEVCHANNEL 6 标准偏离通道。应用头两个坐标的时间部分。
OBJ_GANNLINE 7 甘氏线。应用 2个坐标,但第二个坐标的价格部分。
OBJ_GANNFAN 8 甘氏扇形线。应用 2个坐标,但第二个坐标的价格部分。
OBJ_GANNGRID 9 甘氏网格线。应用 2个坐标,但第二个坐标的价格部分
OBJ_FIBO 10 斐波纳契撤回。应用2个坐标。
OBJ_FIBOTIMES 11 斐波纳契时间周期线。应用2个坐标。
OBJ_FIBOFAN 12 斐波纳契扇形线。应用2个坐标。
OBJ_FIBOARC 13 斐波纳契弧线。应用2个坐标。
OBJ_EXPANSION 14 斐波纳契扩展。应用3个坐标。
OBJ_FIBOCHANNEL 15 斐波纳契通道。应用3个坐标。
OBJ_RECTANGLE 16 矩形。应用2个坐标。
OBJ_TRIANGLE 17 三角形。应用3个坐标。
OBJ_ELLIPSE 18 椭圆形。应用2个坐标。
OBJ_PITCHFORK 19 安德鲁分叉线。应用3个坐标。
OBJ_CYCLES 20 周期。应用2个坐标。
OBJ_TEXT 21 文本。应用1 坐标。
OBJ_ARROW 22 字行。应用1个坐标。
OBJ_LABEL 23 文本标签。应用1个坐标。

4.15对象属性(Object properties)

对象值函数同ObjectGet() ObjectSet() 功能一起使用。它可能是以下的任意值:

常数 类型 描述
OBJPROP_TIME1 0 datetime 日期时间值设置为第一协调时间部分。
OBJPROP_PRICE1 1 double 双重值设置为第一协调价格部分。
OBJPROP_TIME2 2 datetime 日期时间值设置为第二协调时间部分。
OBJPROP_PRICE2 3 double 双重值设置为第二协调价格部分。
OBJPROP_TIME3 4 datetime 日期时间值设置为第三协调时间部分。
OBJPROP_PRICE3 5 double 双重值设置为第三协调价格部分。
OBJPROP_COLOR 6 color 颜色值设置对象颜色。
OBJPROP_STYLE 7 int STYLE_SOLID, STYLE_DASH, STYLE_DOT, STYLE_DASHDOT, STYLE_DASHDOTDOT 常数中的一个设置为对象线风格。
OBJPROP_WIDTH 8 int 设置对象线宽度的整数值。可以从1到5。
OBJPROP_BACK 9 bool 设定对象背景的布尔值。
OBJPROP_RAY 10 bool 设定对象射线的布尔值。
OBJPROP_ELLIPSE 11 bool 设置椭圆状的弧形布尔值。
OBJPROP_SCALE 12 double 设置对象属性的双重值。
OBJPROP_ANGLE 13 double 在级别上设置对象属性的双重值。
OBJPROP_ARROWCODE 14 int 设置对象属性箭头代码的整数值和箭头计数
OBJPROP_TIMEFRAMES 15 int 设置对象属性的时间范围一个值或者可见性对象常数 的组合值。
OBJPROP_DEVIATION 16 double 为标准离差对象设定双重值的离差属性。
OBJPROP_FONTSIZE 100 int 对于对象文本字体大小设定整数值。
OBJPROP_CORNER 101 int 对标记对象设定整数值的固定装置角。必须是从0-3。
OBJPROP_XDISTANCE 102 int 在像点设定整数值固定装置X间隔对象。
OBJPROP_YDISTANCE 103 int 在像点设定整数值固定装置Y间隔对象。
OBJPROP_FIBOLEVELS 200 int 设置斐波纳契对象水平数为整数值。可以从0 到32 。
OBJPROP_LEVELCOLOR 201 color 设置对象水平颜色线的颜色值。
OBJPROP_LEVELSTYLE 202 int STYLE_SOLID, STYLE_DASH, STYLE_DOT, STYLE_DASHDOT, STYLE_DASHDOTDOT 常数中的一个设置为对象线风格。
OBJPROP_LEVELWIDTH 203 int 设置对象线宽度的整数值。可以从1到5。
OBJPROP_FIRSTLEVEL+n 210+n int 斐波纳契水平函数是设置n的水平函数。可以是从0 到31 。

4.16 对象有效周期(Object visibility)

时间范围将在货币对处显示。在ObjectSet()应用函数中设置OBJPROP_TIMEFRAMES 属性。

常数

描述。

OBJ_PERIOD_M1 0x0001 对象只在1分钟图表中显示。
OBJ_PERIOD_M5 0x0002 对象只在5分钟图表中显示。。
OBJ_PERIOD_M15 0x0004 对象只在15分钟图表中显示。
OBJ_PERIOD_M30 0x0008 对象只在30分钟图表中显示。
OBJ_PERIOD_H1 0x0010 对象只在1小时图表中显示。
OBJ_PERIOD_H4 0x0020 对象只在4小时图表中显示。
OBJ_PERIOD_D1 0x0040 对象只在天图表中显示。
OBJ_PERIOD_W1 0x0080 对象只在星期图表中显示。
OBJ_PERIOD_MN1 0x0100 对象只在月图表中显示。
OBJ_ALL_PERIODS 0x01FF 对象在所有时间周期图表中显示。
NULL 0 对象在所有时间周期图表中显示。
EMPTY -1 在所有时间周期图表中显示。

4.17 初始失败化原因代码(Uninitialize reason codes)

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

常数

描述

  0 脚本独立执行完成
REASON_REMOVE 1 从图表中删除。
REASON_RECOMPILE 2 重新编译交易。
REASON_CHARTCHANGE 3 在图表上改变货币对和时间周期。
REASON_CHARTCLOSE 4 关闭图表
REASON_PARAMETERS 5 用户改变了输入参量
REASON_ACCOUNT 6 其他账户已激活

4.18 特殊常量(Special constants)

特别常数使用于指定参量和变量状态。可以是以下任意值:

常数

描述

NULL 0 指示空状态的字行。
EMPTY -1 指示空状态的参量。
EMPTY_值 0x7FFFFFFF 指示自定义空值。
CLR_NONE 0xFFFFFFFF 指示空状态的颜色。
WHOLE_ARRAY 0 应用数组功能。指示数组将被处理。

4.19错误代码(Error codes)

GetLastError()函数返回代码。错误代码被指定在stderror.mqh文件里。打印文本信息使用在stdlib.mqh文件中指定错误描述()函数。

#include <stderror.mqh>

#include <stdlib.mqh>

void SendMyMessage(string text)

{

int check;

SendMail(“some subject”, text);

check=GetLastError();

if(check!=ERR_NO_ERROR) Print(“Cannot send message, error: “,Error描述(check));

}

错误代码太多,这里不做介绍,实际编程时可以在MT4编程手册上查找。

错误码

标识

描述

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 当套期保值无效时,试图开立与现有订单相反的订单
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_INITIALIZED_STRING

没有初始化字符串

4009

ERR_NOT_INITIALIZED_ARRAYSTRING

数组中没有初始化字符串

4010

ERR_NO_MEMORY_FOR_ARRAYSTRING

数组字符串没有内存

4011

ERR_TOO_LONG_STRING

  • 字符串太长
4012

ERR_REMAINDER_FROM_ZERO_DIVIDE

  • 因除数为零导致的错误
4013

ERR_ZERO_DIVIDE

除数为0

4014

ERR_UNKNOWN_COMMAND

未知命令

4015

ERR_WRONG_JUMP

错误跳转(从未产生错误)

4016

ERR_NOT_INITIALIZED_ARRAY

没有初始化数组

4017

ERR_DLL_CALLS_NOT_ALLOWED

不允许DLL调用

4018

ERR_CANNOT_LOAD_LIBRARY

  • 库文件无法调用
4019

ERR_CANNOT_CALL_FUNCTION

  • 函数无法调用
4020

ERR_EXTERNAL_CALLS_NOT_ALLOWED

不允许使用EA

4021

ERR_NO_MEMORY_FOR_RETURNED_STR

没有足够的内存用于函数返回的临时字符串

4022

ERR_SYSTEM_BUSY

系统繁忙(从未产生错误)

4023

ERR_DLLFUNC_CRITICALERROR

dll函数调用严重错误

4024

ERR_INTERNAL_ERROR

内部错误

4025

ERR_OUT_OF_MEMORY

内存不足

4026

ERR_INVALID_POINTER

  • 指针错误
4027

ERR_FORMAT_TOO_MANY_FORMATTERS

格式化函数中太多需要格式化

4028

ERR_FORMAT_TOO_MANY_PARAMETERS

参数过多

4029

ERR_ARRAY_INVALID

无效数组

4030

ERR_CHART_NOREPLY

  • 图表没有响应
4050

ERR_INVALID_FUNCTION_PARAMSCNT

参数无效

4051

ERR_INVALID_FUNCTION_PARAMVALUE

参数值无效

4052

ERR_STRING_FUNCTION_INTERNAL

  • 字符串函数内部错误
4053

ERR_SOME_ARRAY_ERROR

  • 数组错误
4054

ERR_INCORRECT_SERIESARRAY_USING

使用不正确的序列数组

4055

ERR_CUSTOM_INDICATOR_ERROR

  • 自定义指标错误
4056

ERR_INCOMPATIBLE_ARRAYS

  • 数组不兼容
4057

ERR_GLOBAL_VARIABLES_PROCESSING

  • 全局变量处理错误
4058

ERR_GLOBAL_VARIABLE_NOT_FOUND

  • 没有发现全局变量
4059

ERR_FUNC_NOT_ALLOWED_IN_TESTING

测试模式下不允许使用此功能

4060

ERR_FUNCTION_NOT_CONFIRMED

函数不允许调用

4061

ERR_SEND_MAIL_ERROR

  • 发送邮件错误
4062

ERR_STRING_PARAMETER_EXPECTED

字符串参数预计

4063

ERR_INTEGER_PARAMETER_EXPECTED

需要整数参数

4064

ERR_DOUBLE_PARAMETER_EXPECTED

需要浮点参数

4065

ERR_ARRAY_AS_PARAMETER_EXPECTED

需要数组参数

4066

ERR_HISTORY_WILL_UPDATED

所请求的历史数据处于更新状态

4067

ERR_TRADE_ERROR

  • 交易内部错误
4068

ERR_RESOURCE_NOT_FOUND

  • 没有发现资源文件
4069

ERR_RESOURCE_NOT_SUPPORTED

  • 不支持资源文件
4070

ERR_RESOURCE_DUPLICATED

  • 重复的资源文件
4071

ERR_INDICATOR_CANNOT_INIT

  • 自定义指标无法初始化
4072

ERR_INDICATOR_CANNOT_LOAD

无法加载自定义指标

4073

ERR_NO_HISTORY_DATA

无历史数据

4074

ERR_NO_MEMORY_FOR_HISTORY

没有内存加载历史数据

4075

ERR_NO_MEMORY_FOR_INDICATOR

没有足够的内存用于指标

4099

ERR_END_OF_FILE

文件结尾

4100

ERR_SOME_FILE_ERROR

文件错误

4101

ERR_WRONG_FILE_NAME

文件名错误

4102

ERR_TOO_MANY_OPENED_FILES

打开太多文件

4103

ERR_CANNOT_OPEN_FILE

无法打开文件

4104

ERR_INCOMPATIBLE_FILEACCESS

不兼容的文件

4105

ERR_NO_ORDER_SELECTED

没有选中订单

4106

ERR_UNKNOWN_SYMBOL

未知的交易品种

4107

ERR_INVALID_PRICE_PARAM

无效报价

4108

ERR_INVALID_TICKET

无效的新价格

4109

ERR_TRADE_NOT_ALLOWED

不允许进行交易。在EA属性中启用复选框允许实时交易

4110

ERR_LONGS_NOT_ALLOWED

不允许做多。检查EA属性

4111

ERR_SHORTS_NOT_ALLOWED

不允许做空。检查EA属性

4112

ERR_TRADE_EXPERT_DISABLED_BY_SERVER

交易服务器不允许自动交易

4200

ERR_OBJECT_ALREADY_EXISTS

对象已经存在

4201

ERR_UNKNOWN_OBJECT_PROPERTY

  • 未知的对象属性
4202

ERR_OBJECT_DOES_NOT_EXIST

  • 对象不存在
4203

ERR_UNKNOWN_OBJECT_TYPE

  • 未知的对象类型
4204

ERR_NO_OBJECT_NAME

  • 对象没有命名
4205

ERR_OBJECT_COORDINATES_ERROR

  • 对象坐标错误
4206

ERR_NO_SPECIFIED_SUBWINDOW

  • 没有指定副图窗口
4207

ERR_SOME_OBJECT_ERROR

  • 图形对象错误
4210

ERR_CHART_PROP_INVALID

  • 未知的图表属性
4211

ERR_CHART_NOT_FOUND

  • 没有找到主图
4212

ERR_CHARTWINDOW_NOT_FOUND

  • 没有找到附图
4213

ERR_CHARTINDICATOR_NOT_FOUND

  • 图表中没有发现该指标
4220

ERR_SYMBOL_SELECT

  • 品种选择错误
4250

ERR_NOTIFICATION_ERROR

  • 消息传递错误
4251

ERR_NOTIFICATION_PARAMETER

  • 消息参数错误
4252

ERR_NOTIFICATION_SETTINGS

  • 消息被禁用
4253

ERR_NOTIFICATION_TOO_FREQUENT

  • 消息发送过于频繁
4260

ERR_FTP_NOSERVER

未指定FTP服务器

4261

ERR_FTP_NOLOGIN

未指定FTP登录

4262

ERR_FTP_CONNECT_FAILED

FTP连接失败

4263

ERR_FTP_CLOSED

FTP连接关闭了

4264

ERR_FTP_CHANGEDIR

在服务器上找不到FTP路径

4265

ERR_FTP_FILE_ERROR

MQL4\Files目录中找不到要在FTP服务器上发送的文件

4266

ERR_FTP_ERROR

FTP数据传输过程中常见错误

5001

ERR_FILE_TOO_MANY_OPENED

  • 文件打开过多
5002

ERR_FILE_WRONG_FILENAME

  • 错误的文件名
5003

ERR_FILE_TOO_LONG_FILENAME

  • 文件名过长
5004

ERR_FILE_CANNOT_OPEN

  • 无法打开文件
5005

ERR_FILE_BUFFER_ALLOCATION_ERROR

  • 文本文件缓冲区分配错误
5006

ERR_FILE_CANNOT_DELETE

  • 文无法删除文件
5007

ERR_FILE_INVALID_HANDLE

无效的文件句柄(文件已关闭或未打开)

5008

ERR_FILE_WRONG_HANDLE

文件句柄错误(句柄索引超出句柄表)

5009

ERR_FILE_NOT_TOWRITE

文件必须以FILE_WRITE标志打开

5010

ERR_FILE_NOT_TOREAD

文件必须以FILE_READ标志打开

5011

ERR_FILE_NOT_BIN

文件必须以FILE_BIN标志打开

5012

ERR_FILE_NOT_TXT

文件必须以FILE_TXT标志打开

5013

ERR_FILE_NOT_TXTORCSV

文件必须以FILE_TXTFILE_CSV标志打开

5014

ERR_FILE_NOT_CSV

文件必须以FILE_CSV标志打开

5015

ERR_FILE_READ_ERROR

  • 文件读取错误
5016

ERR_FILE_WRITE_ERROR

  • 写文件错误
5017

ERR_FILE_BIN_STRINGSIZE

必须为二进制文件指定字符串大小

5018

ERR_FILE_INCOMPATIBLE

不兼容的文件(对于字符串数组– txt,对于其他的– bin)

5019

ERR_FILE_IS_DIRECTORY

这是目录而不是文件

5020

ERR_FILE_NOT_EXIST

  • 文件不存在
5021

ERR_FILE_CANNOT_REWRITE

  • 文件不能被重复写入
5022

ERR_FILE_WRONG_DIRECTORYNAME

  • 错误的目录名
5023

ERR_FILE_DIRECTORY_NOT_EXIST

  • 目录名不存在
5024

ERR_FILE_NOT_DIRECTORY

  • 指定文件而不是目录
5025

ERR_FILE_CANNOT_DELETE_DIRECTORY

  • 不能删除目录
5026

ERR_FILE_CANNOT_CLEAN_DIRECTORY

  • 不能清空目录
5027

ERR_FILE_ARRAYRESIZE_ERROR

  • 改变数组大小错误
5028

ERR_FILE_STRINGRESIZE_ERROR

  • 改变字符串大小错误
5029

ERR_FILE_STRUCT_WITH_OBJECTS

结构包含字符串或动态数组

5200

ERR_WEBREQUEST_INVALID_ADDRESS

  • 网址不正确
5201

ERR_WEBREQUEST_CONNECT_FAILED

连接指定的URL失败

5202

ERR_WEBREQUEST_TIMEOUT

超时了

5203

ERR_WEBREQUEST_REQUEST_FAILED

HTTP请求失败

 

User errors

 

65536

ERR_USER_ERROR_FIRST

用户定义的错误码从这里开始