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

Calendar-Based Backtesting: an Event-Driven Trading EA - MetaTrader 5程序库

显示:
41
等级:
(4)
已发布:
2025.06.28 12:09
\MQL5\Include\
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

代码中包含大量注释,以便更好地理解。本说明解释了主旨以及使用/重复使用代码的方法。

本框架由三个关键部分组成:

1.CalendarRetriever.mq5 (脚本)- 该脚本获取过去的经济新闻事件,并将其保存到终端 "常用 "文件夹下的文件中。专家顾问随后将在回溯测试中读取这些文件。该脚本需要两个输入参数

  • 开始日期(Start Date )--检索过去新闻事件的日期。
  • 结束日期 -应存储新闻事件的最后日期

运行该脚本后,将在终端的 "常用 "目录下生成一个 "日历 "文件夹,然后创建以下文本文件

  • Countries.txt - 包含每个 MQLCalendarCountry 的信息
  • Events.txt - 存储事件详细信息,如名称、影响和 countryid。
  • News.bin - 保存历史新闻事件值,包括时间戳。

    2.CalendarFile.mq (包含文件)-该文件提供了在专家顾问中处理新闻数据的结构化方法。 它包含两个主要类

    • CalendarFileWriter -由脚本内部使用,用于存储新闻数据。
    • CalendarFileReader -专家顾问用于读取和处理新闻数据。它包括在 OnTick 函数中加载事件数据和跟踪即将到来的新闻的函数。
    3.NewsBacktest.mq5 (智能交易系统)- 该 EA 使用存储的数据在策略测试器中模拟实时新闻条件。它使用加载函数读取保存的新闻数据,并执行相应的交易。

    如何使用该框架:

    1. 运行 CalendarRetriever 脚本: 选择要回测的符号,然后运行 CalendarRetriever.mq5 脚本,并指定开始和结束日期。

    2. 智能交易系统

      • EA 使用CalendarFileReader 类,使用这些函数加载数据:
        • LoadEvents() - 加载事件详细信息。
        • LoadCountries() - 加载国家信息。
        • LoadValues() - 加载历史新闻值。
      • 然后在OnTick 函数中处理新闻事件,以确定何时发生新闻事件。使用 Propagate() 进行预测,使用 Track() 做出反应。
      • CalendarFileReader.Propagate()函数会将下一个索引设置为下一个即将发生的事件,应在每个 tick 上调用该函数。
      • CalendarFileReader.Track() 函数会在新闻事件过去后返回 true,并将最后一个索引设置为该特定事件。也在 OnTick() 函数中调用,但应检查结果。
    3. 回溯测试策略 在 MetaTrader 5 中打开策略测试器,选择 NewsBacktest.mq5,然后在可视模式下运行回溯测试

    如何将其调整为您自己的新闻型策略:

    该框架设计灵活,允许交易者围绕经济新闻事件开发自己的策略。以下是一些可以修改的方法:

    • 调整 OnTick() 中的事件过滤逻辑,对特定类型的新闻做出反应(例如,只在 NFP 或 CPI 发布后进行交易)。
    • 修改订单执行逻辑,以实施不同的策略,如淡化初始移动而不是突破交易。
    • 在新闻事件中使用其他指标,以完善入市信号。
    • 根据事件影响程度更改挂单的到期时间。

    该解决方案可在 MetaTrader 5 的限制范围内尽可能真实地回测基于新闻的策略。通过首先检索历史新闻数据,然后模拟其对市场的影响,交易者可以获得有价值的见解,了解其策略在实时条件下的表现。

    为了更容易和更好地理解,请务必查看我的相关视频:




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

    风险管理和机器人技术的日常偏差 风险管理和机器人技术的日常偏差

    MQL5 中的 RiskManagement 库提供高效、动态的风险管理,并进行了优化,以最大限度地减少资源。它允许使用可定制的修改器设置最大盈利和亏损限制。它包括 OCO 订单控制以及蜡烛图管理和价格转换工具。

    Trendline zigzag in qualitative channel Trendline zigzag in qualitative channel

    基于趋势线的顿奇安海峡动态演变

    Smart Trend Follower Smart Trend Follower

    该 EA 设计用于利用移动平均线和随机振荡指标发出的信号自动跟踪市场趋势。EA 利用移动平均线交叉检测买入和卖出信号,并利用随机指标确认趋势。此外,该 EA 还包括自动仓位管理功能,如设置止盈、止损和手数加倍,以提高在趋势市场中的交易效率。

    Trade Assistant MT5 Trade Assistant MT5

    Trade Assistant MetaTrader 指标 - 基于三个标准指标的多时间框架指标:随机振荡器、RSI(相对强弱指数)和 CCI(商品通道指数)。它显示 M1、M5、M15、M30、H1、H4、D1、W1 和 MN1 时间框架的当前趋势方向。使用该指标时,您可以清楚地了解所有重要时间框架的趋势。将该指标附加到哪个时间框架并不重要。该指标可下载至 MT4 和 MT5。