本项目是为了参加MQL5最佳图形面板比赛而创建的。
项目的目的是扩展MetaTrader 5客户端终端的功能,以经济的方式利用图表空间。
该智能交易助手(EA)具有四个独立的面板,功能各异。任何面板都可以从图表中隐藏、恢复或删除(日志面板)。
演示的最低分辨率为:600x500。

注意:
该智能交易助手使用以下字体:
- Lucida Console
- Wingdings
- Wingdings 3
- Arial Black
当然,如果系统中没有这些字体,程序仍然可以运行,但设计会有所不同,某些信息可能会显示不正确。如您未安装这些字体,请及时安装。
可用字体列表在MetaTrader 5客户端终端的图形对象属性中显示。
面板
该智能交易助手有四个面板,其中三个位于主窗口中:
- 设置面板
- 控制面板
- 信息面板
最后一个面板(日志面板)位于独立子窗口中,可以隐藏。
1. 日志面板

要显示日志面板,需要运行TradeXpertLog指标,智能交易助手的注释将在此处显示。
为了最优使用工作区,它可以添加到其他指标的子窗口中。所有智能交易助手的日志都将在客户端终端日志中打印(Print)。建议在交易时使用日志,这样可以查看订单处理情况。
该面板可用于调试及其他面板的注释。这种注释的好处在于:您将拥有一个单独的日志窗口,以专注于必要的信息。
时间显示正确,在假期也能正常工作。
可用设置有:
- 字体大小;
- 颜色;
- 行长度;
- 最大行数。
2. 交易面板(控制面板)

该面板的目的是进行交易。
可用操作列表:
- 按指定数量买入;
- 按指定数量卖出;
- 按指定数量买入并设置止盈水平。如果数量为0,则仅设置止盈水平;
- 按指定数量卖出并设置止盈水平。如果数量为0,则仅设置止盈水平;
- 按指定数量买入并设置止损水平。如果数量为0,则仅设置止损水平;
- 按指定数量卖出并设置止损水平。如果数量为0,则仅设置止损水平;
- 下单买入止损、买入限价、卖出止损、卖出限价;
- 关闭当前符号的已开仓位;
- 反转当前符号的已开仓位。旧的止损和止盈水平将设置为0。
在止损水平设置中有一些特点。
例如,如果我们有一个买入仓位(0.5手),并以设置止盈或止损的方式卖出0.1手,智能交易助手将不会设置它们。但如果指定的交易量超过0.5(例如0.7),它将设置新的止盈和止损水平。按照我记得的,客户端终端的行为也是这样的。
如果数量为0,智能交易助手将设置止盈和止损水平(如果正确)。
这里可以指定交易量。我尚未实现交易量的自动计算。
首先,有许多计算方法。其次,此功能在手动交易中并未使用。如果您不喜欢它,可以添加自己的实现。
智能交易助手不会检查保证金。
在设置交易量后,其值根据当前符号设置进行修改,因此请在交易前再次检查交易量的数值。
可用设置有:
- 订单成交类型
- 颜色方案
- 面板动画延迟
关于订单成交类型的一些细节。支持三种订单成交类型(请参见MQL5参考):
- ORDER_FILLING_FOK -- "成交或取消"
- ORDER_FILLING_IOC -- "可用"
- ORDER_FILLING_RETURN -- "可用+"
3. 信息面板
该面板显示符号信息和已开仓位状态。

可用设置:
- 颜色方案
- 动画延迟
- 计算点差最小和最大值的条数
- 时间。可以显示本地时间、服务器时间、CET、EST、MSK、GMT。
4. 设置面板
该面板包含智能交易助手的设置。您可以通过添加几行代码轻松添加自己的设置。

带有增加/减少选项的设置可以使用键盘上的"上"和"下"键进行更改。可用设置:
- 颜色方案
演示(建议使用480p分辨率):
附件:
根据比赛规则(IV.2),.mqh文件的数量限制为10,因此我准备了两个版本,位于压缩文件中:
- original.zip,原始版本,具有初始文件结构;
- pack.zip,所有.mqh文件合并为一个大文件。
建议您使用原始版本。
祝您交易愉快!