- EA 交易的主要事件:OnTick
- 基本原理和概念:订单、交易和仓位
- 交易操作类型
- 订单类型
- 按价格和数量划分的订单执行模式
- 挂单到期日期
- 期货订单的保证金计算方法:OrderCalcMargin
- 估算交易操作的利润:OrderCalcProfit
- MqlTradeRequest 结构体
- MqlTradeCheckResult 结构体
- 请求验证:OrderCheck
- 请求发送结果:MqlTradeResult 结构体
- 发送交易请求:OrderSend 和 OrderSendAsync
- 买入和卖出操作
- 修改仓位的止损和/或止盈水平
- 跟踪止损
- 平仓:全部和部分
- 反向平仓:全部和部分
- 挂单
- 修改挂单
- 删除挂单
- 获取活动订单列表
- 订单特性(现行和历史)
- 用于读取活动订单特性的函数
- 按特性选择订单
- 获取仓位列表
- 仓位特性
- 用于读取仓位特性的函数
- 交易特性
- 从历史中选择订单和交易
- 用于从历史中读取订单特性的函数
- 用于从历史中读取交易特性的函数
- 交易类型
- OnTradeTransaction 事件
- 同步和异步请求
- OnTrade 事件
- 监测交易环境变化
- 创建多交易品种 EA 交易
- EA 交易的优势和局限性
- 在 MQL 向导中创建 EA 交易
EA 交易的优势和局限性
由于 EA 交易进行某些特定操作,因此存在一定的局限性,但相比其他类型 MQL 程序也有一些优势。特别是,所有用于指标的函数在 EA 交易中都被禁用了:
- SetIndexBuffer
- IndicatorSetDouble
- IndicatorSetInteger
- IndicatorSetString
- PlotIndexSetDouble
- PlotIndexSetInteger
- PlotIndexSetString
- PlotIndexGetInteger
此外,EA 交易不应描述通常为其他类型程序特有的事件处理程序:OnStart(脚本和服务)和 OnCalculate(指标)。
与指标不同,每个图表上只能设置一个 EA 交易。
同时,EA 交易是唯一一种除了可以进行测试(我们已经对指标和 EA 交易进行了测试),还可以进行优化的 MQL 程序。优化程序允许根据各种标准(包括交易和抽象数学标准),找到最佳输入参数。出于这些目的,API 包含了额外的一些函数和几个特定的事件处理程序。我们将在下一章学习这方面的内容。
此外,EA 交易(以及脚本和服务,即除指标之外的所有类型的程序)可以使用多组内置 MQL5 函数,用于在套接字级别和各种互联网协议(HTTP、FTP 和 SMTP)下使用网络。我们将在本书的第七部分讨论这些内容。