自动交易调度器(AutoTrading Scheduler)是一款让您可以基于每周时间表在MetaTrader平台中控制“自动交易”按钮状态的智能交易系统。它不仅可以启用、禁用“自动交易”,还可以在进入“自动交易”禁用时段时尝试关闭所有交易。这款智能交易系统同时适用于MT4和MT5。
这款调度器需要导入DLL才能正确工作。它从标准Windows DLL文件(user32.dll)导入一项函数。将这款智能交易系统添加至图表时,请记得要允许DLL导入。
界面
面板控件非常简单。“开关”按钮可以打开或关闭调度器。右侧的一组单选按钮让您可以切换本地时间和服务器时间。通过“状态”选项,您会知道DLL是否关闭,连接是否丢失,以及“自动交易”是否禁用。七个输入字段可以输入一周内的不同天数,以设置您想启用“自动交易”的时间范围。“设置所有空白天数”按钮会将您为周一输入的数值应用于一周内的其他空白天数。每周天数下方的第一个复选框允许您用智能交易系统在禁用自动交易之前尝试关闭所有交易。最后,底部的复选框可设置调度器是否采用严格执行模式(勾选,智能交易系统将始终按计划启用/禁用自动交易;取消勾选,智能交易系统仅会在下一个时段开始或结束时启用/禁用自动交易)。
用法
关闭“调度器”后,它不会采取任何操作。如要采用操作,您必须打开它。
如果您想让“调度器”根据经纪商的交易服务器时间工作(例如,在夏令时切换周),您可以将时间设置从“本地”更改为“服务器”。
“状态”可以是“确定”、“无自动交易”、“无连接”或“DLL已禁用”。前两种只通知您状态,不会有任何影响。“无连接”意味着EA将无法在禁用“自动交易”之前关闭任何交易,但它依然会成功地禁用“自动交易”。“DLL已禁用”将带来真正的问题,因为您将无法启用/禁用“自动交易”。
“调度器 ”的主要操作是设置有效的每周时间表。“自动交易”会在您设置的时间段内启用。
时间输入字段采用24小时格式的时间范围,开始时间与结束时间中间用连字符分隔。例如,9-17
将被解读为“从9:00到17:00”(或“从上午9点到下午5点”)。
如果有多个时间范围,可以用逗号作为分隔符。例如,13:30-16:30,19:30-20:05
将在以下两个时段启用“自动交易”:从13:30到16:30和从19:30到20:05。
默认情况下,调度器始终会尝试在允许的时段之外关闭自动交易或在时段之内开启自动交易。即使您自己开启或关闭了自动交易,调度器也会覆盖您的操作。为了避免这种情况,您可以取消面板底部的复选框——这会使调度器仅在允许时段开始或结束时切换自动交易,并且每次只能切换一次。
自动交易调度器的主要目的是控制 MetaTrader 中“自动交易”按钮的状态。不过,它还可以用于在禁用自动交易之前关闭交易。勾选每周天数下方的复选框即可。智能交易系统将尝试关闭头寸并删除挂单,但无法保证这项操作一定会成功执行。它不会重新尝试关闭交易,因为它的首要任务是禁用自动交易;禁用之后,将无法管理交易。
输入参数
通知
- EnableNativeAlerts (默认 = false) - 如果为 true,则切换自动交易时,将使用本地 MetaTrader 弹出提醒。
- EnableEmailAlerts (默认 = false) - 如果为 true, 则切换自动交易时,将发送电子邮件消息。邮件应通过以下方式在 MetaTrader 中正确配置:工具->选项->电子邮件。
- EnablePushAlerts (默认 = false) - 如果为 true, 则切换自动交易时,将发送电子邮件消息。通知应通过以下方式在 MetaTrader 中正确配置:工具->选项->通知。
默认项
- DefaultTurnedOn (默认 = false) - 调度器“开/关”按钮的默认状态。
- DefaultTime (默认 = 本地) - 默认要使用的时间类型,可以为本地时间或服务器时间。
- DefaultMonday (默认 = "") - 在周一启用自动交易的默认时段。
- DefaultTuesday (默认 = "") - 在周二启用自动交易的默认时段。
- DefaultWednesday (默认 = "") - 在周三启用自动交易的默认时段。
- DefaultThursday (默认 = "") - 在周四启用自动交易的默认时段。
- DefaultFriday (默认 = "")- 在周五启用自动交易的默认时段。
- DefaultSaturday (默认 = "") - 在周六启用自动交易的默认时段。
- DefaultSunday (默认 = "") - 在周日启用自动交易的默认时段。
- DefaultClosePos (默认 = false) - “关闭所有交易”复选框的默认状态。
- DefaultEnforce (默认 = true) - “始终执行时间表”复选框的默认状态。
其他
- 滑点(默认 = 2) — 关闭头寸时,经纪商点数中给出的滑点值。
- ScheduleFile (默认 = "") — the name of the text file containing the schedule. The file should be located in the MQL4Files subfolder for MT4 or in the MQL5Files subfolder for MT5.
- WaitForNoPositions (默认 = false) — if true, the Scheduler will wait for all positions to be closed before turning AutoTrading off.
- WaitForNoOrders (默认 = false) — if true, the Scheduler will wait for all pending orders to be deleted before turning AutoTrading off.
下载 (ver. 1.02, 2023-12-07)
MetaTrader 4版自动交易调度器 MetaTrader 5版自动交易调度器安装方法:解压“自动交易调度器”文件夹后,将它复制到终端数据文件夹中的MQL4/Experts/或MQL5/Experts/(如果您使用MetaTrader 5)。
探讨
您对这款智能交易系统有什么建议或疑问吗?您随时可以在论坛上与其他交易者及MQL程序员 讨论关于“自动交易调度器”的话题。
更新日志
1.01 — 2023/6/6
- 增加了在切换自动交易时可选择的提醒功能。
- 增加了非强制的时间表执行模式,且仅在新周期开始或结束时切换自动交易。
- 为所有面板字段添加了带默认值的输入参数。这会简化设置并将面板设置从一个平台复制到另一个平台。
- 优化了修改图表时间周期/交易品种时的处理过程。
- 修复了导致面板最小化后无法最大化的错误。
- 修复了当调度器被设为关闭交易时可能会产生多个触发器的错误。
- 修复了从之前崩溃的 ATS 面板中删除残留图表对象时出现的错误。
- 删除了 PanelOnTopOfChart 参数。它应该通过图表设置处理。