该 EA 不生成独立的交易, 它仅是个 "帮手", 设计用来控制持仓状态。该 EA 是 有关事件处理的文章中描述的一类 EA 的简化变种, 不同之处是使用 OnTradeTransaction() 函数, 并且可对触发止损和止盈进行处理。
该 EA 还可以根据 正确的相应配置发送电子邮件。如果客户端禁止发送电子邮件, 则 EA 将输出警报。有几个重要的时刻:
- 修改和删除订单不处理, 只有开仓, 反转和平仓。
- 通过交易商的注释抓取触发止损和止盈。但如果交易商更改了省缺的注释, 仅显示平仓信息和财务结果的信息。
- 为了显示其它语言, 您需要写一个翻译文件。更多详情请参阅 这里。
- 功能很容易集成到任意外部 EA (复制参数, 将代码加入 OnInit() 函数和相应函数即可)。
设置:
- 下载 PositionsChangeInformer.mq5 EA 文件到文件夹 "MetaTrader 5\MQL5\Experts"。
- 下载 LanguagesEnum.mqh 和 Translator.mqh 文件到 "MetaTrader 5\MQL5\Include" 文件夹。
- 展开存档和语言文件到 "MetaTrader 5\MQL5\Files\Languages" 文件夹。
参数:
- Alert type - 当交易成交到达时的报警类型。有三个变种: Alert - 报警, Sound - 触发时的声音文件和显示有关的成交日志信息, Email - 发送有关成交信息的电子邮件。
- 声音文件名 - 声音文件的名称。它只在前面的参数等于声音时才有意义。它可以触发任何位于 MetaTrader 5\MQL5\Files 文件夹的 wav 格式文件。如果文件夹中没有文件, 自 MetaTrader 5\Sounds 文件夹中的 alert.wav 文件将会被触发。
- 语言 - 生成消息的语言翻译。仅有一个俄语文件可以使用, 它的消息可以显示为俄语或英语 (若无俄语的情况下, 其它任意语言将会被选择)。
这是日志中的结果 (输出语言参数同时改变):
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/1512