EA的某个功能改了项目源码链接|

简介

当我使用 MQL4 开发智能交易系统时,我总是习惯性地将所有代码逻辑放在一个 .mql4 文件中。当我写一个新的 EA 时,我也直接复制并粘贴旧的 EA,然后更改它。这在当时又快又酷用ea做数据流图,但是当我写了很多 EA 时,我发现了问题。首先,有太多重复的样板代码。有时 EA 的某个功能会发生变化。当您修改另一个 EA 时,您会发现必须再次更改此功能。在这种情况下,您可以完全更改一些常用功能。提取它并让所有 EA 依赖它,因此只需要进行一次修改。其次,将所有逻辑堆叠在一个文件中,不符合软件设计中的单一职责原则。随着功能的增加,文件变得越来越冗长,不仅业务逻辑显得混乱,而且定位问题。耗时的。基于这些问题,我想有一个模块化的交易系统,这样在编写新的EA时,可以直接依赖很多常用的功能,只需要完成核心交易策略部分。一开始想在网上搜索一下,看看有没有现成的,但是找了一阵子,都没有找到满意的。当然,在这个过程中,有些文章给了我一些启发。既然没有现成的轮子,那就自己做一个吧。下面简单介绍一下我的模块化交易系统。项目源码链接附在文末。

图片[1]-EA的某个功能改了项目源码链接|-唐朝资源网

模块化交易系统

这是一个基于 MQL4/MQL5 的模块化交易系统模板。它包含几个常用模块,如交易系统控制中心、资金管理模块、订单管理模块…等。模块化设计可以减少系统耦合,提高代码复用性。避免将所有代码放在一个文件中,可以让我们更专注于编写主要的业务逻辑。以下是该交易系统的主要模块:

图片[2]-EA的某个功能改了项目源码链接|-唐朝资源网

如何使用

如何编译

在 .在mqh文件中用ea做数据流图,通过注释和非注释选择你要编译的交易系统类型,然后编译。

图片[3]-EA的某个功能改了项目源码链接|-唐朝资源网

自定义信号引擎

自定义一个或多个类实现接口,封装一个或多个指标的某个信号的计算逻辑。

您可以参考本项目中实现的三个信号引擎示例。

自定义控制器

自定义一个类来实现 er 抽象类。在这个类中,您需要通过一个或多个信号引擎获取原始信号数据,然后对其进行综合处理,最终输出可执行的交易信号。然后将您的自定义控制器添加到控制器工厂类中,并将相应的预处理指令添加到文件中。

© 版权声明
THE END
喜欢就支持一下吧
点赞70 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片