什么是计时订单(Timed Order)EA?
Timed Order 是一款简单的 MetaTrader/cTrader 智能交易系统,支持您在特定时间执行交易。这款 EA 可用于在周末预先设置在开市时要执行的交易。它也可以用于设置当您离开平台后要执行的交易。请务必要明白的一点是,计时订单不是完全自动化的交易机器人,因为您需要设置交易的日期及时间、适当的止损及止盈位并定义最大背离参数等。不过,它高度可自定义的设置几乎支持创建任何类型的交易订单。除了通常的固定头寸数量外,这款 EA 支持设置基于风险的头寸数量。它支持以下交易平台:MT4、MT5 及 cTrader。
定时订单是适合预设交易的终极解决方案。
操作
定时订单可以在两种模式下运行:
- 单笔交易模式(默认)
- 每日模式
在单笔交易模式下,定时订单会在交易者指定的时间开启一笔交易。
在每日模式下,定时订单将会在每周启用日期的特定时间开启交易。例如,它可以在每天 12:00 为您开启一笔交易,或者在每周一和周四 15:00 开启交易。
在两种模式下,这个时间可以设为服务器时间,也可以设为本地时间。而且,这个时间可以精确到秒。
定时订单智能交易系统支持以下交易类型:
- 买入单
- 卖出单
- 买入限价单
- 买入止损单
- 卖出限价单
- 卖出止损单
- 买入止损限价单(仅 MT5)
- 卖出止损限价单(仅 MT5)
您可以为打算开立的订单设置止损位及止盈位。这款智能交易系统支持四种类型的 SL/TP:
- 价格水平 - 具体的价格。如果您为市价单(买入/卖出)设置价格水平,当价格超出设置为价格水平的 SL/TP 时,订单可能无法执行。
- 距离 - SL/TP 以点数计的距离。它的计算方法很简单,且有一定的保障。
- ATR - ATR 指标值的倍数。您可以控制倍数、ATR 时段及 ATR 时间周期。
- 点差 - 执行交易时货币对点差的倍数。
EA 允许您设置入场位。对于挂单, 必须设置入场位或以点数计的入场距离参数。如果是市价单,它可以与 MaxDifference 输入参数一起使用,以避免以不利的价格执行订单。
挂单可以设置到期参数,让订单在设定的时间点到期。
您还可以控制平台在遇到错误时尝试执行订单的次数。
另一项有趣的功能是可以设置允许的最大点差,以避免在点差过宽时执行交易。如果通过 RetryUntilMaxSpread 做出指示,智能交易系统可以不断尝试执行交易,直到点差降至所需阈值以下。
头寸数量计算功能可以根据您的风险承受能力及止损位计算交易数量。或者,您可以设置固定的头寸数量。
您可以将提醒设置为在失败或成功的情况下分别触发。
交易示例
MetaTrader
以下是当您将这款 EA 添加至 MetaTrader 5 图表后的外观。这项示例用于开立设有固定止损位以及基于 ATR 的止盈位的买入单。
cTrader
以下是 cTrader 交易示例的设置。预设交易将以固定距离的止损位及止盈位卖出。
无回测
由于计时订单 EA 的性质,它没有回测结果。
输入参数
交易
- OrderTime - 应该创建订单时的日期及时间。而 cTrader 中有六项输入参数:年、月、日、小时、分钟及秒。这项参数在每日模式下不可用。
- OrderType (默认 = Buy) - 以下类型的一种:买入单,卖出单,买入限价单,买入止损单,卖出限价单,卖出止损单,买入止损限价单,卖出止损限价单。
- Entry (默认 = 0) - 挂单的入场价格;市价单的预期价格。
- EntryDistancePoints (默认 = 0) - 从下单时价格至放置挂单时价格的以点数计的距离。它不适用于市价买入/卖出订单。
- StopPrice (默认 = 0) - 止损限价单的止损价格。仅支持 MT5 平台。
- SLType (默认 = Price level) - 以下类型之一:价格水平,距离,ATR,点差。
- StopLoss (默认 = 0) - 基于所选类型的止损值。价格水平 - 特定的价格。距离 - 点数的数量。ATR - 倍数。点差 - 同样为倍数。
- TPType (默认 = Price level) - 以下类型之一:价格水平,距离,ATR,点差。
- TakeProfit (默认 = 0) - 基于所选类型的止盈值。价格水平 - 特定的价格。距离 - 点数的数量。对于 ATR - 倍数。点差 - 同样为倍数。
- TimeType (默认 = Server) - 您通过 OrderTime 设置的时间类型。它可以是您平台的本地时间,也可以是服务器的时间。
控制
- Expires (默认 = 0) - 挂单的到期时间。而 cTrader 中有六项输入参数:年、月、日、小时、分钟及秒。
- Retries (默认 = 10) — 在放弃交易前执行的交易次数
- MaxDifference (默认 = 0) — 如果 OrderType 被设为买入或卖出并给定非零入场位,则 EA 仅会在当前价格与入场位的值之间的差值小于或等于 MaxDifference 值时执行订单。
- MaxSpread (默认 = 3) - 如果在订单时间的点差大于该值,该订单将不会下达。
- RetryUntilMaxSpread (默认 = false) - 如果为 true,则智能交易系统将先等待点差降至低于最大点差值的位置,然后才下达订单。
- Slippage (默认 = 30) - 以点数计的最大可承受滑点。
- ATR_Timeframe (默认 = PERIOD_CURRENT) - ATR 指标的时间周期。它仅会在您为 ATR 设置 SLType 或 TPType 时启用。
- ATR_Period (默认 = 0) - ATR 指标的时段。它仅会在您为 ATR 设置了 SLType 或 TPType 时使用。
每日模式
- DailyMode (默认 = false) - 如果为 true, 则定时订单将用以下参数在每日模式下运行,并忽略 OrderTime 参数。
- DailyTime (默认 = "18:34:00") - 在每日模式下运行时,应当创建订单的时间。而 cTrader 中有三项单独的参数:小时、分钟及秒。
- 周一 (默认 = true) - 如果为 true,则智能交易系统将在周一开启每日交易。
- 周二 (默认 = true) - 如果为 true,则智能交易系统将在周二开启每日交易。
- 周三 (默认 = true) - 如果为 true,则智能交易系统将在周三开启每日交易。
- 周四 (默认 = true) - 如果为 true,则智能交易系统将在周四开启每日交易。
- 周五 (默认 = true) - 如果为 true,则智能交易系统将在周五开启每日交易。
- 周六 (默认 = false) - 如果为 true,则智能交易系统将在周六开启每日交易。
- 周日 (默认 = false) - 如果为 true,则智能交易系统将在周日开启每日交易。
头寸数量计算
- CalculatePositionSize (默认 = false) - 如果为 true,将会根据给定的风险及止损位计算头寸数量。
- FixedPositionSize (默认 = 0.01) - 如果 CalculatePositionSize = false,将使用固定头寸数量。
- Risk (默认 = 1) - 以相对于账户余额/净值的比例显示的风险容忍程度。仅在 CalculatePositionSize = true 时才启用。如果 UseMoneyInsteadOfPercentage 被设为 true,将忽略这项输入参数。
- MoneyRisk (默认 = 0) - 账户货币的风险承受能力。仅在 CalculatePositionSize = true 时才启用。须将 UseMoneyInsteadOfPercentage 设为 true。
- UseMoneyInsteadOfPercentage (默认 = false) - 如果为 true,头寸数量将根据以账户货币给出的风险金额(MoneyRisk) ,而不是根据余额/净值百分比风险(Risk)计算。仅在 CalculatePositionSize = true 时才启用。
- UseEquityInsteadOfBalance (默认 = false) - 如果为 true,将根据账户净值而不是余额计算头寸数量。仅在 CalculatePositionSize = true 时才启用。如果 UseMoneyInsteadOfPercentage = true,则忽略它。
- FixedBalance (默认 = 0) - 如果设为非零值,将使用它,而不是账户余额/净值计算头寸数量。仅在 CalculatePositionSize = true 时才启用。
提醒
- AlertsOnSuccess (默认 = false) - 如果为 true,EA 将在成功下达订单时发送提醒。
- AlertsOnFailure (默认 = false) - 如果为 true,EA 将在订单创建失败时发送提醒。
- EnableNativeAlerts (默认 = false) - 如果为 true,EA 将使用 MetaTrader 的本地弹出提醒。
- EnableEmailAlerts (默认 = false) - 如果为 true,EA 将启用 MetaTrader 的邮件提醒。应在 MetaTrader 中正确地设置邮件,设置方式为:工具->选项->邮件。
- EnablePushAlerts (默认 = false) - 如果为 true,EA 将使用 MetaTrader 的推送通知提醒。应在 MetaTrader 中正确地设置通知,设置方式为:工具->选项->通知。
其他
- Magic (默认 = 20220913) - 用于过滤这款 EA 所开立头寸的订单幻数。不显示在 cTrader 中。
- OrderCommentary (默认 = "TimedOrder") - 这款 EA 所开立头寸的注释。
- Silent (默认 = false) - 如果为 true,则 EA 不会在图表注释字段输出任何信息。
- Logging (默认 = true) - 如果为 true,则 EA 会将消息记入日志文件中。文件名称为“TO-Log-”。不显示在 cTrader 中。
下载 (ver. 1.01, 2023-11-20)
MetaTrader 4
Timed Order 在 .zip Timed Order 在 .mq4
MetaTrader 5
Timed Order 在 .zip Timed Order 在 .mq5
cTrader
Timed Order 在 .zip Timed Order 在 .cs
您可以在任何 MT4 外汇经纪商处开立交易账户,然后您可以自由地使用此处展示的 MetaTrader 4 智能交易系统。如果您想使用这款智能交易系统的 MT5 版本,您需要去提供 MetaTrader 5 的经纪商处开立账户。如果您想使用这款智能交易系统的 cTrader 版本,请查看我们的 cTrader 外汇经纪商列表。
探讨
提醒! 在您提出关于智能交易系统安装方面的基础性问题之前,请先阅读这份 MT4 智能交易系统教程以获得处理这些问题的基础知识。
您是否有自己的交易成绩或其他关于这款智能交易系统的评论?您可以与其他交易者及 MQL 程序员在专家论坛上探讨关于计时订单 EA 的问题。
更新日志
1.01 — 2023/11/20
- 增加了每日模式选项,让您可以在一周内每个选中的日期开启交易。
- 增加了一个选项(EntryDistancePoints),将挂单的入场价格设置为距它创建时价格的距离。
- 增加了一个选项(RetryUntilMaxSpread),使智能交易系统先等待当前点差收窄至允许值,然后再尝试开启交易。
- 增加了参数,用于设置 cTrader 版本中的交易秒数及到期时间。
- 修复了源代码中微小的键入错误。
1.001 — 2023/10/31
- 修复了 MT4 版本中头寸数量计算错误的问题。这个问题导致一直使用固定的头寸数量。
1.00 — 2022/9/23
- EarnForex.com 首次发布计时订单智能交易系统。