交易属性

一个交易反映了以订单为基础的交易操作 执行,包括交易要求。每个交易都通过属性描述来获得有关信息,为了获取属性值,使用 HistoryDealGet...() 函数类型,从类似项目中获得返回值。

函数 HistoryDealGetInteger()

ENUM_DEAL_PROPERTY_INTEGER

标识符 描述 类型
DEAL_TICKET 交易标签。分配到每笔交易的唯一号码 long
DEAL_ORDER 交易 订单号 long
DEAL_TIME 交易时间 datetime
DEAL_TIME_MSC 以毫秒为单位计算01.01.1970以来交易执行的时间 long
DEAL_TYPE 交易类型 ENUM_DEAL_TYPE
DEAL_ENTRY 交易条目—允许进入、允许输出、颠倒 ENUM_DEAL_ENTRY
DEAL_MAGIC 订单幻数(参见 ORDER_MAGIC long
DEAL_REASON 交易执行的原因或源 ENUM_DEAL_REASON
DEAL_POSITION_ID 仓位标识符在该交易持仓、修正或者平仓时,每个位置都有一个独特的标识符,为交易对象它被委派到所有执行订单,在全部方位使用期 long

函数 HistoryDealGetDouble()

ENUM_DEAL_PROPERTY_DOUBLE

标识符 描述 类型
DEAL_VOLUME 成交量 double
DEAL_PRICE 成交价格 double
DEAL_COMMISSION 订单佣金关 double
DEAL_SWAP 关闭的积累交换 double
DEAL_PROFIT 交易利润 double
DEAL_FEE 执行交易之后立即收取的交易费用 double
DEAL_SL 止损水平
  • 进场交易和反转交易使用原始订单中的止损值,基于该值进行开仓或反向开仓。
  • 出场交易使用平仓时持仓的止损值
双精度
DEAL_TP 止盈水平
  • 进场交易和反转交易使用原始订单中的止盈值,基于该值进行开仓或反向开仓
  • 出场交易使用平仓时持仓的止盈值
双精度

函数 HistoryDealGetString()

ENUM_DEAL_PROPERTY_STRING

标识符 描述 类型
DEAL_SYMBOL 订单交易品种 string
DEAL_COMMENT 订单佣金 string

每笔订单都具有类型特征,允许在ENUM_DEAL_TYPE中列举价值。为了获得有关订单类型的信息,使用 HistoryDealGetInteger()  函数DEAL_TYPE 修饰语。

ENUM_DEAL_TYPE

标识符 描述
DEAL_TYPE_BUY 买入
DEAL_TYPE_SELL 卖出
DEAL_TYPE_BALANCE 结算
DEAL_TYPE_CREDIT 信贷
DEAL_TYPE_CHARGE 额外金额
DEAL_TYPE_CORRECTION 修正
DEAL_TYPE_BONUS 奖金
DEAL_TYPE_COMMISSION 额外手续费
DEAL_TYPE_COMMISSION_DAILY 日手续费
DEAL_TYPE_COMMISSION_MONTHLY 月手续费
DEAL_TYPE_COMMISSION_AGENT_DAILY 日代理手续费
DEAL_TYPE_COMMISSION_AGENT_MONTHLY 月代理手续费
DEAL_TYPE_INTEREST 利率
DEAL_TYPE_BUY_CANCELED 取消的买入交易。可能会有之前执行的买入交易被取消的情况。这样的话,之前执行的交易类型 (DEAL_TYPE_BUY) 会被改为 DEAL_TYPE_BUY_CANCELED,并且其利润/亏损归零。执行获得的利润/亏损会使用单独的结余操作被收费/取款。
DEAL_TYPE_SELL_CANCELED 取消的卖出交易。可能会有之前执行的卖出交易被取消的情况。这样的话,之前执行的交易类型 (DEAL_TYPE_SELL)会被改为 DEAL_TYPE_SELL_CANCELED,并且其利润/亏损归零。执行获得的利润/亏损会使用单独的结余操作被收费/取款。
DEAL_DIVIDEND 股息操作
DEAL_DIVIDEND_FRANKED 税务减免(免税)股息操作
DEAL_TAX 税费

订单不仅与建立在ENUM_DEAL_TYPE中的类型不同,也与改变方位的方式不同,这是一个简单的位置开仓,或者先前开仓的聚集(进入市场),如果相反方向订单覆盖了先前的开仓位置成交量,通过相似成交量(退出市场)的反向订单关闭位置。

所有情况在ENUM_DEAL_ENTRY值中都有描述。为了获得订单信息,使用HistoryDealGetInteger()函数DEAL_ENTRY 修饰语。

ENUM_DEAL_ENTRY

标识符 描述
DEAL_ENTRY_IN 进入
DEAL_ENTRY_OUT 出局
DEAL_ENTRY_INOUT 反面
DEAL_ENTRY_OUT_BY 通过反向持仓来平仓

交易执行的原因包含在DEAL_REASON属性之中。触发从移动程序端或MQL5程序下的订单,以及通过StopOut事件,变动预付款计算等等可以执行交易。可能的DEAL_REASON值会在ENUM_DEAL_REASON枚举中描述。对于来自结余,信贷,手续费和其他操作的非交易成交,DEAL_REASON_CLIENT会表示为原因。

ENUM_DEAL_REASON

标识符 描述
DEAL_REASON_CLIENT 因激活桌面程序端下单的订单来执行交易
DEAL_REASON_MOBILE 因激活移动程序端下单的订单来执行交易
DEAL_REASON_WEB 因激活网页平台下单的订单来执行交易
DEAL_REASON_EXPERT 因激活从MQL5程序下单的订单来执行交易,例如EA交易或脚本
DEAL_REASON_SL 因激活止损来执行交易
DEAL_REASON_TP 因激活止赢来执行交易
DEAL_REASON_SO 因Stop Out 事件来执行交易
DEAL_REASON_ROLLOVER 因rollover 来执行交易
DEAL_REASON_VMARGIN 收取变动预付款后执行交易
DEAL_REASON_SPLIT 宣布分割期间拥有持仓的品种进行分割(价格降低)后执行交易