优化的结果与对其进行的单一测试不同 - 页 6 1234567 新评论 Candid 2011.12.03 12:53 #51 我看到传播测试的问题已经被反复提出。我最近到了一个系统,看起来或多或少有些严肃(就实际交易而言),因此需要彻底测试。而且也一直在关注这个问题。因此,我写了一个简单的脚本,为离线测试设置所需的传播。 其原理是众所周知的,在symbols.sel文件中,Ask被覆盖了。因此,在离线终端中把它从历史文件夹中复制到experts/files文件夹中,启动脚本,然后关闭终端,把symbols.sel复制回来,再次启动终端。 P.S. 替换了脚本,一个小的疏忽是,如果有人突然有时间采取SetSpread而不是SetSpread_1,需要重新下载。 附加的文件: setspread_1.mq4 2 kb [删除] 2012.09.28 15:46 #52 同样的问题。我在优化过程中得到了同样的结果,但在单次运行中的结果却截然不同。感谢Mathemat为我指明了正确的方向。数学。 在测试过程中,要小心对待这些物体。最好是根本不使用它们。 我将分享发生的情况和解决的方法,也许有人会觉得有用。我自己写了一个指标,使用趋势线。该指标将破损趋势线的数量传递给终端的全局变量。事情是这样的。 GlobalVariableSet("GV_name", number); 并在专家顾问中取值为 int dc = GlobalVariableGet("GV_name"); 可视化器和单一测试中一切正常。因此,我决定省去声明一个 "额外 "的变量,以减少代码大小。在我按以下方式修正了代码后,一切都开始工作了,在优化器和单一测试中都有相同的结果。 string GlobVar = "GV_name"; // объявил переменную в индикаторе на глобальном уровне программы int start(){ GlobalVariableSet(GlobVar, number); } string GlobVar; // объявил переменную в советнике на глобальном уровне программы int dc; int start(){ dc = GlobalVariableGet(GlobVar); } 因此,在指标和EA中设置全局变量使一切都正常工作。 Andrey Kaunov 2020.12.16 19:01 #53 晚上好,各位同事。 我决定重新启动这个话题,因为我遇到了一个同样的问题。 我的专家顾问不使用图形对象。我设置了一个到处都一样的自定义点差。然而,单一测试与优化结果 有很大的不同。此外,我在不同的电脑上进行了单次测试,它们 看起来都 很相似,但与优化结果不一致。 也许有人已经找到了解决办法? Valeriy Yastremskiy 2020.12.16 19:40 #54 Andrey Kaunov:晚上好,各位同事。我决定重新启动这个话题,因为我遇到了一个同样的问题。我的专家顾问不使用图形对象。我设置了一个到处都一样的自定义点差。然而,单一测试与优化结果 有很大的不同。此外,我在不同的电脑上进行了单次测试,它们 看起来都 很相似,但与优化结果不一致。也许有人已经找到了解决方案? 为什么它们应该是一样的?如果只是通过对参数的全面分析和选择最佳方案。但这是昂贵的,而且是资源密集型的。这就是我们使用遗传算法的原因。而它们基本上是这样建立的:从那些被优化的参数集中随机抽样 ,然后选择最好的一个,在那里进行更详细的搜索。例如,6个参数。提出最佳解决方案就像6维空间中的最高密度。而且可以有很多密集化的点。好的算法给出光滑的6维体积滑道,密度不大,优化会找到它们,如果算法给出尖锐的密度,那么结果可能是随机的。也就是说,优化会找到密度,但不是每次都是同一组参数(相同的模型)。 Andrey Kaunov 2020.12.16 19:47 #55 瓦莱里,我不回答,而是引用,请允许我...... eugene-last:嗯...我认为很多人只是拒绝理解这个问题。或者故意走开。什么是优化,什么是单一测试?答案:优化是几个单一的测试。 这意味着什么? 回答:理论上意味着优化通过是相同的,最后的结果与单一测试相同。 那么,在实践中,事实证明情况并非如此。而专家顾问(顺便说一下,这不是一个格言,我看到它困扰着这里的一些人)并没有失败,因为单一测试显示了完全相同的结果。那么,为什么这个单一的优化测试会得到不同的结果呢?"?"?"?"?"?"? Igor Makanu 2020.12.16 19:59 #56 Andrey Kaunov:晚上好,各位同事。我决定重新启动这个话题,因为我遇到了一个同样的问题。我的专家顾问不使用图形对象。我设置了一个到处都一样的自定义点差。然而,单一测试与优化结果 有很大的不同。此外,我在不同的电脑上进行了单次测试,它们 看起来都 很相似,但与优化结果不一致。也许有人已经找到了解决方案? 1.检查所有变量是否被初始化,尽管在过去的MQL4中--未初始化的变量等于0,现在我不知道。 2,如果你使用动态数组--你需要检查ArrayResize()的结果--我有一个问题,我为4-5个指标做了EA,结果发现一个指标吃掉了所有的内存,在我的EA中,ArrayResize()并不总是给出要求的数组大小--它曾经工作过,或者没有。如果我没有弄错的话,MQL4最大 有大约3Gb的内存,用于MQL-程序,终端是32位。 Valeriy Yastremskiy 2020.12.16 20:17 #57 Andrey Kaunov:瓦莱里,我不回答,而是引用,请允许我...... 我不太清楚,我不知道。优化毕竟不是几个单一的测试,而是很多。所以为了速度,也许输入的数据可以不同。为了弄清这个问题,我们需要简单的可重复的问题代码。然后也许开发者会回答。 Andrey Kaunov 2020.12.16 20:26 #58 Igor Makanu:1.检查所有的变量是否被初始化,尽管以前在MQL4中--未初始化的变量等于0,现在我不知道了,顺便说一下,这也涉及到指标。2、如果你使用动态数组--你需要检查ArrayResize()的结果--我遇到过这个问题,我为4-5个指标做了EA,结果发现一个指标吃掉了所有的内存,在EA中,我没有一直用ArrayResize()标记数组的请求大小--它起作用了,其他时间都没有作用。如果我没有弄错的话,MQL4最大 有大约3Gb的内存,用于MQL-程序,终端有32位。 伊戈尔,谢谢你的提示。我将尝试在这个方向上做一些研究。 Valeriy Yastremskiy: 我不确定,我不知道。因此,为了速度,输入的数据可能会有所不同。为了弄清这个问题,我们需要简单的可重复的问题代码。然后,也许开发者会回答。 那么,没有什么应该是不同的,否则就失去了优化的全部意义。而开发商10年来都没有回答任何问题......。 Valeriy Yastremskiy 2020.12.16 20:42 #59 Andrey Kaunov:伊戈尔,谢谢你的提示。我会试着朝这个方向去挖掘。那么,没有什么应该是不同的,否则就失去了优化的全部意义。而开发商10年来都没有回答任何问题......。 开发人员不理解文字和投诉。只有可理解的代码才能再现问题)。 Aleksey Mavrin 2020.12.16 21:25 #60 Igor Makanu:1.检查所有的变量是否被初始化,尽管以前在MQL4中--未初始化的变量等于0,现在我不知道了,顺便说一下,这也涉及到指标。2、如果你使用动态数组--你需要检查ArrayResize()的结果--我有这个问题,我在4-5个指标上做了EA,结果发现一个指标吃掉了所有的内存,而在EA中,我没有一直用ArrayResize()标记数组的请求大小--它曾经工作或不工作。如果我没有记错的话,在MQL4 中, MQL-程序 的内存最大约为3Gb,终端为32位。 4里有零,5里有垃圾。上一次这样的问题似乎正是因为找到了在OnInit之外初始化的变量,并在优化运行过程中发生变化,即在 在下一次传递中,他们最终没有得到他们的原始价值。 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我看到传播测试的问题已经被反复提出。我最近到了一个系统,看起来或多或少有些严肃(就实际交易而言),因此需要彻底测试。而且也一直在关注这个问题。因此,我写了一个简单的脚本,为离线测试设置所需的传播。
其原理是众所周知的,在symbols.sel文件中,Ask被覆盖了。因此,在离线终端中把它从历史文件夹中复制到experts/files文件夹中,启动脚本,然后关闭终端,把symbols.sel复制回来,再次启动终端。
P.S. 替换了脚本,一个小的疏忽是,如果有人突然有时间采取SetSpread而不是SetSpread_1,需要重新下载。
数学。
在测试过程中,要小心对待这些物体。最好是根本不使用它们。
我将分享发生的情况和解决的方法,也许有人会觉得有用。我自己写了一个指标,使用趋势线。该指标将破损趋势线的数量传递给终端的全局变量。事情是这样的。
并在专家顾问中取值为
可视化器和单一测试中一切正常。因此,我决定省去声明一个 "额外 "的变量,以减少代码大小。在我按以下方式修正了代码后,一切都开始工作了,在优化器和单一测试中都有相同的结果。
因此,在指标和EA中设置全局变量使一切都正常工作。
晚上好,各位同事。
我决定重新启动这个话题,因为我遇到了一个同样的问题。
我的专家顾问不使用图形对象。我设置了一个到处都一样的自定义点差。然而,单一测试与优化结果 有很大的不同。此外,我在不同的电脑上进行了单次测试,它们 看起来都 很相似,但与优化结果不一致。
也许有人已经找到了解决办法?
晚上好,各位同事。
我决定重新启动这个话题,因为我遇到了一个同样的问题。
我的专家顾问不使用图形对象。我设置了一个到处都一样的自定义点差。然而,单一测试与优化结果 有很大的不同。此外,我在不同的电脑上进行了单次测试,它们 看起来都 很相似,但与优化结果不一致。
也许有人已经找到了解决方案?
为什么它们应该是一样的?如果只是通过对参数的全面分析和选择最佳方案。但这是昂贵的,而且是资源密集型的。这就是我们使用遗传算法的原因。而它们基本上是这样建立的:从那些被优化的参数集中随机抽样 ,然后选择最好的一个,在那里进行更详细的搜索。例如,6个参数。提出最佳解决方案就像6维空间中的最高密度。而且可以有很多密集化的点。好的算法给出光滑的6维体积滑道,密度不大,优化会找到它们,如果算法给出尖锐的密度,那么结果可能是随机的。也就是说,优化会找到密度,但不是每次都是同一组参数(相同的模型)。
瓦莱里,我不回答,而是引用,请允许我......
嗯...我认为很多人只是拒绝理解这个问题。或者故意走开。
什么是优化,什么是单一测试?答案:优化是几个单一的测试。
这意味着什么? 回答:理论上意味着优化通过是相同的,最后的结果与单一测试相同。
那么,在实践中,事实证明情况并非如此。而专家顾问(顺便说一下,这不是一个格言,我看到它困扰着这里的一些人)并没有失败,因为单一测试显示了完全相同的结果。那么,为什么这个单一的优化测试会得到不同的结果呢?"?"?"?"?"?"?
晚上好,各位同事。
我决定重新启动这个话题,因为我遇到了一个同样的问题。
我的专家顾问不使用图形对象。我设置了一个到处都一样的自定义点差。然而,单一测试与优化结果 有很大的不同。此外,我在不同的电脑上进行了单次测试,它们 看起来都 很相似,但与优化结果不一致。
也许有人已经找到了解决方案?
1.检查所有变量是否被初始化,尽管在过去的MQL4中--未初始化的变量等于0,现在我不知道。
2,如果你使用动态数组--你需要检查ArrayResize()的结果--我有一个问题,我为4-5个指标做了EA,结果发现一个指标吃掉了所有的内存,在我的EA中,ArrayResize()并不总是给出要求的数组大小--它曾经工作过,或者没有。如果我没有弄错的话,MQL4最大 有大约3Gb的内存,用于MQL-程序,终端是32位。
瓦莱里,我不回答,而是引用,请允许我......
我不太清楚,我不知道。优化毕竟不是几个单一的测试,而是很多。所以为了速度,也许输入的数据可以不同。为了弄清这个问题,我们需要简单的可重复的问题代码。然后也许开发者会回答。
1.检查所有的变量是否被初始化,尽管以前在MQL4中--未初始化的变量等于0,现在我不知道了,顺便说一下,这也涉及到指标。
2、如果你使用动态数组--你需要检查ArrayResize()的结果--我遇到过这个问题,我为4-5个指标做了EA,结果发现一个指标吃掉了所有的内存,在EA中,我没有一直用ArrayResize()标记数组的请求大小--它起作用了,其他时间都没有作用。如果我没有弄错的话,MQL4最大 有大约3Gb的内存,用于MQL-程序,终端有32位。
伊戈尔,谢谢你的提示。我将尝试在这个方向上做一些研究。
我不确定,我不知道。因此,为了速度,输入的数据可能会有所不同。为了弄清这个问题,我们需要简单的可重复的问题代码。然后,也许开发者会回答。
那么,没有什么应该是不同的,否则就失去了优化的全部意义。而开发商10年来都没有回答任何问题......。
伊戈尔,谢谢你的提示。我会试着朝这个方向去挖掘。
那么,没有什么应该是不同的,否则就失去了优化的全部意义。而开发商10年来都没有回答任何问题......。
开发人员不理解文字和投诉。只有可理解的代码才能再现问题)。
1.检查所有的变量是否被初始化,尽管以前在MQL4中--未初始化的变量等于0,现在我不知道了,顺便说一下,这也涉及到指标。
2、如果你使用动态数组--你需要检查ArrayResize()的结果--我有这个问题,我在4-5个指标上做了EA,结果发现一个指标吃掉了所有的内存,而在EA中,我没有一直用ArrayResize()标记数组的请求大小--它曾经工作或不工作。如果我没有记错的话,在MQL4 中, MQL-程序 的内存最大约为3Gb,终端为32位。
4里有零,5里有垃圾。上一次这样的问题似乎正是因为找到了在OnInit之外初始化的变量,并在优化运行过程中发生变化,即在
在下一次传递中,他们最终没有得到他们的原始价值。