不适合MT开发者!用什么来代替INIT_PARAMETERS_INCORRECT? - 页 7

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

你似乎是那个完全忽略了这一点的人。所以,你那过于自信的 "建议 "去死吧!

它不会流入下水道))

你的外行问题得到了回答,我过于自信的建议也得到了回答。

你不是版主或管理员,所以不是由你来决定谁会被坑。

 
TheXpert:

一个人甚至不需要了解遗传算法的 基础就能按下优化按钮。只需按下按钮。

不,这就是在微波炉中烘干猫的情况。

没有必要鼓励这种 "我按下了按钮,为什么没有用!?"的消费主义态度。

ps:我的帖子与遗传学的使用没有关系。

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

你从根本上说是错的。

再一次,作为一个用户,我看到:优化慢/快。

就这样吧,我不感兴趣。既不是深入的知识,也不是从基本的事物出发。

这就是你的生活态度吗? 我担心这种业余的做事方式会给你带来很多麻烦。特别是在财务方面。如果你不想理解,你就会成为那些人的炮灰。

如果上面写着 "快 "和 "慢",一个有理智的人首先应该想到的是:既然可以快速获得同样的结果,为什么还要有 "慢 "呢?

但各人有各人的看法。

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

这就对了。

只是我倾向于认为,这些限制应该尽可能地由开发者来解决。弱点也是如此。

我尽量不使用遗传优化。但当我不得不这样做时,我不想陷入这些算法之中。嗯,这不是为了一个用户。

例如,我坐在电脑前,我只是点击按键,我完全不关心从我按下按键的那一刻起,直到角色出现在屏幕上会发生什么。我对处理器、显卡、螺丝、冷却器,以及它们之间的互动关系一点都不感兴趣。它也不适合普通用户。

嗯,这正是原因所在--你必须明白,按下一个符号按钮是为了得到一个单一的符号。而且,比如说,点击速度是有限制的。而你试图每秒钟按50次按钮,并对它没有显示50个字符感到不满。

问题--每秒感知50个字符的能力--这个限制应该取消吗? 大多数用户不会觉得更糟糕吗,联系人的响声被感知为字符?

 
TheXpert:

人们甚至不需要了解遗传算法的 基础,就能按下优化的按钮。

他为什么要这样做?

如果他不理解--他不应该问 "为什么我得到这个垃圾"。如果它成功了,那么它 "只是成功了"。它是这样设计的。

任何工具都需要一定程度的理解。这并不排除使用黑盒子,但即使使用黑盒子,也必须清楚地了解黑盒子运作的基本模式。

 

先生们,同志们!

我们正在滑向关于谁理解什么以及他们是否应该或不应该理解的讨论。而实质性的问题已经被排到了后面。

我不知道遗传学的机制,所以要努力理解我的意思。

有117649个变体(段落)。其中,只有1953年是被允许的。基本上,真正不能接受的是1(00000000)!!!。而115695是重复的。那些1953年 "允许的 "的不同变化。为了节省时间和资源,我通过INIT_PARAMETERS_INCORRECT将它们排除。

下一步。遗传学收集了第一个512人的群体。对吗?

而这一人群中立即包括了502名 "不可接受的 "个人。10个工作个体是不够的。我同意。

但512只是1953年的1/4(大约)。

在不进一步深入研究遗传学的情况下,我不清楚为什么 第一个种群不能只从 "允许的 "参数中组合出来?

而且,事实上,是什么阻止了随后的人口只从有效的参数中收集?
 
Andrey Khatimlianskii:

不,那是在微波炉中烘干猫的范围。

没有必要鼓励这种 "我按下了按钮,为什么没有用?"的消费主义态度。

我只是在说这个按钮。 我在上面解释了我的立场。 我再告诉你,我知道遗传算法,它在任何方面都不能帮助我优化
 

在其他方面,我个人只在优化模式 下使用INIT_PARAMETERS_INCORRECT,以筛选出那些并非字面意义上的无效参数,而只是不必要的 传递。

作为一个例子。

input   bool   использовать_параметр   = true;
input   int    парам_1                 = 5;
input   int    парам_2                 = 12;
input   int    парам_3                 = 100;
input   int    парам_4                 = 1;

........

因此,如果在测试期间和专家顾问工作期间,当using_parameter = false 时,其参数完全没有重要性,那么在优化过程中,这些参数的搜索就是不必要的,所以INIT_PARAMETERS_INCORRECT 被输出,除了与初始值的一次传递。这可以节省大量的时间。毕竟,为了一张有效的通行证,有一大堆无用的通行证。而遗传学把筛选出无用的传球当作一个粗略的错误。

开发人员,而不是以某种方式解决这个问题,而是派你去研究这个非常具有禁止性的基因。这样他们就有时间来研究它,我想。

我再次重申:用户不需要知道遗传学是如何工作的!这就需要开发商找到解决这个问题的办法。

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

在其他方面,我个人只在优化模式 下使用INIT_PARAMETERS_INCORRECT,以筛选出那些并非字面意义上的无效参数,而只是不必要的 传递。

作为一个例子。

因此,如果在测试期间和专家顾问工作期间,当using_parameter = false 时,其参数完全没有重要性,那么在优化过程中,这些参数的搜索就是不必要的,所以INIT_PARAMETERS_INCORRECT 被输出,除了与初始值的一次传递。这可以节省大量的时间。毕竟,为了一张有效的通行证,有一大堆无用的通行证。而遗传学将筛选出无用的传球视为一种粗暴的错误。

开发人员,而不是以某种方式解决这个问题,而是派你去研究这个非常具有禁止性的基因。这样他们就有时间来研究它,我想。

我再次重申:用户不需要知道遗传学是如何工作的!但要找到这个问题的解决方案,对开发者来说是一项任务。

你有4个参数,所以你需要组织这4个参数如何工作,只有用正确的值,那么遗传学可能会有用处。

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


有117649个选项(通行证)。其中,只有1953年是有效的。原则上,真正不能接受的是1(00000000)!!!。而115695是重复的。那些1953年 "允许的 "的不同变化。为了节省时间和资源,我通过INIT_PARAMETERS_INCORRECT排除了它们。

就我个人而言,我主要是在优化模式 下使用INIT_PARAMETERS_INCORRECT,正是为了筛选出那些不是不允许的参数,从字面上看,只是不必要的 传递。

这正是你的错误:遗传学中没有 "不必要的 "传球。它把所有的东西都摆在架子上,筛选出不必要的,以节省什么时间和资源为代价。 而你只会分散它的注意力。

事实上,你自相矛盾。 首先,你说你希望一切都能通过按下一个神奇的按钮而自行工作,不需要你做任何额外的努力。 但同时你又在代码中创造了萨满,据说是在帮助优化算法。

简而言之,现在一切都很清楚了。

谢尔盖-塔波林

这样吧。

121

那么结果将是21。而一连串的21人将重复这一结果。重复,为原则上无用的运行增加时间......

你不必通过INIT_PARAMETERS_INCORRECT来消除任何东西。 按照你的程序逻辑计算121,遗传学会完成它的工作,结果会在1953次以内得到(我希望)。

如果你使用缓慢的完全搜索进行优化,那么当然不需要额外的通道。 你可以在你的专家顾问中引入一个额外的参数,设置优化的类型。 如果是完全搜索,额外的通道会被拒绝,而如果是遗传,则不会被拒绝。 很遗憾,MQL没有提供知道优化类型的可能性。 开发人员应该要求添加这样的功能。