交易属性

一个交易反映了以订单为基础的交易操作 执行,包括交易要求。每个交易都通过属性描述来获得有关信息,为了获取属性值,使用 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

宣布分割期间拥有持仓的品种进行分割(价格降低)后执行交易

DEAL_REASON_CORPORATE_ACTION

该交易的执行源于公司行为:合并或重命名证券、将客户转移到另一个账户等