优化和样本外测试。

 

大家下午好。

在优化一个EA之后,我们经常要对优化器建议的十几组参数进行呆板的抽样。

我有一个在样本之外优化专家顾问的想法。假设我们向专家顾问 "收费",通过一些参数进行优化。例如,我们设定一个日期,从2006年1月1日到2007年1月1日。2006年至2007年1月1日。

我们已经收到了几千个专家顾问。之后,我们将带有优化结果 的页面保存为一个单独的文件。接下来,我们设置以下历史时期进行优化,即增加一两个月,或者根据需要增加。

在我们的案例中,我们设定的例子是从1月1日起。2007年6月1日,我们再次实现了优化。优化器不应该采取EXPERT'S PROPERTIES中的参数,而是从我们第一次优化后保存的文件中逐一重新选择。在这第二次优化之后,我们只剩下那些在样本之外获得利润的vAriens了!这也是我们的目标。

理想的结果是,我们得到了 "理想的参数",以便以后在网上进行测试!

我认为这将是对mt4测试器的一个有益补充。可能,而且很有可能,它已经被某个地方的人实施了。如果有人知道,请分享链接!

我由于知识不多,无法弄清楚如何在实践中去实施这个想法。

 
leonid553,你的方向是正确的,因为现有的没有对样本外数据进行测试的 "优化 "是纯曲线拟合。但基本算法应该更加复杂,就像神经网络程序一样。 所有的 "优化 "应该在所有数据集上一次性运行(这是开发人员的愿望)。当然,你可以只用两个数据集工作,但最好提供三个数据集--训练(A)、验证(B)和测试(C)。那么,在现有条件下,你将不得不或多或少地按照你的建议工作。
 
可以向专家指定一个带有参数的文件,然后他将在优化中使用该文件。或者可以更简单,在一个时间间隔上进行优化,然后在另一个时间间隔上进行优化,将所有内容保存在Excel中并进行比较 :-)
 
dimontus:
或者可以更简单,在一个时间间隔上进行优化,然后在另一个时间间隔上进行优化,将所有内容保存在Excel中并进行比较 :-)
不,Dimontus,它不是这样的。在不同的数据上进行两种不同的曲线拟合,不会有任何好处。
 
因此,如果它们是相同的,即不同时间间隔上的相同参数会产生类似的结果,这不正是该主题的作者想要的吗?
 
如果你可以通过第二种方法来筛选第一种方法上有希望的优化集,那么在第二种方法上做曲线拟合有什么意义呢?
 
你是什么意思?
 
我已经尝试了以下变体。
我在整个可用期间测试专家顾问,选择预期回报率最差的部分(图表上的倾角)并对其进行优化,这个最差的区间
我通过手工筛选出(尽可能多的)局部极值
然后,常规工作是将最差区间的优化数据插入优化器,并在整个可用区间内用该数据运行专家顾问。
从我所得到的,我选择了肉...:-)
 

根据上述情况,我认为以下方式:

要建立一个简单的附加专家顾问,-并在第一次优化后将所有获得的参数集加载到其中。

每一套都会有自己的索引。然后我们只需将这个额外的EA插入到测试器中,而不是第一个,并在样本之外进行优化,优化参数将是插入的套数的LOCAL NUMBER!

这可能有点棘手,但比手动的样本外优化好得多 ...

我们唯一需要考虑的是这个附加组件的多功能性。

 
有道理,leonid553。当你完成后,如果你不介意的话,把它放到代码库或这里。我相信很多人已经想要它了...我想了很久了,就是拿不出手。只有对样本外的优化参数,我才需要考虑,因为我必须以某种方式考虑到第一组数据的测试结果。
 
leonid553:

根据上述情况,我认为以下方式:

要建立一个简单的附加专家顾问,-并在第一次优化后将所有获得的参数集加载到其中。

每一套都会有自己的索引。然后我们只需将这个额外的EA插入到测试器中,而不是第一个,并在样本之外进行优化,优化参数将是插入的套数的LOCAL NUMBER!

这可能有点棘手,但比手动出样要好得多......。

我们唯一需要做的是考虑这个辅助性EA的多功能性。

我认为这并不容易,对于每个优化的参数与其他参数的联系,将确定几个极值。 如果将这些极值输入到神经网络的输入中,可能会找到一个解决方案。