美文网首页
预定义标准常量( MarketInfo(Symbol(),MOD

预定义标准常量( MarketInfo(Symbol(),MOD

作者: 牛在汇上飞 | 来源:发表于2018-10-23 12:02 被阅读0次

    为了简化程序编写,使程序文本编辑使用起来更加简便,在MQL4中预定义了标准常量。
    标准常量类似于宏代换,并且是int(整数类型)。
    这些常量按用途进行分组。

    序列化数组

    序列化数组标识符 用在ArrayCopySeries(), iHighest()和iLowest()函数。可以是以下任意值:
    (常数 值 描述)
    MODE_OPEN 0 开
    MODE_LOW 1 低
    MODE_HIGH 2 高
    MODE_CLOSE 3 收
    MODE_VOLUME 4 量(用于iLowest()和iHighest()函数中)
    MODE_TIME 5 时 (用于ArrayCopySeries()函数中)

    图表时间框

    (图表时间周期)。
    (常数 值 描述)
    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 图表中当前时框

    交易类型

    用于OrderSend()函数。
    (常数 值 描述)
    OP_BUY 0 即时买
    OP_SELL 1 即时卖
    OP_BUYLIMIT 2 限挂买
    OP_SELLLIMIT 3 限挂卖
    OP_BUYSTOP 4 突挂买
    OP_SELLSTOP 5 突挂卖

    价格常量

    (常数 值 描述)
    PRICE_CLOSE 0 收价
    PRICE_OPEN 1 开价
    PRICE_HIGH 2 高价
    PRICE_LOW 3 低价
    PRICE_MEDIAN 4 中价 (h+l)/2.
    PRICE_TYPICAL 5 典价(h+l+cl)/3.
    PRICE_WEIGHTED 6 权价(h+l+2*c)/4.

    市场信息

    用在MarketInfo(Symbol(), MODE_....) 函数:

    (常数 值 简称 描述)
    MODE_LOW 1
    该币今高价 // 今日最低价。

    MODE_HIGH 2
    该币今低价 // 今日最高价。

    MODE_TIME 5
    最后K线时// 最新接收到的tick(最新的价位)的时间 (最新知道的服务器时间)。

    MODE_BID 9
    该币叫买价 // 最新叫买价。 对于当前币,则使用保存在预定义变量里的 Bid 。

    MODE_ASK 10
    该币叫卖价 // 最新叫卖价。 对于当前币,则使用保存在预定义变量里的 Ask 。

    MODE_POINT 11
    规定点值 // 当前报价的点值。对于当前货币对,在预定义变量 Point 中。

    MODE_DIGITS 12
    规定小数位 // 在货币对价格中小数点后小数位数。对于当前货币对,它被保存在预定义变量Digits 中。

    MODE_SPREAD 13
    规定点差 // 当前点差。

    MODE_STOPLEVEL 14
    规定止损幅 // 平台规定的允许的到最小止损位的距离和起码的挂单的距离点数。

    MODE_LOTSIZE 15
    基币标手金 // 基准货币的标准手数大小。(即: 一标准手基础币是多少金额)。
    如:
    MarketInfo("EURUSD", MODE_LOTSIZE); 表示一标准手(即10万)的欧元可换多少美元。其中欧元写在前面,是基础币;美元写在后面,是目标币。该函数返回的是一个固定的值 100,000.
    例:
    基币标手金= MarketInfo(Symbol(), MODE_LOTSIZE);
    if(使用资管==true){
    手数= AccountEquity()*(风险/100) /(基币标手金/杠杆);
    手数= StrToDouble(DoubleToStr(手数, 手位数));
    }
    else{
    手数= 手数参数;
    }

    MODE_TICKVALUE 16
    标手每跳金 // 当前品种报价每一跳的价值。
    在相对于指定的货币存款中 返回点值

    MODE_TICKSIZE 17
    报价最小单位 // 当前品种报价每一跳的大小。
    对于当前货币对, MarketInfo(Symbol(), MODE_POINT) 和MarketInfo(Symbol(), MODE_TICKSIZE)的值是相同的。

    MODE_SWAPLONG 18
    多头掉期 // 看涨仓位掉期。

    MODE_SWAPSHORT 19
    空头掉期 // 卖空仓位掉期。

    MODE_STARTING 20
    期货开始日 // 交易开始日期 (用于期货)。

    MODE_EXPIRATION 21
    期货到期日 // 交易到期日 (用于期货)。

    MODE_TRADEALLOWED 22
    允交易币量 // 货币对是否允许交易。

    MODE_MINLOT 23
    规定最小手 // 允许交易的最小手数。

    MODE_LOTSTEP 24
    改标手步幅 // 交易手数的最小增量。改变标准手步幅。
    改标手步幅= MarketInfo(Symbol(), MODE_LOTSTEP);
    if( 改标手步幅 ==0.01)
    手位数= 2;
    if( 改标手步幅 ==0.1)
    手位数= 1;

    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(CFD指数)。

    MODE_MARGININIT 29
    一标手初始金额 // 1标准手的初始保证金需求。

    MODE_MARGINMAINTENANCE 30
    一标手开仓金 额 // 维持开仓1标准手的保证金。

    MODE_MARGINHEDGED 31
    一标手护盘金 额 // 1标准手的对冲保证金。

    MODE_MARGINREQUIRED 32
    现价标手金 // 要求买1标准手的保证金余额。以现价( 卖出价 )返回一个标准手的价格

    MODE_FREEZELEVEL 33
    冻结订单水平位 // 冻结订单的点位。如果执行价出现在冻结订单的点位范围内,订单将不能被修改会、取消或平仓。

    画线样式

    SetIndexStyle()函数中 画线样式的列表。
    类型:
    (常数 值 描述)
    DRAW_LINE 0 线
    DRAW_SECTION 1 线条
    DRAW_HISTOGRAM 2 柱
    DRAW_ARROW 3 箭 (货币对)。
    DRAW_ZIGZAG 4 折线
    DRAW_NONE 12 不画线
    其中 线的样式,宽度为1时有效:
    (常数 值 描述)
    STYLE_SOLID 0 实
    STYLE_DASH 1 虚
    STYLE_DOT 2 点
    STYLE_DASHDOT 3 点划线
    STYLE_DASHDOTDOT 4 双点划线

    箭头代码

    预定义箭头代码列表:
    常数 值 描述
    SYMBOL_THUMBSUP 67 大拇指向上符号 (C).
    SYMBOL_THUMBSDOWN 68 大拇指向下符号 (D).
    SYMBOL_ARROWUP 241 箭头向上符号 (?).
    SYMBOL_ARROWDOWN 242 箭头向下符号 (ò).
    SYMBOL_STOPSIGN 251 打叉符号(?).
    SYMBOL_CHECKSIGN 252 打钩符号 (ü).

    对于价格和时间的特殊箭头代码:
    常数 值 描述
    1 右上转箭头 (?).
    2 右下转箭头(?).
    3 左指向三角 (?).
    4 破折号(–).
    SYMBOL_LEFTPRICE 5 价格左侧标签
    SYMBOL_RIGHTPRICE 6 价格右侧标签

    指标线标示符

    用在iMACD(), iRVI(), iStochastic()函数指标中。
    MODE_MAIN 0 基本指标线。
    MODE_SIGNAL 1 信号线。
    (略)

    Ichimoku Kinko Hyo指标线标示符

    用在iIchimoku() 指标中
    (略)

    移动平均计算方法

    用在iAlligator(), iEnvelopes(), iEnvelopesOnArray, iForce(), iGator(), iMA(), iMAOnArray(),iStdDev(), iStdDevOnArray(), iStochastic()中。
    常数 值 描述
    MODE_SMA 0 简单均
    MODE_EMA 1 指数均
    MODE_SMMA 2 平滑均
    MODE_LWMA 3 线性加权均

    信息框从信息框函数MessageBox()返回代码。

    如果信息框中有“Cancel(取消)”按钮,当选择Cancel按钮或是按了ESC键时,函数将返回IDCANCEL值。
    如果信息框中不存在Cancel按钮,按ESC键无效。
    注:信息框返回码定义在WinUser32.mqh文件中
    常数 值 描述
    IDOK 1 选择 (OK) 确定按钮.
    IDCANCEL 2 选择 (Cancel) 取消按钮.
    IDABORT 3 选择 (Abort) 中止按钮.
    IDRETRY 4 选择 (Retry) 重试按钮.
    IDIGNORE 5 选择 (Ignore) 忽略按钮.
    IDYES 6 选择 (Yes)是按钮.
    IDNO 7 选择 (No)否按钮.
    IDTRYAGAIN 10 选择 (Try Again) 再次尝试按钮.
    IDCONTINUE 11 选择 (Continue) 继续按钮.

    MessageBox()函数标志描述了一个对话框的内容和行为。
    这个值还可以和下列值组合应用。

    为在信息框中显示相应按钮,可以指定下列值之一。
    常数 值 描述
    MB_OK 0×00000000 消息框中包含的一个按钮: (OK) 确定 这是默认值.
    MB_OKCANCEL 0×00000001 消息框中包含的两个按钮: (OK) 确定 和 (Cancel) 取消.
    MB_ABORTRETRYIGNORE 0×00000002 消息框中包含的三个按钮: (Abort)中止, (Retry)重试和(Ignore)忽略.
    MB_YESNOCANCEL 0×00000003 消息框中包含的三个按钮: (Yes)是,(No)否 和 (Cancel)取消
    MB_YESNO 0×00000004 消息框中包含的两个按钮: (Yes)是 和 (No)否
    MB_RETRYCANCEL 0×00000005 消息框中包含的两个按钮: (Retry)重试 和 (Cancel)取消
    MB_CANCELTRYCONTINUE 0×00000006 Windows 2000: 消息框中包含的三个按钮: 取消, 重试, 继续, 使用这个消息框类型代替

    为在信息框中显示图标,可以指定下列值之一。
    常数 值 描述
    MB_ICONSTOP, MB_ICONERROR, MB_ICONHAND 0×00000010 显示禁止标志的图标.
    MB_ICONQUESTION 0×00000020 显示问号的图标.
    MB_ICONEXCLAMATION, MB_ICONWARNING 0×00000030 显示感叹号图标.
    MB_ICONINFORMATION, MB_ICONASTERISK 0×00000040 显示小写字母 i 组成的图标.

    为在信息框内显示默认的图标,可以指定下列值之一。
    常数 值 描述
    MB_DEFBUTTON1 0×00000000 第一个按钮为默认。除非指定MB_DEFBUTTON2, MB_DEFBUTTON3, MB_DEFBUTTON4, 否则MB_DEFBUTTON1是默认的
    MB_DEFBUTTON2 0×00000100 第二个按钮为默认.
    MB_DEFBUTTON3 0×00000200 第三个按钮为默认.
    MB_DEFBUTTON4 0×00000300 第四个按钮为默认.

    MessageBox()函数行为标志定义在WinUser32.mqh文件内,这就是为什么这个头文件必须通过#include包含进来的原因。此处,没有列出所有的标志,详见Win32 API说明。

    Wingdings符号(略)

    Web颜色名称(略)

    对象类型

    用在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_FIBO 10 斐波纳契回撤 // 使用2个坐标。
    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个坐标。

    对象属性

    对象值索引用在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为设置/获取第n条水平线编号。可以是从0到31。

    对象可视性

    对象显示的图表时段。在ObjectSet()函数中设置OBJPROP_TIMEFRAMES属性。

    常数 值 描述。
    OBJ_PERIOD_M1 0×0001 对象只在1分钟图表中显示。
    ...
    OBJ_PERIOD_H4 0×0020 对象只在4小时图表中显示。
    OBJ_PERIOD_D1 0×0040 对象只在日图表中显示。
    OBJ_PERIOD_W1 0×0080 对象只在周图表中显示。
    OBJ_PERIOD_MN1 0×0100 对象只在月图表中显示。
    OBJ_ALL_PERIODS 0x01FF 对象在所有时间周期图表中显示。
    NULL 0 对象在所有时间周期图表中显示。
    EMPTY -1 在所有时间周期图表中不显示。

    相关文章

      网友评论

          本文标题:预定义标准常量( MarketInfo(Symbol(),MOD

          本文链接:https://www.haomeiwen.com/subject/eiezaftx.html