请观看如何免费下载自动交易
请在Twitter上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
EA

Universal Breakout Study - MetaTrader 5EA

Sergey Ermolov
Sergey Ermolov
你好,
我是 Sergey Yermolov —— 拥有超过15年交易系统与算法开发经验。
我的交易理念并不是寻找“圣杯”,也不是承诺快速盈利。
我不出售“自动赚钱的机器人”。
我构建的是每一个交易动作都有逻辑、有约束、有风险控制的系统。
我的所有工具都不是“一键赚钱”,而是用来:
— 消除交易中的随机性
— 降低情绪对决策的影响
— 按照清晰且预先定义的规则执行交易
我相信的不是交易信号,而是可复现的逻辑与统计结果。
经验与事实:
— 自 2008 年开始使用 MQL4 进行开发
| Chinese English Русский Español Deutsch 日本語 Português 한국어 Français Italiano Türkçe
显示:
14
等级:
(4)
已发布:
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

Universal Breakout Study 是一款专为研究和测试突破交易策略而设计的专家顾问

策略描述

该EA利用指定数量的H1K线 构建价格区间(Box),一旦区间形成,便在区间边界外下达买入止损卖出止损 挂单。

当发生突破时,相应的挂单将被触发。开仓后,可通过止损止盈盈亏平衡追踪止损 及其他交易管理技术对仓位进行管理。

该价格区间可根据 GMT调整后的时间,针对任何交易时段构建。这使得交易者无需修改源代码,即可研究亚洲、伦敦、纽约或任何自定义交易时段的突破行情。

该EA支持多种止损止盈 的计算方法。保护性订单可以禁用、指定为固定值,或按箱体大小的系数进行计算。仓位大小会根据所选风险等级自动计算。

可用的交易管理功能:

  • 盈亏平衡——将止损移至盈亏平衡点。
  • 追踪止损— 动态仓位管理。
  • 定时平仓— 在指定时间后平仓。
  • 到期— 挂单有效期控制。
  • 星期过滤器— 启用或禁用特定工作日的交易。

可以针对每个星期几单独启用或禁用交易,这使得该EA不仅适用于突破策略研究,也适用于研究基于日历的市场效应。

源代码完全开源,可用于开发自定义突破策略、添加新过滤器以及测试交易假设。

参数

箱体设置

  • GMT— 用于交易时段计算和交易区间构建的 GMT 偏移量。
  • StartHourBox— 箱体开始时间(以 GMT 时间计)。
  • TotalBarBox— 用于构建箱体的 H1 蜡烛数量。

Example:

StartHourBox = 8
TotalBarBox = 24

该EA将使用从格林尼治标准时间08:00开始的24根小时K线构建箱体。

打开设置

  • 偏移量— 下达挂单前,相对于箱体边界的额外距离。
  • Expiration_Minute— 挂单有效期(以分钟为单位)。
    值为0 时,挂单有效期被禁用。

示例:

箱体高点 = 1.1000
偏移量 = 10 点

买入止损单将设在1.1010。

止损设置

  • StopLoss_Type— 止损计算方法。

可用模式:

  • Null— 止损已禁用。
  • Fixed— 以点为单位的固定止损。
  • 基于箱体的系数— 止损值按箱体大小的比例计算。
  • StopLoss— 以点为单位的固定止损值。
  • k_StopLoss— 相对于箱体大小的止损系数。

示例:

箱体大小 = 100 点
k_StopLoss = 0.62

止损 = 62点。

止盈设置

  • TakeProfit_Type— 止盈计算方法。

可用模式:

  • Null— 止盈功能已禁用。
  • Fixed— 以点数为单位的固定止盈。
  • 基于箱体的系数— 按箱体大小的比例计算止盈。
  • TakeProfit— 以点为单位的固定止盈值。
  • k_TakeProfit— 相对于箱体大小的止盈系数。

示例:

箱体大小 = 100 点
k_TakeProfit = 0.30

止盈 = 30 点。

盈亏平衡

  • Paritet_Type— 启用或禁用盈亏平衡。
  • Paritet— 将止损移至盈亏平衡点前所需的盈利点数。
  • — 将止损移至盈亏平衡点后锁定的额外利润。

示例:

Paritet = 20
Pips = 5

在获利20点后,止损位将移至入场价+5点。

经典追踪止损

  • OnTraillingStop— 启用或禁用追踪止损。
  • TraillingStop— 当前价格与止损位之间的距离。
  • TraillingStep— 止损调整的最小步长。
  • TraillingStart— 触发动态止损前所需的额外盈利。

示例:

TraillingStop = 20
TraillingStart = 10

只有当头寸盈利达到30点后,追踪止损才会激活。

此时,止损位将移动以锁定10点的利润。此后,止损位将以20点的间距继续跟随价格波动。

时间平仓

  • Close_Type— 启用或禁用基于时间的平仓。
  • Market_Minute— 头寸的最大持有时间(以分钟为单位)。
  • Close_Level— 平仓前所需的最低盈利。

示例:

Market_Minute = 70
Close_Level = 10

如果交易持仓时间超过70分钟且盈利超过10点,该头寸将被平仓。

交易日

  • 周一— 启用周一交易。
  • 周二— 启用周二交易。
  • 周三— 启用周三的交易。
  • 周四— 启用周四交易。
  • 周五— 启用周五的交易。

此过滤器允许针对不同的星期几分别测试突破行为。

交易设置

  • RiskPercent— 每笔交易的风险占账户余额的百分比。

重要说明

  1. 该 EA 仅在 H1 时间框架上运行。
  2. 该交易区间是根据 GMT 调整后的时间构建的,与经纪商的服务器时间无关。
  3. 交易区间的大小由 H1 蜡烛图的数量决定,因此可以研究任何交易时段或自定义时间间隔。
  4. 一旦交易区间形成,系统将自动下达买入止损和卖出止损订单。
  5. 挂单可通过 Expiration_Minute 参数自动过期。
  6. 止损和止盈可以禁用、指定为固定值,或作为箱体大小的系数进行计算。
  7. 盈亏平衡、追踪止损和时间平仓可以单独使用,也可以同时使用。
  8. 追踪止损仅在利润达到 TraillingStop + TraillingStart 后才会激活。第一次止损移动将锁定至少 TraillingStart 点的利润。
  9. “时间平仓”仅平仓已达到指定盈利水平的头寸。
  10. 可以针对每个工作日单独启用或禁用交易。
  11. 仓位大小会根据所选的风险级别自动计算。
  12. 当使用基于风险的仓位大小计算时,风险是根据 EA 启动时的账户余额计算的,而不是根据当前余额或净值计算的。
  13. 该EA旨在用于研究突破策略,在未经额外验证和样本外测试的情况下,不应被视为可直接用于交易的系统。

研究示例

作为专家顾问(EA)使用示例,我们进行了一项完整的区间突破策略研究。

依次分析了以下组件:

  • 区间形成参数;
  • 止损和止盈设置;
  • 盈亏平衡管理;
  • 追踪止损参数;
  • 基于时间的平仓过滤器;
  • 工作日过滤器。

在筛选出最具潜力的配置方案后,最终确定了一个模型,并随后在回测期间对其进行了验证。

下图展示了其中一种选定配置的优化结果及前瞻测试表现。

优化结果

通用突破策略研究——欧元兑美元回测


前瞻测试结果

通用突破分析——欧元兑美元看涨

此示例仅供演示之用。不应将其解释为使用任何特定参数集的建议,也不应将其视为对未来表现的保证。

其目的仅在于说明如何将Universal Breakout Study 作为研究工具,用于开发、测试和验证交易思路。

由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/73711

Chart Navigator MT5 Light Chart Navigator MT5 Light

Chart Navigator MT5 Light — 一款迷你图表工具,可快速在价格图表上移动,并迅速跳转至您在图表上设置的标记点

Institutional Ornstein-Uhlenbeck Equilibrium Matrix Institutional Ornstein-Uhlenbeck Equilibrium Matrix

一种计量经济学价格空间指标,它利用奥恩斯坦-乌伦贝克随机过程,从数学上估算资产的真实无漂移均衡点及其均值回归速度。

加速震荡(AC) 加速震荡(AC)

加速/减速技术指标(AC)用于衡量当前驱动力的加速和减速。

离散 离散

离散技术指标由价格和交易量的变化决定。