交易品种属性

可以通过 SymbolInfoInteger()SymbolInfoDouble()SymbolInfoString() 函数获得当前市场信息。第一个参量是交易品种名称,第二个函数参量的值是ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE 和 ENUM_SYMBOL_INFO_STRING标识符中的一个。

函数 SymbolInfoInteger()

ENUM_SYMBOL_INFO_INTEGER

标识符 描述 类型
SYMBOL_SECTOR 资产所属的经济部门 ENUM_SYMBOL_SECTOR
SYMBOL_INDUSTRY 交易品种所属的行业或经济分支 ENUM_SYMBOL_INDUSTRY
SYMBOL_CUSTOM 这是一个自定义交易品种 – 该交易品种是基于来自市场报价和/或外部数据源的另一个交易品种而综合创建的 bool
SYMBOL_BACKGROUND_COLOR 市场报价中的交易品种所使用的背景色 color
SYMBOL_CHART_MODE 生成交易品种柱形图所使用的价格类型,例如卖价或最后价 ENUM_SYMBOL_CHART_MODE
SYMBOL_EXIST 同名交易品种已存在 bool
SYMBOL_SELECT 在市场报价中选择交易品种 bool
SYMBOL_VISIBLE 交易品种在市场报价中可见。   一些交易品种(主要是计算入金货币预付款要求或利润所需的交叉率)被自动选择,但通常在市场报价中不可见。若要显示这些交易品种,就需要选择显式显示。 bool
SYMBOL_SESSION_DEALS 当前时期的交易数量 long
SYMBOL_SESSION_BUY_ORDERS 当时的买入订单数量 long
SYMBOL_SESSION_SELL_ORDERS 当时的卖出订单数量 long
SYMBOL_VOLUME 最后订单成交量 long
SYMBOL_VOLUMEHIGH 当天最大订单 long
SYMBOL_VOLUMELOW 当天最小订单 long
SYMBOL_TIME 最后报价时间 datetime
SYMBOL_TIME_MSC 自1970.01.01后的最后报价时间(以毫秒计算) long
SYMBOL_DIGITS 小数点后数字 int
SYMBOL_SPREAD_FLOAT 浮点传播迹象 bool
SYMBOL_SPREAD 相关传播值 int
SYMBOL_TICKS_BOOKDEPTH 显示在市场深度要求中的最大数量,交易品种无队列要求,值是0 int
SYMBOL_TRADE_CALC_MODE 合约价格计算方式 ENUM_SYMBOL_CALC_MODE
SYMBOL_TRADE_MODE 订单执行类型 ENUM_SYMBOL_TRADE_MODE
SYMBOL_START_TIME 交易品种交易开始日期(通常用于期货) datetime
SYMBOL_EXPIRATION_TIME 交易品种交易结束日期(通常用于期货) datetime
SYMBOL_TRADE_STOPS_LEVEL 止蚀盘当前收盘价格的最小空间 int
SYMBOL_TRADE_FREEZE_LEVEL 凝结交易操作的距离 int
SYMBOL_TRADE_EXEMODE 订单执行方式 ENUM_SYMBOL_TRADE_EXECUTION
SYMBOL_SWAP_MODE 交易计算模式 ENUM_SYMBOL_SWAP_MODE
SYMBOL_SWAP_ROLLOVER3DAYS 日翻滚收费 ENUM_DAY_OF_WEEK
SYMBOL_MARGIN_HEDGED_USE_LEG 计算锁仓预付款只收取单边交易手数大的(买入或卖出) bool
SYMBOL_EXPIRATION_MODE 到期模式 允许命令标志 int
SYMBOL_FILLING_MODE 填充模式 允许命令标志 int
SYMBOL_ORDER_MODE 允许的标识 订单类型 int
SYMBOL_ORDER_GTC_MODE 止损和盈利订单到期模式,如果SYMBOL_EXPIRATION_MODE=SYMBOL_EXPIRATION_GTC(有效直至被取消) ENUM_SYMBOL_ORDER_GTC_MODE
SYMBOL_OPTION_MODE 期权类型 ENUM_SYMBOL_OPTION_MODE
SYMBOL_OPTION_RIGHT 期权权限(看涨/看跌) ENUM_SYMBOL_OPTION_RIGHT

函数 SymbolInfoDouble()

ENUM_SYMBOL_INFO_DOUBLE

标识符 描述 类型
SYMBOL_BID 买价—最佳卖出信息 双精度
SYMBOL_BIDHIGH 一天中最高买价 双精度
SYMBOL_BIDLOW 一天中最低买价 双精度
SYMBOL_ASK 卖价—最佳买入信息 双精度
SYMBOL_ASKHIGH 一天中最高买价 双精度
SYMBOL_ASKLOW 一天中最低买价 双精度
SYMBOL_LAST 最后订单价格 双精度
SYMBOL_LASTHIGH 一天中最高 双精度
SYMBOL_LASTLOW 一天中最低 双精度
SYMBOL_VOLUME_REAL 最后订单成交量 双精度
SYMBOL_VOLUMEHIGH_REAL 当天最大订单 双精度
SYMBOL_VOLUMELOW_REAL 当天最小订单 双精度
SYMBOL_OPTION_STRIKE 期权的执行价。期权买家可以购买(看涨期权)或出售(看跌期权)基础资产的价格,期权卖家有义务出售或购买基础资产的适当数量。 双精度
SYMBOL_POINT 交易品种点值 双精度
SYMBOL_TRADE_TICK_VALUE SYMBOL_TRADE_TICK_VALUE_PROFIT的值 双精度
SYMBOL_TRADE_TICK_VALUE_PROFIT 为盈利持仓计算报价 双精度
SYMBOL_TRADE_TICK_VALUE_LOSS 为亏损持仓计算报价 双精度
SYMBOL_TRADE_TICK_SIZE 最小价格改变 双精度
SYMBOL_TRADE_CONTRACT_SIZE 交易合约大小 双精度
SYMBOL_TRADE_ACCRUED_INTEREST 应计利息– 累积的票面利率,例如,部分票面利率是按照付息债权发行的天数或最后一次支付票面利率的天数来计算的 双精度
SYMBOL_TRADE_FACE_VALUE 票面价值 – 发行人设置的初始债券价值 双精度
SYMBOL_TRADE_LIQUIDITY_RATE 流动性利率是可用于预付款的资产份额。 双精度
SYMBOL_VOLUME_MIN 一笔订单中的最小成交量 双精度
SYMBOL_VOLUME_MAX 一笔订单中的最大成交量 双精度
SYMBOL_VOLUME_STEP 交易执行的最小成交量更改步骤 双精度
SYMBOL_VOLUME_LIMIT 交易品种单向(单买或单卖)持仓和挂单可允许的最大总容量。例如,5手限定范围内,您可以拥有5手买入持仓交易量和下单5手卖出限价挂单交易量。但是在这种情况下,你不能下单买入限价挂单(因为单向总交易量将会超出限定范围)或下单超过5手的卖出限价交易量。 双精度
SYMBOL_SWAP_LONG 买入库存费值 双精度
SYMBOL_SWAP_SHORT 卖出库存费值 双精度
SYMBOL_SWAP_SUNDAY 周日到次日隔夜持仓的库存费计算比率(SYMBOL_SWAP_LONG或SYMBOL_SWAP_SHORT)。支持以下值:
  • 0 – 不收取库存费
  • 1 – 单次库存费
  • 3 – 三倍库存费
双精度
SYMBOL_SWAP_MONDAY 周一到周二隔夜持仓的库存费计算比率(SYMBOL_SWAP_LONG或SYMBOL_SWAP_SHORT) 双精度
SYMBOL_SWAP_TUESDAY 周二到周三隔夜持仓的库存费计算比率(SYMBOL_SWAP_LONG或SYMBOL_SWAP_SHORT) 双精度
SYMBOL_SWAP_WEDNESDAY 周三到周四隔夜持仓的库存费计算比率(SYMBOL_SWAP_LONG或SYMBOL_SWAP_SHORT) 双精度
SYMBOL_SWAP_THURSDAY 周四到周五隔夜持仓的库存费计算比率(SYMBOL_SWAP_LONG或SYMBOL_SWAP_SHORT) 双精度
SYMBOL_SWAP_FRIDAY 周五到周六隔夜持仓的库存费计算比率(SYMBOL_SWAP_LONG或SYMBOL_SWAP_SHORT) 双精度
SYMBOL_SWAP_SATURDAY 周六到周日隔夜持仓的库存费计算比率(SYMBOL_SWAP_LONG或SYMBOL_SWAP_SHORT) 双精度
SYMBOL_MARGIN_INITIAL 原始预付款表示每一笔预付款开仓成交量的数量   SymbolInfoMarginRate()函数根据订单类型和方向提供有关所收取预付款金额的数据 双精度
SYMBOL_MARGIN_MAINTENANCE 维持预付款,在交易品种中建立预付款数量,从一笔订单中获得预付款盈利,当客户账户改变时,使用客户资产检测系统,如果维持预付款等于,使用原始预付款   SymbolInfoMarginRate()函数根据订单类型和方向提供有关所收取预付款金额的数据 双精度
SYMBOL_SESSION_VOLUME 当前交易的总交易量 双精度
SYMBOL_SESSION_TURNOVER 当前的总流通量 双精度
SYMBOL_SESSION_INTEREST 总持仓利息 双精度
SYMBOL_SESSION_BUY_ORDERS_VOLUME 买入订单的当前交易量 双精度
SYMBOL_SESSION_SELL_ORDERS_VOLUME 卖出订单的当前交易量 双精度
SYMBOL_SESSION_OPEN 当前持仓价格 双精度
SYMBOL_SESSION_CLOSE 当前平仓价格 双精度
SYMBOL_SESSION_AW 当前加权平均价格 双精度
SYMBOL_SESSION_PRICE_SETTLEMENT 当前结算价格 双精度
SYMBOL_SESSION_PRICE_LIMIT_MIN 当前最低价格 双精度
SYMBOL_SESSION_PRICE_LIMIT_MAX 当前最高价格 双精度
SYMBOL_MARGIN_HEDGED 锁仓持仓每手的合约大小或预付款值(一个交易品种的反向持仓)。锁仓持仓可以使用两种预付款计算方式。计算方式由交易商定义。   基本计算:
  • 如果一个交易品种指定初始预付款(SYMBOL_MARGIN_INITIAL) ,锁仓预付款被指定为一个绝对值(以货币计算)。
  • 如果没有指定初始预付款(等于0),SYMBOL_MARGIN_HEDGED 则等于合约大小,这将用来通过恰当公式根据金融工具类型计算预付款(SYMBOL_TRADE_CALC_MODE)。
  计算最大持仓:
  • SYMBOL_MARGIN_HEDGED 值不被考虑。
  • 计算交易品种所有卖出和买入持仓的交易量。
  • 对于每个方向,都会计算加权平均开盘价和入金货币的加权平均转化率。
  • 下一步,使用根据交易品种类型选定的适当公式(SYMBOL_TRADE_CALC_MODE) 计算卖出和买入持仓预付款。
  • 最大值用作预付款。
双精度
SYMBOL_PRICE_CHANGE 当前价格相对于前一交易日结束价格的变化(以百分比表示) 双精度
SYMBOL_PRICE_VOLATILITY 价格波动率(以百分比表示) 双精度
SYMBOL_PRICE_THEORETICAL 理论期权价格 双精度
SYMBOL_PRICE_DELTA 期权/warrant delta显示当基础资产价格变动1时,期权价格变化的值 双精度
SYMBOL_PRICE_THETA 期权/warrant theta显示期权价格每天因临时停止而损失的点数,即到期日临近时 双精度
SYMBOL_PRICE_GAMMA 期权/warrant gamma显示delta的变化率 – 期权溢价变化的快慢情况 双精度
SYMBOL_PRICE_VEGA 期权/warrant vega显示当波动率变化1%时,期权价格变化的点数 双精度
SYMBOL_PRICE_RHO 期权/warrant rho反映了理论期权价格对利率变化1%的敏感性 双精度
SYMBOL_PRICE_OMEGA 期权/warrant omega. 期权弹性显示了期权价格相对于基础资产价格变动的百分比 双精度
SYMBOL_PRICE_SENSITIVITY 期权/warrant sensitivity通过期权基础资产价格应该变化多少点,来显示期权价格应该变化一个点 双精度

函数 SymbolInfoString()

ENUM_SYMBOL_INFO_STRING

标识符 描述 类型
SYMBOL_BASIS 基础衍生资产 字符串
SYMBOL_CATEGORY 交易品种所属部分或类别的名称 字符串
SYMBOL_COUNTRY 交易品种所属的国家 字符串
SYMBOL_SECTOR_NAME 交易品种所属的经济部门 字符串
SYMBOL_INDUSTRY_NAME 交易品种所属的行业分支或行业 字符串
SYMBOL_CURRENCY_BASE 交易品种基础货币 字符串
SYMBOL_CURRENCY_PROFIT 利润货币 字符串
SYMBOL_CURRENCY_MARGIN 预付款货币 字符串
SYMBOL_BANK 当前报价支线 字符串
SYMBOL_DESCRIPTION 交易品种描述 字符串
SYMBOL_EXCHANGE 进行交易品种交易的交易所的名称 字符串
SYMBOL_FORMULA 用于自定义交易品种定价的公式 。如果公式中使用的交易品种名称以数字开头或包含特殊字符(">" ", ".", "-", "&", "#"),那么应在交易品种名称外使用引号。
  • 综合交易品种:"@ESU19"/EURCAD
  • 日历点差:"Si-9.13"-"Si-6.13"
  • 欧元指数:34.38805726 * pow(EURUSD,0.3155) * pow(EURGBP,0.3056) * pow(EURJPY,0.1891) * pow(EURCHF,0.1113) * pow(EURSEK,0.0785)
字符串
SYMBOL_ISIN ISIN系统中交易品种的名称(国际证券识别号码)。国际证券识别号码是一个12位数字字母代码,是证券的唯一识别码。交易品种的属性是由交易服务器方面决定的 。 字符串
SYMBOL_PAGE 包含交易品种信息的网页地址。这个地址将显示为一个链接,用于在程序端中查看交易品种的属性 字符串
SYMBOL_PATH 交易品种树形通路 字符串

交易品种价格图表能够以卖价和买价为基础。为交易品种图表选择的价格也会影响程序端中柱形图的生成和展示。SYMBOL_CHART_MODE属性可能的数值描述在ENUM_SYMBOL_CHART_MODE

ENUM_SYMBOL_CHART_MODE

标识符 描述
SYMBOL_CHART_MODE_BID 柱形图以卖价为基础
SYMBOL_CHART_MODE_LAST 柱形图以最后价为基础

待办订单中每个交易品种的几处终结点是能够制定的,一个标志匹配一种方式,使用 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 订单中指定的到期日期

示例:

//+------------------------------------------------------------------+

//| 检测是否允许指定的到期模式                                           |

//+------------------------------------------------------------------+

bool IsExpirationTypeAllowed(string symbol,int exp_type)

  {

//--- 获得描述允许到期模式的属性值

   int expiration=(int)SymbolInfoInteger(symbol,SYMBOL_EXPIRATION_MODE);

//--- 如果exp_type模式被允许,返回true

   return((expiration&exp_type)==exp_type);

  }

如果SYMBOL_EXPIRATION_MODE属性被设置在SYMBOL_EXPIRATION_GTC (有效直至被取消),挂单以及止损/止盈订单的到期时间应该使用ENUM_SYMBOL_ORDER_GTC_MODE枚举额外设置。

ENUM_SYMBOL_ORDER_GTC_MODE

标识符 描述
SYMBOL_ORDERS_GTC 挂单和止损/止盈水平永久有效,直至被明确取消
SYMBOL_ORDERS_DAILY 订单在一个交易日内有效。交易日结束,删除所有止损和止盈水平以及挂单。
SYMBOL_ORDERS_DAILY_EXCLUDING_STOPS 交易日变化时,只删除挂单,保留止损和止盈水平。

发送订单时,我们可以指定订单中设置的交易量的成交指令。表中指定了每个交易品种可能的基于交易量的订单执行选项。可以通过标识组合为每个交易品种设置多种模式。标识组合由逻辑OR (|)运算表示,例如SYMBOL_FILLING_FOK|SYMBOL_FILLING_IOC。要检查交易品种是否允许特定模式,对比逻辑AND (&)结果与模式标识 - 例如

成交指令 ID 描述
全数执行或立即取消 SYMBOL_FILLING_FOK 1 订单只能按照指定的交易量执行。   如果金融产品的必要数额目前在市场上不能满足,则该订单将不会被执行。所需交易量可以由几个可用报价组成。   当发送订单时,应该为该指令指定ORDER_FILLING_FOK成交类型。   由交易服务器确定使用FOK订单的可能性。
立即或取消 SYMBOL_FILLING_IOC 2 交易者同意按照订单中指定的场内最大交易量执行成交。如果不能完全成交,则将执行可用交易量的订单,并取消其余交易量。   当发送订单时,应该为该指令指定ORDER_FILLING_IOC成交类型。   由交易服务器确定使用IOC订单的可能性。
被动 SYMBOL_FILLING_BOC 4 BOC(预订或取消)策略假设订单只能在市场深度下单,不能立即执行。如果订单可以在下单后立即执行,则取消订单。   事实上,只有在所下订单的价格不及当前市场价格时,才能指定此执行策略。BoC订单用于实施被动交易,因此订单在下单时不会立即执行,也不会影响当前的流动性。   仅支持限价单和止损限价单,即 SYMBOL_ORDER_MODE标识应包含SYMBOL_ORDER_LIMIT和/或SYMBOL_ORDER_STOP_LIMIT值。
返回 无标识符   如果部分成交,则市价单或限价单剩余交易量不会取消,会进一步处理。   当发送订单时,应该为该指令指定ORDER_FILLING_RETURN成交类型。   在市价执行模式下不允许返回订单(市价执行 — SYMBOL_TRADE_EXECUTION_MARKET)。

当使用OrderSend()函数发送交易请求时,所需的交易量执行指令可以在type_filling字段中设置,即在特殊的MqlTradeRequest结构中设置。可以使用ENUM_ORDER_TYPE_FILLING枚举值。如果没有指定成交类型,则在交易请求中自动设置ORDER_FILLING_RETURN。除了“市价执行”(SYMBOL_TRADE_EXECUTION_MARKET)外,将在任何执行模式中启用ORDER_FILLING_RETURN成交类型。

在当前时间(有效时间)发送执行交易请求时,我们应该记住金融市场并不能保证某一交易品种可以期望的价格获得所需的全部交易量。因此,实时交易操作通过价格和交易量执行模式进行管理。模式或执行指令定义了价格改变或请求交易量不能在此刻完全满足的情况下的规则。

执行模式 描述 ENUM_SYMBOL_TRADE_EXECUTION中的值
执行模式   (请求执行) 以之前从交易商接收的价格执行市价单。   订单发送之前,从经纪商处请求提供某个市价订单的价格。在收到价格后,按给定价格执行的订单可以被确认或被回绝。 SYMBOL_TRADE_EXECUTION_REQUEST
现价执行   (Instant Execution) 立即以指定价格执行市价单。   当发送要执行的交易请求时,平台会自动将当前价格添加到订单中。
  • 如果交易商接受该价格,则订单执行。
  • 如果交易商不接受请求价格,则发送"Requote"(重报价) — 交易商订单可执行的价格。
SYMBOL_TRADE_EXECUTION_INSTANT
市价执行   (Market Execution) 交易商不需要与交易者进行额外商量就可以决定订单执行价格。   以这种模式发送订单意味着事先同意以这个价格执行。 SYMBOL_TRADE_EXECUTION_MARKET
交易所执行   (Exchange Execution) 交易操作以当前市场报价执行。 SYMBOL_TRADE_EXECUTION_EXCHANGE

在发送当前执行时间的订单之前,为了正确设置ORDER_TYPE_FILLING值(交易量执行类型),您可以使用SymbolInfoInteger()函数(每个交易品种)来获取 SYMBOL_FILLING_MODE属性值,将交易品种允许的交易量执行类型显示为标识组合。除了“市价执行”模式(SYMBOL_TRADE_EXECUTION_MARKET)外,将一直启用ORDER_FILLING_RETURN成交类型。

根据执行模式使用的成交类型可以如下表所示:

执行类型/成交指令类型 Fill or Kill (FOK ORDER_FILLING_FOK) Immediate or Cancel (IOC ORDER_FILLING_IOC) Return (Return ORDER_FILLING_RETURN)
现价执行   (SYMBOL_TRADE_EXECUTION_INSTANT) + (无论交易品种如何设置) + (无论交易品种如何设置) + (始终)
请求执行   SYMBOL_TRADE_EXECUTION_REQUEST + (无论交易品种如何设置)   + (无论交易品种如何设置) + (始终)
市价执行   SYMBOL_TRADE_EXECUTION_MARKET + (在交易品种设置中设置) + (在交易品种设置中设置) - (无论交易品种如何设置,请禁用)
交易所执行   SYMBOL_TRADE_EXECUTION_EXCHANGE + (在交易品种设置中设置) + (在交易品种设置中设置) + (始终)

挂单情况下,无论执行类型(SYMBOL_TRADE_EXEMODE)如何,都应该使用ORDER_FILLING_RETURN成交类型,因为这类订单不会在发送时执行。使用挂单时,交易者事先同意,当满足此订单的交易条件时,交易商将使用交易所支持的成交类型。

例如:

//+------------------------------------------------------------------+

//| 检查是否允许给定的成交模式                                           |

//+------------------------------------------------------------------+

bool IsFillingTypeAllowed(string symbol,int fill_type)

  {

//--- 获取描述成交模式的属性值

   int filling=(int)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);

//--- 如果允许fill_type模式,则返回'true'

   return((filling&fill_type)==fill_type);

  }

当使用OrderSend() 函数发送交易请求 时,来自ENUM_ORDER_TYPE 枚举 的订单类型应该被指定一些操作。不是所有的订单类型都可以允许指定交易品种。SYMBOL_ORDER_MODE 属性描述了允许的订单类型的标识。

标识符 描述
SYMBOL_ORDER_MARKET 1 允许市价单(买入和卖出)
SYMBOL_ORDER_LIMIT 2 允许限价单(买入限价和卖出限价)
SYMBOL_ORDER_STOP 4 允许止损订单(买入止损和卖出止损)
SYMBOL_ORDER_STOP_LIMIT 8 允许止损限价订单(买入止损限价和卖出止损限价)
SYMBOL_ORDER_SL 16/ 允许止损
SYMBOL_ORDER_TP 32 允许获利
SYMBOL_ORDER_CLOSEBY 64 Close By 操作权限,例如,通过相同工具但方向相反的另一个持仓来平仓。该属性是为锁仓账户系统的账户而设置(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)

例如:

//+------------------------------------------------------------------+

//| 该函数打印出交易品种允许的订单类型                                       |

//+------------------------------------------------------------------+

void Check_SYMBOL_ORDER_MODE(string symbol)

  {

//--- 接收描述允许订单类型的属性的值

   int symbol_order_mode=(int)SymbolInfoInteger(symbol,SYMBOL_ORDER_MODE);

//--- 检查市价单(市场执行)

   if((SYMBOL_ORDER_MARKET&symbol_order_mode)==SYMBOL_ORDER_MARKET)

      Print(symbol+": Market orders are allowed (Buy and Sell)");

//--- 检查限价单

   if((SYMBOL_ORDER_LIMIT&symbol_order_mode)==SYMBOL_ORDER_LIMIT)

      Print(symbol+": Buy Limit and Sell Limit orders are allowed");

//--- 检查止损单

   if((SYMBOL_ORDER_STOP&symbol_order_mode)==SYMBOL_ORDER_STOP)

      Print(symbol+": Buy Stop and Sell Stop orders are allowed");

//--- 检查止损限价订单

   if((SYMBOL_ORDER_STOP_LIMIT&symbol_order_mode)==SYMBOL_ORDER_STOP_LIMIT)

      Print(symbol+": Buy Stop Limit and Sell Stop Limit orders are allowed");

//--- 检查是否允许下止损订单

   if((SYMBOL_ORDER_SL&symbol_order_mode)==SYMBOL_ORDER_SL)

      Print(symbol+": Stop Loss orders are allowed");

//--- 检查是否允许下获利订单

   if((SYMBOL_ORDER_TP&symbol_order_mode)==SYMBOL_ORDER_TP)

      Print(symbol+": Take Profit orders are allowed");

//--- 检查是否允许反向平仓

   if((SYMBOL_ORDER_TP&symbol_order_mode)==SYMBOL_ORDER_CLOSEBY)

      Print(symbol+": Close by allowed");

//---

  }

为计算交易品种的预付款规定额,使用The ENUM_SYMBOL_CALC_MODE项目获取信息。

ENUM_SYMBOL_CALC_MODE

标识符 描述 公式
SYMBOL_CALC_MODE_FOREX 外汇模式—计算盈利和预付款 预付款: Lots * Contract_Size / Leverage Contract_Size / Leverage * Margin_Rate   利润: (close_price - open_price) * Contract_Size * Lots
SYMBOL_CALC_MODE_FOREX_NO_LEVERAGE 外汇无杠杆模式 — 不考虑杠杆作用的情况下来计算外汇交易品种的利润和预付款 预付款:Lots * Contract_Size * Margin_Rate   利润:(close_price - open_price) * Contract_Size * Lots
SYMBOL_CALC_MODE_FUTURES 期货模式—计算预付款和盈利 预付款: Lots * InitialMargin * Margin_Rate   利润: (close_price - open_price) * TickPrice / TickSize * Lots
SYMBOL_CALC_MODE_CFD CFD模式—计算预付款和盈利 预付款: Lots * ContractSize * MarketPrice * Margin_Rate   盈利: (close_price - open_price) * Contract_Size * Lots
SYMBOL_CALC_MODE_CFDINDEX CFD指数模式—通过指数计算预付款和盈利 预付款: (Lots * ContractSize * MarketPrice) * TickPrice / TickSize * Margin_Rate   盈利: (close_price - open_price) * Contract_Size * Lots
SYMBOL_CALC_MODE_CFDLEVERAGE CFD杠杆模式—通过杠杆贸易计算预付款和盈利 预付款:(Lots * ContractSize * MarketPrice) / Leverage * Margin_Rate   盈利: (close_price - open_price) * Contract_Size * Lots
SYMBOL_CALC_MODE_EXCH_STOCKS 交换模式 – 计算股票交易中,交易证券的预付款和赢利 预付款:Lots * ContractSize * LastPrice * Margin_Rate   盈利:(close_price - open_price) * Contract_Size * Lots
SYMBOL_CALC_MODE_EXCH_FUTURES 期货模式 –  计算股票交易中,交易期货合约的预付款和赢利 预付款:Lots * InitialMargin or Lots * MaintenanceMargin * Margin_Rate   盈利: (close_price - open_price) * Lots*TickPrice / TickSize
SYMBOL_CALC_MODE_EXCH_FUTURES_FORTS 期货期权模式 –  计算期权交易中,交易期货合约的预付款和赢利。根据以下规则,预付款可能会因MarginDiscount 偏差的数额而减少: 1. 如果买入持仓的价格(买入订单)少于预估价格,MarginDiscount = Lots*((PriceSettle-PriceOrder)*TickPrice/TickSize) 2. 如果卖出持仓的价格(卖出订单)超过预估价格,MarginDiscount = Lots*((PriceOrder-PriceSettle)*TickPrice/TickSize) 在这里:
    • PriceSettle – 前一交易日的预估价格(清算);
    • PriceOrder – 订单(请求)中设置的加权平均持仓价格或持仓价格;
    • TickPrice – 订单价(成本价格的点变化)
    • TickSize – 订单大小(最低价格变化的步骤)
预付款:Lots * InitialMargin or Lots * MaintenanceMargin * Margin_Rate   盈利: (close_price - open_price) * Lots * TickPrice / TickSize
SYMBOL_CALC_MODE_EXCH_BONDS 交易所债券模式 – 为在股票交易所交易债券计算预付款和盈利 预付款:Lots * ContractSize * FaceValue * open_price * /100   盈利:Lots * close_price * FaceValue * Contract_Size  + AccruedInterest * Lots * ContractSize
SYMBOL_CALC_MODE_EXCH_STOCKS_MOEX 交易所股票模式(MOEX) – 为在MOEX交易证券计算预付款和盈利 预付款:Lots * ContractSize * LastPrice * Margin_Rate   盈利:(close_price - open_price) * Contract_Size * Lots
SYMBOL_CALC_MODE_EXCH_BONDS_MOEX 交易所债券模式(MOEX) – 为在MOEX交易债券计算预付款和盈利 预付款:Lots * ContractSize * FaceValue * open_price * /100   盈利:Lots * close_price * FaceValue * Contract_Size  + AccruedInterest * Lots * ContractSize
SYMBOL_CALC_MODE_SERV_COLLATERAL 担保模式 - 在交易账户中使用交易品种作为非交易资产。持仓的市值根据交易量,当前市价,合约大小和流动比率进行计算。价值包括在资产中,被加入到净值。这种交易品种的持仓提高了可用预付款的数额,并用作可交易工具持仓的额外预付款(担保)。 预付款: no 利润:  no   市值:Lots*ContractSize * MarketPrice * LiqudityRate

交易品种有许多种交易方式,某一交易品种的交易方式信息反映在ENUM_SYMBOL_TRADE_MODE枚举值中。

ENUM_SYMBOL_TRADE_MODE

标识符 描述
SYMBOL_TRADE_MODE_DISABLED 交易品种禁止交易
SYMBOL_TRADE_MODE_LONGONLY 仅允许买入持仓
SYMBOL_TRADE_MODE_SHORTONLY 仅允许卖出持仓
SYMBOL_TRADE_MODE_CLOSEONLY 仅允许平仓操作
SYMBOL_TRADE_MODE_FULL 没有交易限制

ENUM_SYMBOL_TRADE_EXECUTION枚举中定义每一个交易品种的可能的订单执行方式

ENUM_SYMBOL_TRADE_EXECUTION

标识符 描述
SYMBOL_TRADE_EXECUTION_REQUEST 请求执行
SYMBOL_TRADE_EXECUTION_INSTANT 立即执行
SYMBOL_TRADE_EXECUTION_MARKET 市价执行
SYMBOL_TRADE_EXECUTION_EXCHANGE 交换执行

在枚举ENUM_SYMBOL_SWAP_MODE中指定的仓位转移利息计算方式。利息计算方式决定了 SYMBOL_SWAP_LONGSYMBOL_SWAP_SHORT 参数的测量单位。例如,如果客户入金货币收取利息,那么那些参数的值则指定为客户入金货币的金额。

ENUM_SYMBOL_SWAP_MODE

标识符 描述
SYMBOL_SWAP_MODE_DISABLED 禁用利息(无利息)
SYMBOL_SWAP_MODE_POINTS 以点数收取利息
SYMBOL_SWAP_MODE_CURRENCY_SYMBOL 以交易品种基础货币的钱数收取利息
SYMBOL_SWAP_MODE_CURRENCY_MARGIN 以交易品种预付款货币的钱数收取利息
SYMBOL_SWAP_MODE_CURRENCY_DEPOSIT 以客户入金货币的钱数收取利息
SYMBOL_SWAP_MODE_INTEREST_CURRENT 利息作为指定的年利息,从计算利息的工具价格收取(标准银行年是360天)
SYMBOL_SWAP_MODE_INTEREST_OPEN 利息作为指定的年利息,从持仓的开盘价格收取 (标准银行年是360天)
SYMBOL_SWAP_MODE_REOPEN_CURRENT 重新持仓收取利息。交易日结束,平仓。第二天以收盘价 +/- 指定点数 (参数 SYMBOL_SWAP_LONG 和SYMBOL_SWAP_SHORT)重新持仓
SYMBOL_SWAP_MODE_REOPEN_BID 重新持仓收取利息。交易日结束,平仓。第二天以当前卖价 +/- 指定点数 (参数 SYMBOL_SWAP_LONG 和 SYMBOL_SWAP_SHORT)重新持仓

使用ENUM_DAY_OF_WEEK枚举值描述工作日

ENUM_DAY_OF_WEEK

标识符 描述
SUNDAY 星期日
MONDAY 星期一
TUESDAY 星期二
WEDNESDAY 星期三
THURSDAY 星期四
FRIDAY 星期五
SATURDAY 星期六

期权是一份合约,给予的是权限,而非责任,为了在指定价格或在特定日期前买入或出售基础资产(商品,股票,期货等等)。以下枚举描述了期权的属性,包括期权类型和由其产生的权限。  

ENUM_SYMBOL_OPTION_RIGHT

标识符 描述
SYMBOL_OPTION_RIGHT_CALL 看涨期权就是提供给您在指定价格购买资产的权限
SYMBOL_OPTION_RIGHT_PUT 看跌期权就是提供给您在特定价格出售资产的权限

ENUM_SYMBOL_OPTION_MODE

标识符 描述
SYMBOL_OPTION_MODE_EUROPEAN 欧式期权可能只能在特定日期行使 (到期,执行日期,交付日期)
SYMBOL_OPTION_MODE_AMERICAN 美式期权可以在任何交易日或到期之前行使。在指定周期买家可以行使期权

交易品种按照经济部门进行分类。经济部门是经济活动的一部分,具有特定的特征、经济目标、功能和行为,可以使该部门与经济的其他部分分开。ENUM_SYMBOL_SECTOR列出交易品种可能所属的经济部门。

ENUM_SYMBOL_SECTOR

ID 描述
SECTOR_UNDEFINED 未定义
SECTOR_BASIC_MATERIALS 基本材料
SECTOR_COMMUNICATION_SERVICES 通讯服务
SECTOR_CONSUMER_CYCLICAL 消费类周期性
SECTOR_CONSUMER_DEFENSIVE 消费防御
SECTOR_CURRENCY 货币
SECTOR_CURRENCY_CRYPTO 数字加密货币
SECTOR_ENERGY 能源
SECTOR_FINANCIAL 财务
SECTOR_HEALTHCARE 医疗保健
SECTOR_INDUSTRIALS 工业
SECTOR_REAL_ESTATE 房地产
SECTOR_TECHNOLOGY 技术
SECTOR_UTILITIES 公用事业

可以将每个交易品种分配到特定类型的行业或经济分支。工业是经济的一个分支,生产一组紧密相关的原材料、商品或服务。ENUM_SYMBOL_INDUSTRY列出交易品种可能所属的行业。

ENUM_SYMBOL_INDUSTRY

ID 描述
INDUSTRY_UNDEFINED 0 未定义
基本材料
INDUSTRY_AGRICULTURAL_INPUTS 1 农业投入
INDUSTRY_ALUMINIUM 2
INDUSTRY_BUILDING_MATERIALS 3 建筑材料
INDUSTRY_CHEMICALS 4 化学制品
INDUSTRY_COKING_COAL 5 焦煤
INDUSTRY_COPPER 6
INDUSTRY_GOLD 7 黄金
INDUSTRY_LUMBER_WOOD 8 木材和木材生产
INDUSTRY_INDUSTRIAL_METALS 9 其他工业金属和矿业
INDUSTRY_PRECIOUS_METALS 10 其他贵金属和矿业
INDUSTRY_PAPER 11 造纸及纸制品
INDUSTRY_SILVER 12 白银
INDUSTRY_SPECIALTY_CHEMICALS 13 特种化学品
INDUSTRY_STEEL 14 钢铁
通讯服务
INDUSTRY_ADVERTISING 51 广告代理
INDUSTRY_BROADCASTING 52 广播
INDUSTRY_GAMING_MULTIMEDIA 53 电子游戏和多媒体
INDUSTRY_ENTERTAINMENT 54 娱乐
INDUSTRY_INTERNET_CONTENT 55 互联网内容和信息
INDUSTRY_PUBLISHING 56 出版
INDUSTRY_TELECOM 57 电信服务
消费类周期性
INDUSTRY_APPAREL_MANUFACTURING 101 服装制造业
INDUSTRY_APPAREL_RETAIL 102 服装零售
INDUSTRY_AUTO_MANUFACTURERS 103 汽车制造商
INDUSTRY_AUTO_PARTS 104 汽车零部件
INDUSTRY_AUTO_DEALERSHIP 105 汽车及卡车经销商
INDUSTRY_DEPARTMENT_STORES 106 百货商店
INDUSTRY_FOOTWEAR_ACCESSORIES 107 鞋类及配件
INDUSTRY_FURNISHINGS 108 家具、固定资产和家用电器
INDUSTRY_GAMBLING 109 赌博
INDUSTRY_HOME_IMPROV_RETAIL 110 家居装修零售
INDUSTRY_INTERNET_RETAIL 111 互联网零售
INDUSTRY_LEISURE 112 休闲娱乐
INDUSTRY_LODGING 113 住宿
INDUSTRY_LUXURY_GOODS 114 奢侈品
INDUSTRY_PACKAGING_CONTAINERS 115 包装和容器
INDUSTRY_PERSONAL_SERVICES 116 个人服务
INDUSTRY_RECREATIONAL_VEHICLES 117 旅游车
INDUSTRY_RESIDENT_CONSTRUCTION 118 住宅建筑
INDUSTRY_RESORTS_CASINOS 119 度假村和赌场
INDUSTRY_RESTAURANTS 120 餐厅
INDUSTRY_SPECIALTY_RETAIL 121 特色零售业
INDUSTRY_TEXTILE_MANUFACTURING 122 纺织制造业
INDUSTRY_TRAVEL_SERVICES 123 旅游服务业
消费防御
INDUSTRY_BEVERAGES_BREWERS 151 饮料 - 啤酒
INDUSTRY_BEVERAGES_NON_ALCO 152 饮料 - 非酒精饮料
INDUSTRY_BEVERAGES_WINERIES 153 饮料 - 葡萄酒厂和酿酒厂
INDUSTRY_CONFECTIONERS 154 糖果店
INDUSTRY_DISCOUNT_STORES 155 折扣店
INDUSTRY_EDUCATION_TRAINIG 156 教育和培训服务
INDUSTRY_FARM_PRODUCTS 157 农产品
INDUSTRY_FOOD_DISTRIBUTION 158 食品分配
INDUSTRY_GROCERY_STORES 159 杂货店
INDUSTRY_HOUSEHOLD_PRODUCTS 160 家庭及个人用品
INDUSTRY_PACKAGED_FOODS 161 包装食品
INDUSTRY_TOBACCO 162 烟草
能源
INDUSTRY_OIL_GAS_DRILLING 201 油气钻井
INDUSTRY_OIL_GAS_EP 202 石油和天然气的开采和加工
INDUSTRY_OIL_GAS_EQUIPMENT 203 油气设备与服务
INDUSTRY_OIL_GAS_INTEGRATED 204 油气一体化
INDUSTRY_OIL_GAS_MIDSTREAM 205 油气中游
INDUSTRY_OIL_GAS_REFINING 206 油气炼制与营销
INDUSTRY_THERMAL_COAL 207 热能煤
INDUSTRY_URANIUM 208
财务
INDUSTRY_EXCHANGE_TRADED_FUND 251 交易所买卖基金
INDUSTRY_ASSETS_MANAGEMENT 252 资产管理
INDUSTRY_BANKS_DIVERSIFIED 253 银行 - 全国银行
INDUSTRY_BANKS_REGIONAL 254 银行 - 地方银行
INDUSTRY_CAPITAL_MARKETS 255 资本市场
INDUSTRY_CLOSE_END_FUND_DEBT 256 封闭式基金 - 债务
INDUSTRY_CLOSE_END_FUND_EQUITY 257 封闭式基金 - 股票类
INDUSTRY_CLOSE_END_FUND_FOREIGN 258 封闭式基金 - 外国
INDUSTRY_CREDIT_SERVICES 259 信贷服务
INDUSTRY_FINANCIAL_CONGLOMERATE 260 金融集团
INDUSTRY_FINANCIAL_DATA_EXCHANGE 261 财务数据和证券交易所
INDUSTRY_INSURANCE_BROKERS 262 保险经纪人
INDUSTRY_INSURANCE_DIVERSIFIED 263 保险 - 综合险
INDUSTRY_INSURANCE_LIFE 264 保险 - 寿险
INDUSTRY_INSURANCE_PROPERTY 265 保险 - 财产险和意外险
INDUSTRY_INSURANCE_REINSURANCE 266 保险 - 再保险
INDUSTRY_INSURANCE_SPECIALTY 267 保险 - 专业
INDUSTRY_MORTGAGE_FINANCE 268 按揭贷款
INDUSTRY_SHELL_COMPANIES 269 空壳公司
医疗保健
INDUSTRY_BIOTECHNOLOGY 301 生物技术
INDUSTRY_DIAGNOSTICS_RESEARCH 302 诊断与研究
INDUSTRY_DRUGS_MANUFACTURERS 303 药品制造商 - 普通
INDUSTRY_DRUGS_MANUFACTURERS_SPEC 304 药品制造商 - 专业和通用
INDUSTRY_HEALTHCARE_PLANS 305 医疗保健计划
INDUSTRY_HEALTH_INFORMATION 306 健康信息服务
INDUSTRY_MEDICAL_FACILITIES 307 医疗保健设施
INDUSTRY_MEDICAL_DEVICES 308 医疗设备
INDUSTRY_MEDICAL_DISTRIBUTION 309 医疗分配
INDUSTRY_MEDICAL_INSTRUMENTS 310 医疗器械和用品
INDUSTRY_PHARM_RETAILERS 311 药品零售商
工业
INDUSTRY_AEROSPACE_DEFENSE 351 航空航天与国防
INDUSTRY_AIRLINES 352 航空公司
INDUSTRY_AIRPORTS_SERVICES 353 机场和航空服务
INDUSTRY_BUILDING_PRODUCTS 354 建筑产品及设备
INDUSTRY_BUSINESS_EQUIPMENT 355 商业设备及用品
INDUSTRY_CONGLOMERATES 356 企业集团
INDUSTRY_CONSULTING_SERVICES 357 咨询服务
INDUSTRY_ELECTRICAL_EQUIPMENT 358 电气设备及零件
INDUSTRY_ENGINEERING_CONSTRUCTION 359 工程建设
INDUSTRY_FARM_HEAVY_MACHINERY 360 农用重型工程机械
INDUSTRY_INDUSTRIAL_DISTRIBUTION 361 产业分布
INDUSTRY_INFRASTRUCTURE_OPERATIONS 362 基础设施运营
INDUSTRY_FREIGHT_LOGISTICS 363 综合货运与物流
INDUSTRY_MARINE_SHIPPING 364 海运
INDUSTRY_METAL_FABRICATION 365 金属加工
INDUSTRY_POLLUTION_CONTROL 366 污染与处理控制
INDUSTRY_RAILROADS 367 铁路
INDUSTRY_RENTAL_LEASING 368 租赁服务
INDUSTRY_SECURITY_PROTECTION 369 安全防护服务
INDUSTRY_SPEALITY_BUSINESS_SERVICES 370 特色商务服务
INDUSTRY_SPEALITY_MACHINERY 371 特种工业机械
INDUSTRY_STUFFING_EMPLOYMENT 372 原料和就业服务
INDUSTRY_TOOLS_ACCESSORIES 373 工具和配件
INDUSTRY_TRUCKING 374 货车运输
INDUSTRY_WASTE_MANAGEMENT 375 垃圾管理
房地产
INDUSTRY_REAL_ESTATE_DEVELOPMENT 401 房地产 - 开发
INDUSTRY_REAL_ESTATE_DIVERSIFIED 402 房地产 - 多元化
INDUSTRY_REAL_ESTATE_SERVICES 403 房地产服务
INDUSTRY_REIT_DIVERSIFIED 404 REIT(房地产投资信托) - 多元化
INDUSTRY_REIT_HEALTCARE 405 REIT(房地产投资信托) - 医疗保健
INDUSTRY_REIT_HOTEL_MOTEL 406 REIT(房地产投资信托) - 酒店和汽车旅馆
INDUSTRY_REIT_INDUSTRIAL 407 REIT(房地产投资信托)- 工业
INDUSTRY_REIT_MORTAGE 408 REIT(房地产投资信托) - 抵押
INDUSTRY_REIT_OFFICE 409 REIT(房地产投资信托) - 办公室
INDUSTRY_REIT_RESIDENTAL 410 REIT(房地产投资信托) - 住宅
INDUSTRY_REIT_RETAIL 411 REIT(房地产投资信托) - 零售
INDUSTRY_REIT_SPECIALITY 412 REIT(房地产投资信托) - 专业
技术
INDUSTRY_COMMUNICATION_EQUIPMENT 451 通讯设备
INDUSTRY_COMPUTER_HARDWARE 452 计算机硬件
INDUSTRY_CONSUMER_ELECTRONICS 453 家用电子产品
INDUSTRY_ELECTRONIC_COMPONENTS 454 电子元器件
INDUSTRY_ELECTRONIC_DISTRIBUTION 455 电子与计算机分销
INDUSTRY_IT_SERVICES 456 信息技术服务
INDUSTRY_SCIENTIFIC_INSTRUMENTS 457 科技仪器
INDUSTRY_SEMICONDUCTOR_EQUIPMENT 458 半导体设备与材料
INDUSTRY_SEMICONDUCTORS 459 半导体
INDUSTRY_SOFTWARE_APPLICATION 460 软件 - 应用
INDUSTRY_SOFTWARE_INFRASTRUCTURE 461 软件 - 基础架构
INDUSTRY_SOLAR 462 太阳能
公用事业
INDUSTRY_UTILITIES_DIVERSIFIED 501 公用事业 - 多元化
INDUSTRY_UTILITIES_POWERPRODUCERS 502 公用事业 - 独立电力生产商
INDUSTRY_UTILITIES_RENEWABLE 503 公用事业 - 可再生能源
INDUSTRY_UTILITIES_REGULATED_ELECTRIC 504 公用事业 - 调节电
INDUSTRY_UTILITIES_REGULATED_GAS 505 公用事业 - 调节气
INDUSTRY_UTILITIES_REGULATED_WATER 506 公用事业 - 调节水
INDUSTRY_UTILITIES_FIRST 501 启动公用事业服务类型枚举。对应于INDUSTRY_UTILITIES_DIVERSIFIED。
INDUSTRY_UTILITIES_LAST 506 公用事业服务类型枚举结束。对应于INDUSTRY_UTILITIES_REGULATED_WATER。