test

metatrader5安卓版:群体优化算法——差分进化(DE)

  元启发式优化算法是一类利用启发式技术来解决复杂优化问题的策略。与依赖数学分析、需要目标函数梯度或导数信息的数值优化方法不同,元启发式方法能够在函数存在多个局部最优解或不连续可微的情况下,有效地探索广阔的搜索空间以寻找全局最优解。这些方法的一个显着特点是,它们能够处理那些没有明确分析解的“黑盒子”函数。基于随机概率原则,元启发式方法能够提供高质量的解决方案。此外,对于需要在移动设备上进行交易策略优化的用户来说,metatrader5安卓版提供了一个便捷的平台,使得用户可以在安卓设备上应用这些优化算法,随时随地进行策略测试和优化。

MetaTrader5安卓版

  进化算法(Evolutionary algorithms,EA)是一类独立的元启发式优化方法,它模拟自然进化过程来解决复杂的优化问题。它们基于遗传、变异、交叉和自然选择的原理。进化算法中的进化过程模拟了自然选择,即最合适的解决方案更有可能存活下来,并将其特性传递给下一代。因此,群体会逐渐向最优解靠拢。最着名的进化算法包括:遗传算法 (GA)、进化编程 (EP)、进化策略 (ES) 和遗传编程 (GP)。这些算法各有特点,并被广泛应用于各个领域。

  一般来说,进化算法是解决复杂优化问题的强大工具,尤其是在无法获得分析函数表达式或梯度的情况下。它们允许探索搜索空间,并通过结合来自不同单个解决方案的信息找到最佳解决方案。

  差分进化(DE)是元启发式优化方法之一。它与其他方法的不同之处在于简单和高效。DE 使用变异和杂交的载体群体来创造新的解决方案。它不需要梯度知识,能够找到全局最优值。

  差分进化算法由 Storn 和 Price 于上世纪 90 年代开发,自此成为最流行的优化方法之一,它使用参数向量群来寻找最优解。

  2.算法

  差分进化的理念是简单和高效的结合。差分进化算法使用代表潜在解决方案的向量群,每个矢量由代表优化问题变量值的分量组成。

  在 DE 中,向量扮演搜索代理的角色。该算法首先创建一个随机向量群,然后会出现一个迭代过程,在这个过程中,每个向量都会发生变异,并与种群中的其他向量交叉。突变是通过将从群体中随机选择的两个向量的差值加到第三个向量上实现的。这样就创建了一个新的向量,它代表问题的潜在解决方案。

  变异后,变异的向量与原始向量交叉,交叉可以将两个向量的信息结合起来,创造出新的解决方案。将得到的结果与当前群体中的最佳解决方案进行比较,如果新向量更好,它就会取代旧向量,成为种群的一部分。突变允许探索搜索空间,而交叉则允许组合来自不同向量的信息并创建新的解决方案。

  突变、交叉和替换在多次迭代中重复进行,直到达到停止条件,如给定的迭代次数或达到要求的求解精度(在我们的例子中,是适应度函数运行达到 10,000 次)。

  DE 是广泛用于解决优化问题的进化算法之一。差分算法使用差分算子在当前群体的基础上创建新的候选者。以下是差分算法中使用的基本公式:

  1.创建新候选者的公式(差分):

  r = r1 + F * (r2 - r3)

  其中:

  r - 新的向量

  r1、r2 和 r3 - 随机选择的向量(群体中的单个解)

  F - 差分比,用于控制解决方案的可变性(所得值的分散性),默认范围为 (0.0;1.0] 。

  2.交叉公式:

  u = crossover (x, v)

  公式描述了当前解决方案 x 和新候选方案 v 之间的交叉。交叉算子决定从新的候选方案中提取解决方案的哪些成分。这是使用新向量分量的概率,否则这个部分就不会改变。使用数值范围是 (0.0;1.0]。

  让我们来写一个 DE 算法的伪代码,由于算法本身简单易懂(事实上,代码会比其伪代码更复杂一些):

  创建随机向量群

  计算适应度函数

  更新最佳解决方案

  更新群体(用更好的突变体替换向量)

  创建一个突变向量或保留原有向量,这取决于哪个更好

  重复第 2 步。

  为了在 DE 算法中描述一个向量,我们将编写一个结构,并将其称为 S_Vector,它是 n 维空间中的一个向量。该结构包含以下字段:

  Init(int coords):该函数初始化指定长度为 "coords" 的向量。它会创建两个数组 - "c" 和 "cPrev",分别代表矢量的坐标和前一个坐标。此外,f 和 fPrev 的初始值也设置为 -DBL_MAX。

  c[]:包含向量坐标的数组

  cPrev[]:包含上一次迭代时向量坐标的数组

  f:当前向量的适应度函数值

  fPrev:上一次迭代的向量适应度函数值

  随着技术的进步,这些算法的应用场景也在不断扩展。特别是在交易领域,metatrader5安卓版为用户提供了一个强大的工具,使得他们可以利用这些先进的优化算法来提高交易策略的表现。通过在移动设备上实时监控市场动态并调整策略,交易者可以更灵活地应对市场变化。