MQL4 Reference MQL4命令手册(完整版)
 
 
 
| 
 
| 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。
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| 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个坐标。
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| 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_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 。
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| 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        在所有时间周期图表中显示。
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| Uninitialize reason codes撤销初始化原因代码 常数        值        描述
 0        脚本独立执行完成
 REASON_REMOVE        1        从图表中删除。
 REASON_RECOMPILE        2        重新编译交易。
 REASON_CHARTCHANGE        3        在图表上改变货币对和时间周期。
 REASON_CHARTCLOSE        4        关闭图表
 REASON_PARAMETERS        5        用户改变了输入参量
 REASON_ACCOUNT        6        其他账户已激活
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| Special constants特别常数 特别常数使用于指定参量和变量状态。可以是以下任意值:
 常数        值        描述
 NULL        0        指示空状态的字行。
 EMPTY        -1        指示空状态的参量。
 EMPTY_值        0x7FFFFFFF        指示自定义空值。
 CLR_NONE        0xFFFFFFFF        指示空状态的颜色。
 WHOLE_ARRAY        0        应用数组功能。指示数组将被处理。
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| 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));
 
 | 
 | 
|  | 
|
|  | 
|  | 
 
 
| 
 
| 从服务器返回的错误代码 常数        值        描述
 ERR_NO_ERROR        0        没有错误返回。
 ERR_NO_RESULT        1        没有错误返回但结果不明。
 ERR_COMMON_ERROR        2        一般错误。
 ERR_INVALID_TRADE_PARAMETERS        3        无效交易参量。
 ERR_SERVER_BUSY        4        交易服务器繁忙。
 ERR_OLD_VERSION        5        客户终端旧版本。
 ERR_NO_CONNECTION        6        没有连接服务器。
 ERR_NOT_ENOUGH_RIGHTS        7        没有权限。
 ERR_TOO_FREQUENT_REQUESTS        8        请求过于频繁。
 ERR_MALFUNCTIONAL_TRADE        9        交易运行故障。
 ERR_ACCOUNT_DISABLED        64        账户禁止。
 ERR_INVALID_ACCOUNT        65        无效账户
 ERR_TRADE_TIMEOUT        128        交易超时。
 ERR_INVALID_PRICE        129        无效价格。
 ERR_INVALID_STOPS        130        无效停止。
 ERR_INVALID_TRADE_VOLUME        131        无效交易量。
 ERR_MARKET_CLOSED        132        市场关闭。
 ERR_TRADE_DISABLED        133        交易被禁止。
 ERR_NOT_ENOUGH_MONEY        134        资金不足。
 ERR_PRICE_CHANGED        135        价格改变。
 ERR_OFF_QUOTES        136        开价。
 ERR_BROKER_BUSY        137        经纪繁忙。
 ERR_REQUOTE        138        重新开价。
 ERR_ORDER_LOCKED        139        定单被锁定。
 ERR_LONG_POSITIONS_ONLY_ALLOWED        140        只允许看涨仓位。
 ERR_TOO_MANY_REQUESTS        141        过多请求。
 ERR_TRADE_MODIFY_DENIED        145        因为过于接近市场,修改否定。
 ERR_TRADE_CONTEXT_BUSY        146        交易文本已满。
 ERR_TRADE_EXPIRATION_DENIED        147        时间周期被经纪否定。
 ERR_TRADE_TOO_MANY_ORDERS        148        开单和挂单总数已被经纪限定。
 
 | 
 | 
|  | 
|
|  | 
|  |