自动搜索战略。 - 页 2

 
需要一个矿工,但搜索仍将在既定条件下进行。从狭义上讲,优化也是一种策略搜索。这个问题提得不对。
 
Yuriy Asaulenko:

在我看来,这个问题完全正确。在制定策略之前,最好先了解它是否可行。

有两种方法可以做到这一点。

1.Excel--我们在其中编写策略并进行检查。是的,还有 VBA。

2.MatLab - 将报价上传到数据库,连接到 MatLab 并在其中建立策略模型。比 Excel 更简单。

直接在 MT4/5 中操作不是更简单吗?如果搜索的目的是优化策略组合,为什么还要使用第三方程序?虽然我不确定这是否是问题所在?
 
Stanislav Korotky:
直接在 MT4/5 中操作不是更简单吗?如果搜索的目的是优化策略组合,为什么还要使用第三方程序?虽然我不确定这是否是问题所在?
如果您搜索的是一个策略,这并不容易。其他的我就不知道了,我还没想过。不过,任何建模都是在特殊环境下更容易,而不是在 MT 中。MT 是最终产品,不是为研究设计的,也不太适合研究。
 
Youri Tarshecki:

每次我把变体装入自动测试仪时,我都会考虑这个问题。我是这么想的

1.策略生成器的工作原理应该是从简单到复杂的进化树。

2.2. 应立即在 volking-forward 中检查变体并将其淘汰。

3.函数应手动准备,生成器应只计算它们相互作用的变体,即创建相互依存关系。

顺便说一下,我在英文主题中看到过一个保加利亚软件,其中有类似的内容。但由于它是在 MT4 上运行的,所以我对它不感兴趣。

这里还有一个德国软件,也是在 MT4 http://darwins-fx-tools.com/ 上运行的。

在这个变体中,开发工作正在进行...建立了一个函数交互图,搜索空间是无限的...

函数之间的连接将更加 "有意义",例如,"开>低 "的表达有意义,但 "开>量 "则没有意义,还有其他细微差别....。

 
下面是另一个无意义表达的例子:=High>(Open-Close),也无法通过。
 
Aliaksandr Hryshyn:
这里还有一个无意义表达的例子:=High>(Open-Close),也不会通过。

你会被这样的琐事淹没。我所说的函数是指事先准备好的一段内部一致的代码,它在指标的帮助下或独立地对 EA 的某些属性负责。也就是某种想法。

例如,定义历史分形的代码。或者,计算你不给它的一切。或者定义变化率。或者确定等级。

生成器的任务就是将这些不同的部件组合成一个工程解决方案。例如,计算水平线上分形的数量,并根据结果确定买入或卖出的优先顺序。或者,我们确定水平面上的加速度总和,将其与历史上的加速度进行比较,并在另一个函数中进行修正。等等等等。

也就是说,如果我们用生物进化来类比的话--有两类突变为选择提供了素材。第一种是点突变,事实上,点突变占基因组变化的绝大多数。问题是,它们通常不会导致任何结果。但由于这个过程已经持续了数十亿年,而且统计数字庞大,因此不断有幸运儿出现。就我个人而言,我没有一百万年、一百年甚至一打的时间来做愚蠢的搜索。

第二种类型的突变更为罕见,但也更有趣,那就是当重组发生时,也是自发的,但已经有了整体的解决方案。例如,在形成一个新的有性生物体时,父亲和母亲的不同基因会发生重组。或者在基因组中加入病毒。或者,一个独立的外来生物的整个基因组被接管。或者是整条染色体融合,形成一个新的物种(顺便说一下,类人猿)。

因此,这种发生器的任务就是按照一定的算法重新组合这些功能。只有这样,才有可能出现新的东西

通过将交易者从例行工作中解放出来,这样的生成器将留给他创造性的部分--专注于新想法的机会。此外,机械化总是能降低主观性的风险,并有助于摆脱印章。

 
Youri Tarshecki:

您将被细节淹没。我所说的功能,是指事先准备好的一段内部一致的代码,它在指标的帮助下或独立地负责 Expert Advisor 的某种属性。也就是某个想法。

例如,定义历史分形的代码。或者,计算您不给它的一切。或定义变化率。或者确定等级。

生成器的任务就是将这些不同的部件组合成一个工程解决方案。例如,计算水平线上分形的数量,并根据结果确定买入或卖出的优先顺序。或者,我们确定水平面上的加速度总和,将其与历史上的加速度进行比较,并在另一个函数中进行修正。等等等等。

因此,这种生成器的任务就是按照一定的算法重新组合这些函数。只有这样,才有可能出现新的东西

如果一段代码(函数)提出买入,另一段代码提出卖出。生成器如何将这些代码组合成一个综合解决方案?

或者,假设一个函数 A 认为价格下跌的概率为 P(A),而另一个函数 B 认为价格上涨的概率为 P(B),然后呢?我们应该应用概率论的公式吗?

 
Yuriy Asaulenko:
如果你在寻找策略,那就不容易了。其他的我就不知道了,我还没想过。不过,任何建模在特殊环境下都更容易,在 MT 中则不然。MT 是最终产品,不是为研究设计的,也不太适合研究。
这要看情况。对我来说,在 MT 中建立策略模型更容易,在此基础上添加任何估计算法都不成问题。
 
Yuri Evseenkov:

如果一段代码(函数)提供买入,另一段代码提供卖出,该怎么办?生成器如何将这些代码组合成一个综合解决方案?

或者,假设一个函数 A 认为价格下跌的概率为 P(A),而另一个函数 B 认为价格上涨的概率为 P(B),那么该怎么办?我们应该应用概率论的公式吗?

据我所知,这些代码(函数)的输出需要模拟值,而二进制值--买入/卖出--将在基因选择的帮助下在由这些函数组合而成的交易策略中出现。
 
Youri Tarshecki:

你会被细节淹没的。我所说的功能,是指事先准备好的一段内部一致的代码,它在指标的帮助下或独立地负责 Expert Advisor 的某种属性。也就是某个想法。

例如,定义历史分形的代码。或者,计算您不给它的一切。或定义变化率。或者确定等级。

生成器的任务就是将这些不同的部件组合成一个工程解决方案。例如,计算水平线上分形的数量,并根据结果确定买入或卖出的优先顺序。或者,我们确定水平面上的加速度总和,将其与历史上的加速度进行比较,并在另一个函数中进行修正。等等等等。

也就是说,如果我们用生物进化来类比的话--有两类突变为选择提供了素材。第一种是点突变,事实上,点突变占基因组变化的绝大多数。问题是,它们通常不会导致任何结果。但由于这个过程已经持续了数十亿年,而且统计数字庞大,因此不断有幸运儿出现。就我个人而言,我没有一百万年、一百年甚至一打的时间来做愚蠢的搜索。

第二种类型的突变更为罕见,但也更有趣,那就是当重组发生时,也是自发的,但已经有了整体的解决方案。例如,在形成一个新的有性生物体时,父亲和母亲的不同基因会发生重组。或者在基因组中加入病毒。或者,一个独立的外来生物的整个基因组被接管。或者是整条染色体融合,形成一个新的物种(顺便说一下,类人猿)。

因此,这种发生器的任务就是按照一定的算法重新组合这些功能。只有这样,才有可能出现新的东西

通过将交易者从例行工作中解放出来,这样的生成器将留给他创造性的部分--专注于新想法的机会。此外,机械化总是能降低主观性风险,有助于将自己从印章中解放出来。

确实有很多小事。

我试图建立一个通用的系统,这样就能以最小的代价增加分析指标、蜡烛图等的不同可能性。每个函数都有关于它可以处理哪些数据以及将输出哪些数据的信息。此外,还将介绍指标及其提供的数据类型。数据分为简单和复杂两种类型,例如{double}和{int,double};数据分为不同类别,例如 "价格 "和 "图表上的位置",又例如 "直线"(可用于定义通道)等。按 "刻度类型 "分类,例如 "常数"(策略参数)、"指数"(有最小值和最大值)、"比率"(只有一个参考点,如价格、成交量)等。有必要以一致的方式修改策略,这其中存在细微差别,在一个地方修改会影响另一个地方的修改条件。

没错...为了减少搜索组合的数量,并使用了上述限制(类型、规模、类别),目前这就足够了,并进行了点修改(增加/删除一个/几个功能)。

"重组也是自发的,但重组的是整个现成的解决方案"--我想到了这一点),很难想象如何才能实现。一组组合函数与 "外部世界 "的联系很可能比单个函数要多,因此将其全部楔入的机会就会减少。算法会变得非常复杂,让我们留到更好的时候再说吧))。