TradeTransaction 类 - MetaTrader 5 库


当对交易账户执行某些确定的操作时,其状态会发生变化。此类行动包括:
MQL5 中提供了特殊的 OnTradeTransaction() 处理程序,用于将交易交易应用于账户。
空白 网上交易() 常量 MqlTrade事务& 反式, // trade交易结构 常量 Mql交易请求& 要求, // 请求结构 常量 Mql交易结果& 结果 // 响应结构 );
OnTradeTransaction() 函数可用于:
OrderSendAsync() 函数专为高频交易而设计,根据交易算法的条款,浪费时间等待服务器的响应是不可接受的。
然而,使用 MQL5 中提供的默认 OnTradeTransaction() 处理程序来分析交易似乎很复杂。
贸易交易 类会将底层低级贸易交易映射到与贸易操作类型相对应的自定义处理程序。
该类有以下方法:
//+------------------------------------------------------------------+ //| CTradeTransaction 类。 | //|目的:贸易交易的基类。 | //+------------------------------------------------------------------+ 班级CTrade交易 {民众: CTrade交易(空白) { } ~CTradeTransaction(空白) { } //--- 事件处理程序 空白 网上交易(常量 MqlTrade事务&反式, 常量 Mql交易请求&要求, 常量 Mql交易结果&结果);受保护的: //--- 贸易交易 //--- 这些方法应该在派生类中重写 虚拟的 空白 已下达交易交易订单(乌龙命令) { } 虚拟的 空白 交易交易订单修改(乌龙命令) { } 虚拟的 空白 交易交易订单已删除(乌龙命令) { } 虚拟的 空白 交易交易订单已过期(乌龙命令) { } 虚拟的 空白 交易交易订单触发(乌龙命令) { } 虚拟的 空白 交易交易头寸已开(乌龙位置,乌龙交易) { } 虚拟的 空白 交易交易头寸StopTake(乌龙位置,乌龙交易) { } 虚拟的 空白 交易交易头寸已平仓(乌龙位置,乌龙交易) { } 虚拟的 空白 交易交易头寸平仓依据(乌龙位置,乌龙交易) { } 虚拟的 空白 交易交易头寸修改(乌龙位置) { } };//+------------------------------------------------------------------+ //| TradeTransaction 函数 | //+------------------------------------------------------------------+ 空白 网上交易(常量 MqlTrade事务 &反式, 常量 Mql交易请求 &要求, 常量 Mql交易结果 &结果) { //---CTradeTransaction ExtTransaction; //--- 外部事务。网上交易(传输、请求、结果); } //+----
最后这篇文章做了一个深入关于 MQL5 中贸易交易的讨论 MQL5 手册:TradeTransaction 事件的处理
https://www.mql5.com/en/articles/1111
2019.03.06 - v.1.00:初始版本。
2025.03.05 - v.1.10:修复了未捕获 STOP LIMIT 订单的问题。添加了“SetLogging”公共方法来控制将详细信息打印到“专家”日志。
附件下载
📎 tradetransaction.mqh (20.43 KB)
📎 trademonitor_ea.mq5 (9.11 KB)
Source: MQL5 #24901
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录
