请观看如何免费下载自动交易
请在Twitter上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
显示:
93
等级:
(36)
已发布:
2025.04.04 10:53
\MQL5\Experts\fxsaber\ \MQL5\Include\fxsaber\MultiTester\
Settings.mqh (1.35 KB) 预览
String.mqh (1.29 KB) 预览
Task.mqh (7.66 KB) 预览
MTTester.mqh (120.02 KB) 预览
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

有时您需要在大量符号上运行 Expert Advisor。为此,MT5 测试工具中提供了 "在市场观察窗口中选择所有符号 "模式。这允许您在不同的符号上运行相同的 EA 设置。


但有时您需要多次运行 MT5-tester。本库可帮助您实现这一目标。



您可以设置任意数量的符号、时间框架和时间间隔组合。不仅可以对其进行单次运行,还可以进行优化,包括正向运行。


方案。

  • 研究 TS 在哪些符号和/或区间和/或时间框架上显示出良好效果。
  • 对连续区间进行优化,以评估 TS 的自动优化前景。


使用方法。

我们根据需要配置 MT5-Tester。

如图所示,优化将在一定时间间隔内以完全暴力方式对真实点数执行。


创建所需的优化列表。例如,您可以运行该库中的智能交易系统。

在如图所示的设置下,它将对市场观察中的所有符号运行优化,并对每个符号在 M1 和 M15 时间框架内进行优化。


结果如下


现在您可以使用标准的 MT5 测试工具安全地查看优化结果了。


编程。

示例 1.

让我们先看一个非常简单的例子。

    #include <fxsaber\MultiTester\MultiTester.mqh> // 在测试器中进行多次运行/优化。
    
    // 该函数负责生成任务列表.
    void SetTesterSettings()
    {
      TesterSettings.Add("AUDCAD"); // 使用测试器中指定的设置运行 AUDCAD。
      
      TesterSettings.Add("EURUSD", PERIOD_H1); // 使用测试器中指定的设置运行 EURUSD H1。
      
      TesterSettings.Add("GBPUSD", PERIOD_M6, D'2019.07.01', D'2019.09.01'); // 在指定时间间隔内运行 GBPUSD M6。
    }

    运行此 EA 的结果是,根据源代码中的设置调用三次测试器。


    示例 2.

    让我们分析一下 Expert Advisor 的源代码,启动演示已在开头给出。

    #include <fxsaber\MultiTester\MultiTester.mqh> // 测试仪中的多次运行/优化.
    
    sinput bool Period_M1 = false;         // 打开 M1
    sinput bool Period_M5 = false;         // 打开 M5
    sinput bool Period_M15 = false;        // 打开 M15
    sinput bool  false; // 仅限自定义字符
    
    // 该函数负责生成任务列表。
    void SetTesterSettings()
    {
      // 从市场观察中搜索所有符号。
      for (int i = SymbolsTotal(true) - 1; i >= 0; i--)
      {
        const string Name = SymbolName(i, true);
    
        if (!OnlyCustomSymbols || SymbolInfoInteger(Name, SYMBOL_CUSTOM))
        {
          if (Period_M1)
            TesterSettings.Add(Name, PERIOD_M1); // 如果设置了 M1,则用此 TF 添加每个字符。
    
          if (Period_M5)
            TesterSettings.Add(Name, PERIOD_M5); // 如果设置了 M1,则用此 TF 添加每个字符。
    
          if (Period_M15)
            TesterSettings.Add(Name, PERIOD_M15); // 如果设置了 M15,则用此 TF 添加每个符号。
    
          if (!Period_M1 && !Period_M5 && !Period_M15) // 如果没有设置 TF,则在 TF 上运行 Expert Advisor。
            TesterSettings.Add(Name);
        }
      }
    }

    第二个示例根据市场观察中标记的 TF 和符号生成任务列表。让我们再次看看源代码中的注释。


    因此,我们只需编写以下字符串

    #include <fxsaber\MultiTester\MultiTester.mqh> // 在测试器中进行多次运行/优化。


    并编写一个能以直观方式生成任务的函数。

    // 该函数负责生成任务列表。
    void SetTesterSettings()


    功能。

    • 需要使用 DLL 的权限。需要调用 user32.dll 中的多个 WinAPI 函数。因此,除非绕过,否则不适合用于 Market。
    • 交付的MTTester.mqh 文件包含 MT5-tester 控制方法,便于在其他项目中使用。
    • 可以从中断位置恢复任务。

    由MetaQuotes Ltd译自俄语
    原代码: https://www.mql5.com/ru/code/26132

    Pan PrizMA 第 72 号杠杆 Pan PrizMA 第 72 号杠杆

    用 4 度的多项式构造一条移动线。外推正弦及其轴线。所构建的线在每一小节上删除一个值,并构建一条外推值的滑动线,该滑动线不会重新绘制。

    MA 趋势 2 MA 趋势 2

    iMA 指标(移动平均线,MA)交易系统。MA 趋势的发展。

    针对控制台类型的图表文本输出进行了优化显示 针对控制台类型的图表文本输出进行了优化显示

    通过该库,您可以创建显示屏,以最理想的速率向图表轻松输出文本信息

    手动位置跟踪面板 手动位置跟踪面板

    基于 CDialog 类的面板。对当前符号进行操作。删除、设置止盈、设置一组头寸的盈亏平衡点