程序库: 多功能测试仪 - 页 10 1...34567891011121314151617...53 新评论 traveller00 2019.11.19 02:44 #91 测试集已于近期完成。在 50 次迭代中,没有重复通过。 我记录了日志,大部分是迭代 1,少部分是 0 和 2。但有时会出现高达 7-8 次的迭代,次数很少,原因不明。我将保持 50 次迭代,并留有余量,不会产生任何负面影响。 traveller00 2019.11.19 05:31 #92 在 MTTester.mqh 文件中,缓存或配置的路径通过 ::TerminalInfoString(TERMINAL_PATH)+ 获取。 但我个人将其安装在程序文件中(默认设置了所有内容),而且配置文件是独立的。我将其更正为 TERMINAL_DATA_PATH。 traveller00 2019.11.19 05:39 #93 不仅可以获取 GetLastOptCache(以及 GetLastOptCacheFileName),原则上还可以获取最后一个。还可以是某个特定字符的最后一个缓存。这是我为自己添加的,但在一般版本中也可能有用。 fxsaber 2019.11.19 06:25 #94 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),原则上还可以获取最后一个。还可以是某个特定字符上的最后一次。这是我为自己添加的,但在通用版本中也可能有用。 在编写时,我以自己遇到的使用场景 为指导。我没有考虑按符号进行最后一次缓存的选项,因为我仍然不知道它在哪里有用。 如果要对许多字符进行比较,这可能会有用。我还没有想出一个有用的脚本。 如果你有自己的实现方法或使用场景,请发布出来。这样更有建设性。 traveller00 2019.11.19 06:34 #95 目前,我正处于最后确定和充实工具的阶段。因此,我首先对 90 个符号进行了优化。然后,我决定不手工解析结果,而是使用自动分析仪,从一大堆符号中筛选出有趣的符号,再手工将它们翻出来。我的基本功能失败了,所以我需要按符号进行过滤。 我添加了一个可选参数常量字符串 SymbName = NULL,通过几个函数对其进行了修正,并将 GetLastOptCacheFileName 改为 return(MTTESTER::GetFreshFileName(::TerminalInfoString(TERMINAL_DATA_PATH)+"\\Tester\\cache\",SymbName != NULL ?"*. "+SymbName+".*.opt" : "*.opt")); fxsaber 2019.11.19 06:41 #96 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 16:27 #97 出问题了... 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 文件... 这怎么可能? 对其中一个 "丢失 "的字符进行了手动优化。一切正常.... fxsaber 2019.11.29 21:15 #98 Сергей Таболин:出事了... 不幸的是,当我发现 bug 或改进解决方案的方法时,我并不总是在 KB 中更新它们。这里可能就是这种情况。 [删除] 2019.11.29 22:07 #99 fxsaber:遗憾的是,当我发现漏洞或改进解决方案的方法时,我并不总是在 KB 中更新它们。这里可能就是这种情况。 所以在适应 2190 后,我没有更新任何内容。 就当是系统故障吧。至少在重新出现之前是这样。))) fxsaber 2019.11.29 22:10 #100 Сергей Таболин:因此,自从把它改编成 2190 版后,我就没有更新过任何内容。 我对它进行了大幅更新,因为我发现并消除了其中的陷阱。我还针对其他类型的任务对它进行了改进。 1...34567891011121314151617...53 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
测试集已于近期完成。在 50 次迭代中,没有重复通过。
我记录了日志,大部分是迭代 1,少部分是 0 和 2。但有时会出现高达 7-8 次的迭代,次数很少,原因不明。我将保持 50 次迭代,并留有余量,不会产生任何负面影响。
在 MTTester.mqh 文件中,缓存或配置的路径通过 ::TerminalInfoString(TERMINAL_PATH)+ 获取。
但我个人将其安装在程序文件中(默认设置了所有内容),而且配置文件是独立的。我将其更正为 TERMINAL_DATA_PATH。
测试集已于近期完成。在 50 次迭代中,没有重复通过。
我记录了日志,大部分是迭代 1,少部分是 0 和 2。但有时会出现高达 7-8 次的迭代,次数很少,原因不明。我将保持 50 次迭代,并留有余量,不会产生任何负面影响。
我没有受到任何负面影响。感谢您提供的信息,我会保留 50 个,这不是要食物,但对其他人也有用。
在 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"));
目前,我正处于最后确定和充实工具的阶段。因此,我首先对 90 个符号进行了优化。然后,我决定不手工解析结果,而是使用自动分析仪,从一大堆符号中筛选出有趣的符号,然后手工将它们翻出来。我的基本功能失败了,这就是我需要按字符过滤的原因。
明白了。这样一来,添加 EA 名称也就顺理成章了。
我添加了一个可选参数 const string SymbName = NULL,通过几个函数进行了修改,并将 GetLastOptCacheFileName
改为
return(MTTESTER::GetFreshFileName(::TerminalInfoString(TERMINAL_DATA_PATH)+"\\Tester\\cache\",SymbName != NULL ?"*. "+SymbName+".*.opt":"*.opt"));
我会修复掩码生成问题的,谢谢。
出问题了...
而且只有 3 个 .opt 文件...
这怎么可能?
对其中一个 "丢失 "的字符进行了手动优化。一切正常....
出事了...
不幸的是,当我发现 bug 或改进解决方案的方法时,我并不总是在 KB 中更新它们。这里可能就是这种情况。
遗憾的是,当我发现漏洞或改进解决方案的方法时,我并不总是在 KB 中更新它们。这里可能就是这种情况。
所以在适应 2190 后,我没有更新任何内容。
就当是系统故障吧。至少在重新出现之前是这样。)))
因此,自从把它改编成 2190 版后,我就没有更新过任何内容。
我对它进行了大幅更新,因为我发现并消除了其中的陷阱。我还针对其他类型的任务对它进行了改进。