MT4智能交易编程教程-交易品种属性
可以通过SymbolInfoInteger() ,SymbolInfoDouble()和SymbolInfoString() 。 函数获得当前市场信息。第一个参量是交易品种名称,第二个函数参量的值是ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE 和 ENUM_SYMBOL_INFO_STRING标识符中的一个。 函数SymbolInfoInteger() ENUM_SYMBOL_INFO_INTEGER 标识符 | 描述 | 类型 | SYMBOL_SELECT | 在市场报价中选择交易品种 | bool | SYMBOL_SESSION_DEALS | Number of deals in the current session | long | SYMBOL_SESSION_BUY_ORDERS | Number of Buy orders at the moment | long | SYMBOL_SESSION_SELL_ORDERS | Number of Sell orders at the moment | long | SYMBOL_VOLUME | 最后订单成交量 | long | SYMBOL_VOLUMEHIGH | 当天最大订单 | long | SYMBOL_VOLUMELOW | 当天最小订单 | long | SYMBOL_TIME | 最后报价时间 | datetime | SYMBOL_DIGITS | 小数点后数字 | int | SYMBOL_SPREAD_FLOAT | 浮点传播迹象 | bool | SYMBOL_SPREAD | 相关传播值 | int | SYMBOL_TICKS_BOOKDEPTH | | int | SYMBOL_TRADE_CALC_MODE | 合约价格计算方式 | | SYMBOL_TRADE_MODE | 订单执行类型 | | SYMBOL_START_TIME | 交易品种交易开始日期(通常用于期货) | datetime | SYMBOL_EXPIRATION_TIME | 交易品种交易结束日期(通常用于期货) | datetime | SYMBOL_TRADE_STOPS_LEVEL | 止蚀盘当前收盘价格的最小空间 | int | SYMBOL_TRADE_FREEZE_LEVEL | 凝结交易操作的距离 | int | SYMBOL_TRADE_EXEMODE | 订单执行方式 | | SYMBOL_SWAP_MODE | 交易计算模式 | | SYMBOL_SWAP_ROLLOVER3DAYS | 日翻滚收费 | | SYMBOL_EXPIRATION_MODE | | int | SYMBOL_FILLING_MODE | | int | SYMBOL_ORDER_MODE | | int |
ENUM_SYMBOL_INFO_DOUBLE 标识符 | 描述 | 类型 | SYMBOL_BID | 买价—最佳卖出信息 | double | SYMBOL_BIDHIGH | 一天中最高买价 | double | SYMBOL_BIDLOW | 一天中最低买价 | double | SYMBOL_ASK | 卖价—最佳买入信息 | double | SYMBOL_ASKHIGH | 一天中最高买价 | double | SYMBOL_ASKLOW | 一天中最低买价 | double | SYMBOL_LAST | 最后订单价格 | double | SYMBOL_LASTHIGH | 一天中最高 | double | SYMBOL_LASTLOW | 一天中最低 | double | SYMBOL_POINT | 交易品种点值 | double | SYMBOL_TRADE_TICK_VALUE | Value of SYMBOL_TRADE_TICK_VALUE_PROFIT | double | SYMBOL_TRADE_TICK_VALUE_PROFIT | 为利润空间计算最小价位 | double | SYMBOL_TRADE_TICK_VALUE_LOSS | 为亏损空间计算最小价位 | double | SYMBOL_TRADE_TICK_SIZE | 最小价格改变 | double | SYMBOL_TRADE_CONTRACT_SIZE | 交易贸易合同 | double | SYMBOL_VOLUME_MIN | 一笔订单中的最小成交量 | double | SYMBOL_VOLUME_MAX | 一笔订单中的最大成交量 | double | SYMBOL_VOLUME_STEP | 交易执行缓步的最小成交量 | double | SYMBOL_VOLUME_LIMIT | Maximum allowed aggregate volume of an open position and pending orders in one direction (buy or sell) for the symbol. For example, with the limitation of 5 lots, you can have an open buy position with the volume of 5 lots and place a pending order Sell Limit with the volume of 5 lots. But in this case you cannot place a Buy Limit pending order (since the total volume in one direction will exceed the limitation) or place Sell Limit with the volume more than 5 lots. | double | SYMBOL_SWAP_LONG | 最低交易值 | double | SYMBOL_SWAP_SHORT | 最小交易值 | double | SYMBOL_MARGIN_INITIAL | 原始保证金表示每一笔保证金开仓成交量的数量 | double | SYMBOL_MARGIN_MAINTENANCE | 维持保证金,在交易品种中建立保证金数量,从一笔订单中获得保证金利润,当客户账户改变时,使用客户资产检测系统,如果维持保证金等于,使用原始保证金 | double | SYMBOL_MARGIN_LONG | 看涨行情中保证金利润率 | double | SYMBOL_MARGIN_SHORT | 看跌行情中保证金利润率 | double | SYMBOL_MARGIN_LIMIT | 限价订单中保证金利润率 | double | SYMBOL_MARGIN_STOP | 停止订单中保证金利润率 | double | SYMBOL_MARGIN_STOPLIMIT | 限制停止订单中保证金利润率 | double | SYMBOL_SESSION_VOLUME | Summary volume of current session deals | double | SYMBOL_SESSION_TURNOVER | Summary turnover of the current session | double | SYMBOL_SESSION_INTEREST | Summary open interest | double | SYMBOL_SESSION_BUY_ORDERS_VOLUME | Current volume of Buy orders | double | SYMBOL_SESSION_SELL_ORDERS_VOLUME | Current volume of Sell orders | double | SYMBOL_SESSION_OPEN | Open price of the current session | double | SYMBOL_SESSION_CLOSE | Close price of the current session | double | SYMBOL_SESSION_AW | Average weighted price of the current session | double | SYMBOL_SESSION_PRICE_SETTLEMENT | Settlement price of the current session | double | SYMBOL_SESSION_PRICE_LIMIT_MIN | Minimal price of the current session | double | SYMBOL_SESSION_PRICE_LIMIT_MAX | Maximal price of the current session | double |
ENUM_SYMBOL_INFO_STRING Identifier | 描述 | 类型 | SYMBOL_CURRENCY_BASE | 交易品种基础货币 | string | SYMBOL_CURRENCY_PROFIT | 利润货币 | string | SYMBOL_CURRENCY_MARGIN | 保证金货币 | string | SYMBOL_BANK | 当前报价支线 | string | SYMBOL_DESCRIPTION | 交易品种描述 | string | SYMBOL_ISIN | The name of a symbol in the ISIN system (International Securities Identification Number). The International Securities Identification Number is a 12-digit alphanumeric code that uniquely identifies a security. The presence of this symbol property is determined on the side of a trade server. | string | SYMBOL_PATH | 交易品种树形通路 | string |
待办订单中每个交易品种的几处终结点是能够制定的,一个标志匹配一种方式,使用 OR (|)逻辑操作符能够连接标志,例如,SYMBOL_EXPIRATION_GTC|SYMBOL_EXPIRATION_SPECIFIED,为了检测交易品种的某一方式是否被允许操作,结果可以使用AND (&)逻辑操作符来与方式标志相对比。 如果交易品种的SYMBOL_EXPIRATION_SPECIFIED标志可以指定,发送待办订单,可以为其指定某一时刻交易。 标识符 | 值 | 描述 | SYMBOL_EXPIRATION_GTC | 1 | 该命令在无限时间周期中是有效的,直到它被明确删除 | SYMBOL_EXPIRATION_DAY | 2 | 当天结束前,该命令是有效的 | SYMBOL_EXPIRATION_SPECIFIED | 4 | 在命令中指定期限时间 | SYMBOL_EXPIRATION_SPECIFIED_DAY | 8 | The expiration date is specified in the order |
示例: - //+------------------------------------------------------------------+
- //| 检测是否允许指定终结模式 |
- //+------------------------------------------------------------------+
- bool IsExpirationTypeAllowed(string symbol,int exp_type)
- {
- //--- 获得描述允许终结模式的属性值
- int expiration=(int)SymbolInfoInteger(symbol,SYMBOL_EXPIRATION_MODE);
- //--- 返回真值,如果exp_type模式允许的话
- return((expiration&exp_type)==exp_type);
- }
-
复制代码
当发出命令时,可以为建立的命令指定成交量的交易政策。在图表中每个交易品种都是可以指定的,你可以通过连接标志为一个交易品种建立多种方式。这些标志通过逻辑操作符OR(|)连接,例如,SYMBOL_FILLING_FOK|SYMBOL_FILLING_IOC,如果坚持交易品种的确切模式是否允许,结果可以使用AND(&)逻辑操作符与方式标志进行比较。 填写政策 | 标识符 | 值 | 描述 | 全部执行或取消 | SYMBOL_FILLING_FOK | 1 | 这个政策意味着交易只能执行指定的交易量。如果目前市场上无法提供必要的金融工具数量,那么订单将不会执行。可以使用目前市场上可得到的几种提供来填写需要的交易量。 | 立即或取消 | SYMBOL_FILLING_IOC | 2 | 在这种情况下,交易人同意以订单中指定的市场上最大可提供交易量,执行交易。如果订单不能完全填写,订单的可用交易量将被填写,余下的交易量将被取消。是否使用IOC订单由交易服务器决定。。 | 返回 | No identifier |
| 该政策只用于市场订单(买入和卖出),限价和止损限价订单 和只用于市场或交换实施的交易品种。在部分填写的情况下,带有剩余交易量的市场或限价订单不能取消,但可以进一步处理。 |
|