欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

TypePendingOrderTriggered - MetaTrader 5 专家

author emer | 598 人阅读 | 0 人评论 |

EA 交易展示了如何解决以下问题的示例: 如何判断挂单触发的时刻?

专家顾问如何工作:在 网上交易() 函数,我们等待类型为“的交易TRADE_TRANSACTION_DEAL_ADD”:

TRADE_TRANSACTION_DEAL_ADD

将交易添加到历史中。它是作为订单执行或账户余额操作的结果而执行的

一旦我们“捕捉”到这样的交易,我们立即使用“bln_find_order”标志搜索订单并将订单票分配给“ul_find_order”变量

//+------------------------------------------------------------------+
//| TradeTransaction 函数                                       |
//+------------------------------------------------------------------+
空白 网上交易常量 MqlTrade事务&反式,
                        常量 Mql交易请求&要求,
                        常量 Mql交易结果&结果)
  {//+------------------------------------------------------------------+
//| TRADE_TRANSACTION_DEAL_*                                         |
//| MqlTradeTransaction 结构中的以下字段            |
//|填写与交易处理相关的贸易交易      |
//| (TRADE_TRANSACTION_DEAL_ADD、TRADE_TRANSACTION_DEAL_UPDATE       |
//|和 TRADE_TRANSACTION_DEAL_DELETE):                              |
//|  •deal - 交易单;                                            |
//|  •订单 - 订单票,基于其执行交易;|
//|  •symbol - 交易品种名称;                                     |
//|  •type——贸易交易类型;                                 |
//|  •deal_type - 交易类型;                                         |
//|  •价格-交易价格;                                            |
//|  •price_sl - 止损价格(已填充,如果在订单中指定,|
//|  • 已执行交易的依据);                     |
//|  •price_tp - 止盈价(已指定,则已填写             |
//|   按照交易执行的顺序);       |
//|  •volume - 交易量(以手为单位)。                                  |
//|  •position - 已开仓单,         |
//|   由于交易执行而修改或关闭。              |
//|  •position_by - 相对位置的票据。             |
//|   它仅由交易填充                         |
//|   (由相反的平仓)。                       |
//+------------------------------------------------------------------+
//--- 获取交易类型作为枚举值  ENUM_TRADE_TRANSACTION_TYPE类型=反式.类型;//--- 如果交易是添加历史交易的结果  如果(类型==TRADE_TRANSACTION_DEAL_ADD)
     {      bln_find_order=真的;                // true -> 你应该寻找订单
      ul_find_order=trans.order;     }
  }

在 OnTick() 中,我们总是检查“bln_find_order”标志的状态;一旦标志等于 true,我们就开始搜索订单。


附件下载

📎 typependingordertriggered.mq5 (10.05 KB)

Source: MQL5 #17610

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录