TypePendingOrderTriggered - MetaTrader 5 专家
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小时后评论,即可解锁附件下载
立即登录
