- EA 交易的主要事件:OnTick
- 基本原理和概念:订单、交易和仓位
- 交易操作类型
- 订单类型
- 按价格和数量划分的订单执行模式
- 挂单到期日期
- 期货订单的保证金计算方法:OrderCalcMargin
- 估算交易操作的利润:OrderCalcProfit
- MqlTradeRequest 结构体
- MqlTradeCheckResult 结构体
- 请求验证:OrderCheck
- 请求发送结果:MqlTradeResult 结构体
- 发送交易请求:OrderSend 和 OrderSendAsync
- 买入和卖出操作
- 修改仓位的止损和/或止盈水平
- 跟踪止损
- 平仓:全部和部分
- 反向平仓:全部和部分
- 挂单
- 修改挂单
- 删除挂单
- 获取活动订单列表
- 订单特性(现行和历史)
- 用于读取活动订单特性的函数
- 按特性选择订单
- 获取仓位列表
- 仓位特性
- 用于读取仓位特性的函数
- 交易特性
- 从历史中选择订单和交易
- 用于从历史中读取订单特性的函数
- 用于从历史中读取交易特性的函数
- 交易类型
- OnTradeTransaction 事件
- 同步和异步请求
- OnTrade 事件
- 监测交易环境变化
- 创建多交易品种 EA 交易
- EA 交易的优势和局限性
- 在 MQL 向导中创建 EA 交易
交易操作的类型
MQL5 中的交易是通过使用 OrderSend 函数发送订单来实现的。我们将在下面的一节中学习该含税,因为必须首先要熟悉几个概念。
第一个新概念是交易操作类型。每个交易请求都包含所请求交易类型的指示,并允许你执行不同操作,如开仓和平仓,以及下达、修改和删除挂单。ENUM_TRADE_REQUEST_ACTIONS 枚举中描述了所有类型的交易操作。
标识符 |
说明 |
---|---|
TRADE_ACTION_DEAL |
根据指定的参数下单进行即时交易(下达市场订单) |
TRADE_ACTION_PENDING |
下单在指定条件下执行交易(挂单) |
TRADE_ACTION_SLTP |
更改持仓的 Stop Loss 和 Take Profit 值 |
TRADE_ACTION_MODIFY |
更改之前下单的参数 |
TRADE_ACTION_REMOVE |
删除之前的挂单 |
TRADE_ACTION_CLOSE_BY |
通过反向持仓进行平仓 |
当请求 TRADE_ACTION_DEAL 和 TRADE_ACTION_PENDING 时,程序需要指定特定的订单类型。这是另一个在 MQL5 API 中有其自身体现的重要概念,我们将在下一节中探讨。