文章 "开发多币种 EA 交易(第 24 部分):添加新策略(二)"

 

新文章 开发多币种 EA 交易(第 24 部分):添加新策略(二)已发布:

在本文中,我们将继续将新策略与创建的自动优化系统联系起来。让我们看看需要对优化项目创建 EA 以及第二和第三阶段 EA 进行哪些更改。

我们将继续上一篇文章中开始的工作。我们在此提醒您,在将整个项目代码拆分为库部分和项目部分之后,我们决定研究如何从 SimpleVolumes 模型交易策略过渡到另一种策略。我们需要为此做些什么?这会有多容易?毫无疑问,有必要为新的交易策略编写一个类。但随后出现了一些意想不到的复杂情况。

它们与确保库部分独立于项目部分的愿望紧密相连。如果我们决定打破这项新引入的规则,就不会有任何困难。然而,最终找到了一种既能保持代码分离又能集成新交易策略的方法。这需要对项目的库文件进行更改,虽然数量不是很大,但意义重大。

因此,我们能够编译并运行第一阶段 EA 的优化,采用一种名为 SimpleCandles 的新策略。接下来的步骤是让它与自动优化输送机一起工作。对于之前的策略,我们开发了 CreateProject.mq5 EA,它能够创建任务优化数据库,以便在输送机上执行。在 EA 参数中,我们可以指定要优化的交易工具(交易品种)和时间周期、EA 阶段的名称以及其他必要信息。如果优化数据库之前不存在,则会自动创建。


作者:Yuriy Bykov

 

你好 @尤里

感谢您的精彩文章。机器意外重启后会发生什么情况?好吧,它恢复了优化,但我得到这个错误,它停止了:


GBPUSD,H1: testing of Experts\Article.17328\Stage3.ex5 from 2022.09.01 00:00 to 2023.01.01 00:00 started with inputs:

idTask_=52

fileName_=article.17328.db.sqlite
=

通过_=

=

groupName_=SimpleCandles_v.1.00_2023.01.01

advFileName_=SimpleCandles-27183.test.db.sqlite

SELECT DISTINCT FIRST_VALUE(p.params) OVER (PARTITION BY p.id_task ORDER BY custom_ontester DESC) AS params FROM passes p WHERE p.id_task IN ( SELECT pt.id_task FROM tasks t JOIN jobs j ON j.id_job = t.id_job JOIN stages s ON s.id_stage = j.id_stage JOIN jobs pj ON pj.id_stage = s.id_parent_stage JOIN tasks pt ON pt.i

测试程序停止,因为 OnInit 返回非零代码 1

连接已关闭

任何建议

 

你好@filippa.barbosa

抱歉 延迟 回复

看来 又是那个 难以捉摸的 bug 我们以为 已经 修复了 测试最后 文章代码不再遇到 不幸的是 无法 复制 修复

出现 消息的原因可能 ,即 第二个 阶段 形成的 不是 一个单独的 完成的 通道 可以尝试 手动 重启第二阶段 第三阶段 做到 这一点,请在 编辑器 打开优化 数据库 ,并 阶段 表中这些 阶段 记录的状态 "已完成"替换 "排队" 之后图表运行Optimisation.ex5 Expert Advisor

 
'ReadFile'--没有一个重载可以应用于函数调用 MTTester.mqh 1286 22
在编译 Optimisation.mq5 和其他文件时。请使用终端版本 5.00 build 5142 进行更正
 

你好,dave365

您需要将此文件替换为MultiTester 库中的最新版本。这将在下一部分 28 中完成。

MultiTester
MultiTester
  • 2019.07.19
  • www.mql5.com
Множественные прогоны/оптимизации в Тестере.
 
Yuriy Bykov #:

你好,dave365。

您需要将此文件替换为MultiTester 库中的最新版本。这将在下一部分 28 中完成。

所有对文章的评论都会在各语言分支中自动翻译。

如果您想在此阅读英文版,还可点击 "自动翻译 "按钮。

 
Rashid Umarov #:
在俄语部分用俄语书写。

拉希德,我完全支持你!您能同时解决这个问题(见下文)吗?

关于交易、自动交易系统和交易策略测试的论坛。

向 mql5.com 网站管理员提问

MrBrooklin, 2025.06.27 07:13 pm

大家早上好!

我进入了 "所有消息 "版块,那里有这样一张图片:

请问网站管理员(或该主题中的其他任何人)--为什么我的帖子需要使用所有世界语言?或者我需要在什么地方取消/勾选只保留俄语?以前没有出现过这种情况。

敬上,弗拉基米尔。


 

谢谢,我们会处理好的。

我们已经解决了这个问题,但似乎还不彻底。

 
Rashid Umarov #:

在俄语部分用俄语书写。

是的,当然。我会更加小心的--我从该主题的最后几篇文章来看,我以为问题是在英语主题中提出的。

 
Rashid Umarov #:

谢谢,我们会解决的。

我们已经解决了这个问题,但似乎还不彻底。

谢谢!

弗拉基米尔

 
Rashid Umarov #:

谢谢,我们会解决的。

我们已经解决了这个问题,但似乎还不彻底。

我们决定保持原样。