算法优化锦标赛。 - 页 60 1...535455565758596061626364656667...132 新评论 Andrey Dik 2016.06.22 20:25 #591 Yuri Evseenkov: 也就是说,可以传递一个空数组,如果所有的参数都等于零,就可以找出FF的值。0.0是否属于[-10.0;10.0] 范围?- 是的,确实如此。因此,你可以从充满0.0值的数组中找出FF值的参数。一般来说,没有人禁止你向FF输入绝对的数字,但是你只能在[-10.0;10.0] 的范围内得到一个充分的答案,而超出这个范围的数字将被切断到这些界限。如果你不考虑这一点,那么你的算法可以认为他在一个光滑的绿色表面上得到了,因为FF的值将永远是给定的FF的最小值 (任何,但不改变),并在广阔的实数中无限地徘徊(直到他的过程不会停止检查器)。 Yuri Evseenkov 2016.06.22 20:41 #592 Andrey Dik: 0.0是否属于[-10.0;10.0] 范围?- 是的,确实如此。因此,你可以从充满0.0值的数组中找出FF值的参数。一般来说,没有人禁止你向FF输入绝对的数字,但是你只能在[-10.0;10.0] 的范围内得到一个充分的答案,而超出这个范围的数字将被切断到这些界限。如果你不考虑这一点,那么你的算法可以认为得到了一个光滑的grizontalnuyu表面,因为FF的值将总是发出一个最小值 (任何,但不改变)为FF,并无限地徘徊在广阔的实数(直到他的过程不会停止检查器)。 明白了。谢谢。我计划在前4次调用时,数组中分别填入-10.0、0.0、10.0和2.7。我希望我的蟑螂能达到2.718,但步骤是0.1。你不能这样做。 Vasiliy Sokolov 2016.06.22 21:58 #593 Dmitry Fedoseev:好了,我走了,呆在你安静的 "道米 "世界里。把它从参与者中划掉。当然,我会向在座的每一位带着盔甲球的人解释。在第二个版本的脚本中,你不需要导入FF(),因为那里也导入了 参与者函数,所以FF()在参与者函数中是看不到的。FF()函数必须在成员库中被导入。即使是这种微不足道的废话的例子也被错误地呈现出来。我知道,我知道,你会说这很清楚。但如果这么清楚,为什么不提供正确的例子呢?还摆出一副我才是白痴的表情。拜拜了。迪姆,你至少应该在上讲台竞争之前检查过出口功能的操作。例如,我在发布我的原型之前,自然要检查其工作能力。当然,它也是有效的,也就是说,没有自定义库加载自己的函数实例。MT运行环境的工作方式一般与你想象的不同。 只有一个 库的实例,只有一个变量的实例被加载到检查脚本的地址空间,也就是说,每个人都将只使用一个特定的ff及其特定参数。如果你不相信我,请下载我的例子,看看它。 Igor Volodin 2016.06.22 22:11 #594 Vasiliy Sokolov:迪米特里只是没有看到,有两个算法库的选项也给了会员。而第二个有 FF功能导入(如他所说)。而第一个人没有。 Andrey Dik 2016.06.22 22:22 #595 Vasiliy Sokolov:迪姆,至少在你在讲台上大肆宣扬之前,你应该检查过出口职能部门的工作。否则就会变成从一系列"我没有看,但我判断 " 我,例如,在发布原型之前,当然要检查其性能。当然,它也是有效的,也就是说,没有自定义库加载自己的函数实例。MT运行环境的工作方式一般与你想象的不同。 只有一个 库的实例,只有一个变量的实例被加载到检查脚本的地址空间,也就是说,每个人都将只使用一个特定的ff及其特定参数。如果你不相信我,请下载我的例子,看看它。我已经说过关于双倍进口 的一个例子(找不到我的帖子了,这里有很多)。是的,这就是为什么有可能通过成员算法来控制FF的调用。如果脚本和算法调用了FF的每一个实例,那么冠军就不会发生,因为不可能检查算法是否真的像它所说的那样多次调用FF。...虽然,你可能可以通过算法中的一次导入来完成,我认为不可能运行*.ex5,卸载,再运行,来重置计数器(聪明的参赛者计划),但那样的话,你需要让参赛者自己调用整个统计,其他的可能性也需要参赛者考虑输出结果,这对参赛者是一个额外的复杂性。脚本方面更容易要求提供所有关于他们是否使用FF的必要信息。但无论如何,在我们的案例中,双重进口仍然不能被认为是一个错误。 Sergey Chalyshev 2016.06.22 22:50 #596 Andrey Dik:你不需要知道这个。保持在[-10.0;10.0]范围内,你就不会有问题。 0.0是否属于[-10.0;10.0] 范围?- 是的,确实如此。因此,你可以从充满0.0值的数组中找出FF的参数值。事实上,没有人禁止你把任何数字输入FF,但你只能在[-10.0;10.0] 的范围内得到一个适当的答案,而超出这个范围的数字将被切断到这些限制。如果你不考虑这一点,那么你的算法可以认为他在一个光滑的绿色表面上得到了,因为FF的值将总是给定FF的最小值 (任何,但不改变),并无休止地在广阔的实数中徘徊(直到他的过程不会停止检查器)。为了不麻烦剪裁边界,不限制算法,我们可以在FF中增加一行。if(array[ArrayMaximum(array)]>10.0 || array[ArrayMinimum(array)]<-10.0) return(0.0); Andrey Dik 2016.06.22 22:57 #597 Sergey Chalyshev: 为了不麻烦剪裁边界,不限制算法,你可以在FF中添加一行。为什么返回(0.0);? 或者更准确地说,为什么是0.0? Sergey Chalyshev 2016.06.22 23:01 #598 Andrey Dik:为什么返回(0.0);? 或者更准确地说,为什么是0.0?如果我们只寻找最大值,那么正确答案是return(-DBL_MAX); Andrey Dik 2016.06.22 23:33 #599 Sergey Chalyshev:如果我们只寻找最大值,那么正确的是重点是,在设计阶段,有可能得到带有不连续的 "表面",峰值为无穷大(向下或向上),但FF应该在输出时返回正确的值,所以所有的边界条件已经在FF中被考虑了,不会因为FF的错误而导致崩溃。这就是为什么我认为将参数削减到可接受的限度,并以这样的参数计算FF,然后输出你得到的结果,比在不正确的一个参数下有意输出-DBL_MAX要好。参与者知道参数的限制,必须遵守它们,否则有很多问题在每个特定的算法案例中都很难回答。就像现在这样,我们把所有的算法放在一个公平的竞争环境中。嗯。....,会被问到 "在设计阶段怎么会这样?!你说过没有人会知道FF的!!"....对于那些要问这样一个问题的人来说--先阅读一下这个主题。 Реter Konow 2016.06.23 08:01 #600 为什么范围内的数字是小数?你可以从-10.0到10,以0.1为增量,而不是从-100到100,以1为增量。 1...535455565758596061626364656667...132 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
也就是说,可以传递一个空数组,如果所有的参数都等于零,就可以找出FF的值。
0.0是否属于[-10.0;10.0] 范围?- 是的,确实如此。因此,你可以从充满0.0值的数组中找出FF值的参数。
一般来说,没有人禁止你向FF输入绝对的数字,但是你只能在[-10.0;10.0] 的范围内得到一个充分的答案,而超出这个范围的数字将被切断到这些界限。如果你不考虑这一点,那么你的算法可以认为他在一个光滑的绿色表面上得到了,因为FF的值将永远是给定的FF的最小值 (任何,但不改变),并在广阔的实数中无限地徘徊(直到他的过程不会停止检查器)。
0.0是否属于[-10.0;10.0] 范围?- 是的,确实如此。因此,你可以从充满0.0值的数组中找出FF值的参数。
一般来说,没有人禁止你向FF输入绝对的数字,但是你只能在[-10.0;10.0] 的范围内得到一个充分的答案,而超出这个范围的数字将被切断到这些界限。如果你不考虑这一点,那么你的算法可以认为得到了一个光滑的grizontalnuyu表面,因为FF的值将总是发出一个最小值 (任何,但不改变)为FF,并无限地徘徊在广阔的实数(直到他的过程不会停止检查器)。
好了,我走了,呆在你安静的 "道米 "世界里。把它从参与者中划掉。
当然,我会向在座的每一位带着盔甲球的人解释。在第二个版本的脚本中,你不需要导入FF(),因为那里也导入了 参与者函数,所以FF()在参与者函数中是看不到的。FF()函数必须在成员库中被导入。即使是这种微不足道的废话的例子也被错误地呈现出来。我知道,我知道,你会说这很清楚。但如果这么清楚,为什么不提供正确的例子呢?还摆出一副我才是白痴的表情。
拜拜了。
迪姆,你至少应该在上讲台竞争之前检查过出口功能的操作。例如,我在发布我的原型之前,自然要检查其工作能力。当然,它也是有效的,也就是说,没有自定义库加载自己的函数实例。
MT运行环境的工作方式一般与你想象的不同。 只有一个 库的实例,只有一个变量的实例被加载到检查脚本的地址空间,也就是说,每个人都将只使用一个特定的ff及其特定参数。如果你不相信我,请下载我的例子,看看它。
迪米特里只是没有看到,有两个算法库的选项也给了会员。而第二个有 FF功能导入(如他所说)。而第一个人没有。
迪姆,至少在你在讲台上大肆宣扬之前,你应该检查过出口职能部门的工作。否则就会变成从一系列"我没有看,但我判断 " 我,例如,在发布原型之前,当然要检查其性能。当然,它也是有效的,也就是说,没有自定义库加载自己的函数实例。
MT运行环境的工作方式一般与你想象的不同。 只有一个 库的实例,只有一个变量的实例被加载到检查脚本的地址空间,也就是说,每个人都将只使用一个特定的ff及其特定参数。如果你不相信我,请下载我的例子,看看它。
我已经说过关于双倍进口 的一个例子(找不到我的帖子了,这里有很多)。是的,这就是为什么有可能通过成员算法来控制FF的调用。如果脚本和算法调用了FF的每一个实例,那么冠军就不会发生,因为不可能检查算法是否真的像它所说的那样多次调用FF。
...
虽然,你可能可以通过算法中的一次导入来完成,我认为不可能运行*.ex5,卸载,再运行,来重置计数器(聪明的参赛者计划),但那样的话,你需要让参赛者自己调用整个统计,其他的可能性也需要参赛者考虑输出结果,这对参赛者是一个额外的复杂性。脚本方面更容易要求提供所有关于他们是否使用FF的必要信息。
但无论如何,在我们的案例中,双重进口仍然不能被认为是一个错误。
Andrey Dik:
你不需要知道这个。保持在[-10.0;10.0]范围内,你就不会有问题。
0.0是否属于[-10.0;10.0] 范围?- 是的,确实如此。因此,你可以从充满0.0值的数组中找出FF的参数值。
事实上,没有人禁止你把任何数字输入FF,但你只能在[-10.0;10.0] 的范围内得到一个适当的答案,而超出这个范围的数字将被切断到这些限制。如果你不考虑这一点,那么你的算法可以认为他在一个光滑的绿色表面上得到了,因为FF的值将总是给定FF的最小值 (任何,但不改变),并无休止地在广阔的实数中徘徊(直到他的过程不会停止检查器)。
为了不麻烦剪裁边界,不限制算法,我们可以在FF中增加一行。
为了不麻烦剪裁边界,不限制算法,你可以在FF中添加一行。
为什么返回(0.0);?
或者更准确地说,为什么是0.0?
为什么返回(0.0);?
或者更准确地说,为什么是0.0?
如果我们只寻找最大值,那么正确答案是
如果我们只寻找最大值,那么正确的是
重点是,在设计阶段,有可能得到带有不连续的 "表面",峰值为无穷大(向下或向上),但FF应该在输出时返回正确的值,所以所有的边界条件已经在FF中被考虑了,不会因为FF的错误而导致崩溃。
这就是为什么我认为将参数削减到可接受的限度,并以这样的参数计算FF,然后输出你得到的结果,比在不正确的一个参数下有意输出-DBL_MAX要好。
参与者知道参数的限制,必须遵守它们,否则有很多问题在每个特定的算法案例中都很难回答。就像现在这样,我们把所有的算法放在一个公平的竞争环境中。
嗯。....,会被问到 "在设计阶段怎么会这样?!你说过没有人会知道FF的!!"....对于那些要问这样一个问题的人来说--先阅读一下这个主题。