文章 "开发多币种 EA 交易(第 22 部分):开始向设置的热插拔过渡"

 

新文章 开发多币种 EA 交易(第 22 部分):开始向设置的热插拔过渡已发布:

如果要自动进行周期性优化,我们需要考虑自动更新交易账户上已经运行的 EA 设置。这样一来,我们就可以在策略测试器中运行 EA,并在单次运行中更改其设置。

让我们试着更详细地描述我们想要实现的目标。理想情况下,系统应该这样工作:

  1. 生成一个项目,将当前日期作为优化期的结束日期。 
  2. 该项目在输送机上启动。其实施需要一些时间,从几天到几周不等。
  3. 结果加载到最终 EA 中。如果最终的 EA 还没有进行过交易,则会在真实账户上启动它。如果它已经在账户上运行,那么它的参数将被最后一个项目通过输送机后收到的新参数替换。
  4. 让我们继续回到第一步。

让我们逐一探讨这些要点。为了实现第一步,我们已经有了一部分的项目生成脚本 EA,我们可以在其中使用参数来选择优化的结束日期。但目前它只能手动启动。这可以通过在项目执行输送机中添加一个额外的阶段来解决,该阶段在当前项目的所有其他阶段完成后生成一个新项目。然后我们只需要第一次手动运行它即可。

对于第二点,我们只需要一台安装了 Optimization.ex5 EA 的终端,该终端的参数中指定了所需的数据库。一旦新的未完成项目任务出现在其中,它们将按照队列的顺序启动执行。在创建新项目之前的最后一个阶段,应该以某种形式将项目优化的结果转移到最终的 EA 中。

第三点是最难的。我们已经实现了将参数传递给最终 EA 的单一选项,但这仍然需要手动操作:您需要运行一个单独的 EA,将参数库导出到一个文件,然后将该文件复制到项目文件夹,然后重新编译最终的 EA。虽然我们现在可以将这些操作的执行委托给程序代码,但结构本身开始显得不必要地繁琐。我想做一些更简单、更可靠的事情。


作者:Yuriy Bykov