MultiTester - MetaTrader 5 库








有时您需要对多个交易品种运行 EA 交易。为此,MT5 测试器中有一个“市场报价窗口中选择的所有交易品种”模式。这允许您在不同交易品种上运行相同的 EA 设置。
但有时您需要多次运行不同的 MT5 测试程序。这个库可以让你做到这一点。
您可以设置任意数量的交易品种、时间范围、间隔的组合。不仅对它们进行单次运行,而且还进行优化,包括前进。
我们根据需要配置 MT5-Tester。
图中显示,优化将以一定的时间间隔对真实的蜱虫进行全面的暴力破解。
创建所需优化的列表。例如,您可以通过该库的交付来运行“EA 交易”。

通过如图所示的设置,它将对市场报价中的所有交易品种运行优化,并且对于每个交易品种,它将在 M1 和 M15 时间范围内进行优化。
结果会是这样的
现在您可以使用标准 MT5 测试工具安全地查看优化结果。
让我们首先考虑一个非常简单的例子。
#包括// 在测试器中进行多次运行/优化。 // 该函数负责生成任务列表。 空白SetTester设置() { 测试仪设置.Add(“澳元加元”);// 使用测试器中指定的设置运行 AUDCAD。 测试仪设置.Add(“欧元兑美元”,PERIOD_H1);// 使用测试器中指定的设置运行 EURUSD H1。 测试仪设置.Add(“英镑兑美元”,PERIOD_M6,D'2019.07.01',D'2019.09.01');// 按指定的时间间隔运行 GBPUSD M6。}
运行此 EA 的结果将是使用源代码中读取的设置对测试器进行三次调用。
我们来分析一下EA交易的源代码,一开始给出了启动演示。
#包括// 在测试器中多次运行/优化。 输入 布尔值周期_M1 =错误的; // 开启M1 输入 布尔值周期_M5 =错误的; // 开启M5 输入 布尔值周期_M15 =错误的; // 开启M15 输入 布尔值 错误的;// 仅自定义字符 // 该函数负责生成任务列表。 空白SetTester设置() { // 从市场观察中搜索所有交易品种。 为了(整数我=符号总数(真的)--1;我 >=0;我 - ) { 常量 细绳姓名 =符号名称(我,真的); 如果(!OnlyCustomSymbols ||符号信息整数(姓名,SYMBOL_CUSTOM)) { 如果(期间_M1) TesterSettings.Add(名称,PERIOD_M1);// 如果设置了 M1,则将每个字符与此 TF 相加。 如果(期间_M5) TesterSettings.Add(名称,PERIOD_M5);// 如果设置了 M1,则将每个字符与此 TF 相加。 如果(期间_M15) TesterSettings.Add(名称,PERIOD_M15);// 如果设置了 M15,则将每个符号与此 TF 相加。 如果(!Period_M1 && !Period_M5 && !Period_M15)// 如果没有设置 TF,我们就在 TF 上运行 Expert Advisor。 TesterSettings.Add(名称); } } }
第二个示例根据市场观察中标记的 TF 和符号生成任务列表。再次,我们看一下源代码中的注释。
所以,我们需要做的就是写这个字符串
#包括// 在测试器中进行多次运行/优化。
只编写一个以直观方式生成任务的函数。
// 该函数负责生成任务列表。 空白SetTester设置()
附件下载
📎 multitester_example.mq5 (1.18 KB)
📎 multitester_example2.mq5 (0.62 KB)
📎 settings.mqh (1.35 KB)
📎 string.mqh (1.29 KB)
📎 task.mqh (7.66 KB)
📎 testersettings.mqh (3.05 KB)
📎 multitester.mqh (4.74 KB)
📎 mttester.mqh (120.02 KB)
Source: MQL5 #26132
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
