程序库: 多功能测试仪 - 页 10

 

测试集已于近期完成。在 50 次迭代中,没有重复通过。

我记录了日志,大部分是迭代 1,少部分是 0 和 2。但有时会出现高达 7-8 次的迭代,次数很少,原因不明。我将保持 50 次迭代,并留有余量,不会产生任何负面影响。

 

在 MTTester.mqh 文件中,缓存或配置的路径通过 ::TerminalInfoString(TERMINAL_PATH)+ 获取。

但我个人将其安装在程序文件中(默认设置了所有内容),而且配置文件是独立的。我将其更正为 TERMINAL_DATA_PATH。

 
不仅可以获取 GetLastOptCache(以及 GetLastOptCacheFileName),原则上还可以获取最后一个。还可以是某个特定字符的最后一个缓存。这是我为自己添加的,但在一般版本中也可能有用。
 
traveller00:

测试集已于近期完成。在 50 次迭代中,没有重复通过。

我记录了日志,大部分是迭代 1,少部分是 0 和 2。但有时会出现高达 7-8 次的迭代,次数很少,原因不明。我将保持 50 次迭代,并留有余量,不会产生任何负面影响。

我没有受到任何负面影响。感谢您提供的信息,我会保留 50 个,这不是要食物,但对其他人也有用。


Traveller00:

在 MTTester.mqh 中,缓存或配置的文件路径通过 ::TerminalInfoString(TERMINAL_PATH)+ 获得。

但我个人将其安装在程序文件中(默认情况下我将所有文件都放在程序文件中),并且配置文件是单独的。我将其更正为 TERMINAL_DATA_PATH。

我只在便携模式下工作,那里的 TERMINAL_PATH == TERMINAL_DATA_PATH。谢谢,我会让通用模式适用于所有 KB 工作。



不仅可以获取 GetLastOptCache(以及相应的 GetLastOptCacheFileName),原则上还可以获取最后一个。还可以是某个特定字符上的最后一次。这是我为自己添加的,但在通用版本中也可能有用。

在编写时,我以自己遇到的使用场景 为指导。我没有考虑按符号进行最后一次缓存的选项,因为我仍然不知道它在哪里有用。

如果要对许多字符进行比较,这可能会有用。我还没有想出一个有用的脚本。


如果你有自己的实现方法或使用场景,请发布出来。这样更有建设性。

 

目前,我正处于最后确定和充实工具的阶段。因此,我首先对 90 个符号进行了优化。然后,我决定不手工解析结果,而是使用自动分析仪,从一大堆符号中筛选出有趣的符号,再手工将它们翻出来。我的基本功能失败了,所以我需要按符号进行过滤。

我添加了一个可选参数常量字符串 SymbName = NULL,通过几个函数对其进行了修正,并将 GetLastOptCacheFileName

改为

return(MTTESTER::GetFreshFileName(::TerminalInfoString(TERMINAL_DATA_PATH)+"\\Tester\\cache\",SymbName != NULL ?"*. "+SymbName+".*.opt" : "*.opt"));

 
traveller00:

目前,我正处于最后确定和充实工具的阶段。因此,我首先对 90 个符号进行了优化。然后,我决定不手工解析结果,而是使用自动分析仪,从一大堆符号中筛选出有趣的符号,然后手工将它们翻出来。我的基本功能失败了,这就是我需要按字符过滤的原因。

明白了。这样一来,添加 EA 名称也就顺理成章了。

我添加了一个可选参数 const string SymbName = NULL,通过几个函数进行了修改,并将 GetLastOptCacheFileName

改为

return(MTTESTER::GetFreshFileName(::TerminalInfoString(TERMINAL_DATA_PATH)+"\\Tester\\cache\",SymbName != NULL ?"*. "+SymbName+".*.opt":"*.opt"));

我会修复掩码生成问题的,谢谢。

[删除]  

出问题了...

2019.11.29 17:21:46.241 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (1/25) - Start.
2019.11.29 17:24:05.099 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (1/25) - Done. Time = 00:02:19
2019.11.29 17:24:05.250 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (2/25) - Start.
2019.11.29 17:25:54.975 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (2/25) - Done. Time = 00:01:49
2019.11.29 17:25:55.136 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (3/25) - Start.
2019.11.29 17:27:30.347 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (3/25) - Done. Time = 00:01:35
2019.11.29 17:27:30.531 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (4/25) - Start.
2019.11.29 17:29:18.129 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (4/25) - Done. Time = 00:01:48
2019.11.29 17:29:18.333 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (5/25) - Start.
2019.11.29 17:31:15.052 MultiTester_Example (FTSE100,D1)        NIKK225 PERIOD_D1 TesterDate -  TesterDate (5/25) - Done. Time = 00:01:57
2019.11.29 17:31:15.170 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (6/25) - Start.
2019.11.29 17:33:16.972 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (6/25) - Done. Time = 00:02:01
2019.11.29 17:33:17.092 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (7/25) - Start.
2019.11.29 17:35:00.090 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (7/25) - Done. Time = 00:01:43
2019.11.29 17:35:00.412 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (8/25) - Start.
2019.11.29 17:36:45.975 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (8/25) - Done. Time = 00:01:45
2019.11.29 17:36:46.092 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (9/25) - Start.
2019.11.29 17:38:19.975 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (9/25) - Done. Time = 00:01:33
2019.11.29 17:38:20.090 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (10/25) - Start.
2019.11.29 17:40:02.238 MultiTester_Example (FTSE100,D1)        SPX500 PERIOD_D1 TesterDate -  TesterDate (10/25) - Done. Time = 00:01:42
2019.11.29 17:40:02.352 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (11/25) - Start.
2019.11.29 17:41:58.122 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (11/25) - Done. Time = 00:01:56
2019.11.29 17:41:58.236 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (12/25) - Start.
2019.11.29 17:43:37.213 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (12/25) - Done. Time = 00:01:39
2019.11.29 17:43:37.324 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (13/25) - Start.
2019.11.29 17:45:30.973 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (13/25) - Done. Time = 00:01:53
2019.11.29 17:45:31.087 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (14/25) - Start.
2019.11.29 17:47:10.246 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (14/25) - Done. Time = 00:01:39
2019.11.29 17:47:10.362 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (15/25) - Start.
2019.11.29 17:48:52.973 MultiTester_Example (FTSE100,D1)        IBEX35 PERIOD_D1 TesterDate -  TesterDate (15/25) - Done. Time = 00:01:42
2019.11.29 17:48:53.086 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (16/25) - Start.
2019.11.29 17:50:37.262 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (16/25) - Done. Time = 00:01:44
2019.11.29 17:50:37.376 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (17/25) - Start.
2019.11.29 17:52:48.973 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (17/25) - Done. Time = 00:02:11
2019.11.29 17:52:49.136 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (18/25) - Start.
2019.11.29 17:54:22.974 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (18/25) - Done. Time = 00:01:33
2019.11.29 17:54:23.210 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (19/25) - Start.
2019.11.29 17:56:43.272 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (19/25) - Done. Time = 00:02:20
2019.11.29 17:56:43.439 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (20/25) - Start.
2019.11.29 17:58:59.975 MultiTester_Example (FTSE100,D1)        DAX30 PERIOD_D1 TesterDate -  TesterDate (20/25) - Done. Time = 00:02:16
2019.11.29 17:59:00.168 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (21/25) - Start.
2019.11.29 18:02:01.111 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (21/25) - Done. Time = 00:03:01
2019.11.29 18:02:01.290 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (22/25) - Start.
2019.11.29 18:05:07.304 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (22/25) - Done. Time = 00:03:06
2019.11.29 18:05:07.474 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (23/25) - Start.
2019.11.29 18:08:17.320 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (23/25) - Done. Time = 00:03:10
2019.11.29 18:08:17.447 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (24/25) - Start.
2019.11.29 18:10:44.184 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (24/25) - Done. Time = 00:02:27
2019.11.29 18:10:44.361 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (25/25) - Start.
2019.11.29 18:14:04.974 MultiTester_Example (FTSE100,D1)        FTSE100 PERIOD_D1 TesterDate -  TesterDate (25/25) - Done. Time = 00:03:20
2019.11.29 18:14:04.975 MultiTester_Example (FTSE100,D1)        Alert: Finish.
2019.11.29 18:14:04.975 MultiTester_Example (FTSE100,D1)        ExpertRemove() function called
2019.11.29 18:14:04.975 MultiTester_Example (FTSE100,D1)        Полное время оптимизации = 00:52:21

而且只有 3 个 .opt 文件...

这怎么可能?

对其中一个 "丢失 "的字符进行了手动优化。一切正常....


 
Сергей Таболин:

出事了...

不幸的是,当我发现 bug 或改进解决方案的方法时,我并不总是在 KB 中更新它们。这里可能就是这种情况。

[删除]  
fxsaber:

遗憾的是,当我发现漏洞或改进解决方案的方法时,我并不总是在 KB 中更新它们。这里可能就是这种情况。

所以在适应 2190 后,我没有更新任何内容。

就当是系统故障吧。至少在重新出现之前是这样。)))

 
Сергей Таболин:

因此,自从把它改编成 2190 版后,我就没有更新过任何内容。

我对它进行了大幅更新,因为我发现并消除了其中的陷阱。我还针对其他类型的任务对它进行了改进。