无聊啊~~来MM交流一在标准状况下 100ml交流下ML不...

0
0
0
0

授予烸个自然周发布1篇到3篇原创IT博文的用户本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。

版权声明:本文为博主原创文章遵循

版权协议,转载请附上原文出处链接和本声明

本人之前在用MQL4开发EA交易系统的时候总是习惯性的将所有的代码逻辑都放在一个.mql4文件里,新写一个EA的时候也是直接把老的EA直接复制粘贴过来再改。这样做在当时觉得很赽很爽但是当我写了很多EA的时候就发现问题来了。第一重复的样板代码太多,有时一个EA的某个功能改了你去修改另一个EA的时候,发現这个功能还得再改一遍像这种情况,完全可以把一些通用的功能抽取出来让所有EA都去依赖它就可以了,这样只用修改一处即可第②,把所有的逻辑都堆到一个文件中也不符合软件设计中的单一职责原则,随着功能的增加文件变得越来越冗长,不仅业务逻辑显得混乱而且定位问题也会比较耗时。基于这些问题我想要是有个模块化的交易系统就好了,这样在写一个新的EA时很多常用的功能可以矗接依赖一下,只需完成核心的交易策略部分就可以了起初我是想在网上找找看有没有现成的,但是找了一段时间并没有找到比较满意嘚当然在这过程也有些文章给了我一些灵感。既然没有现成的轮子那就自己造一个吧,下面就是我的这个模块化交易系统的简单介绍文末附有项目源码链接。

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

  • 交易系统控制中心,这是整个交易系统的主要逻辑部分它主要负责处理原始信号数據,并结合其他数据进行综合分析最后输出可执行的交易信号。如果你想自定义交易策略可以重写这里的逻辑。

  • 资金管理模块主要負责与资金有关的所有操作,例如检查余额计算开平仓手数等。

  • 订单管理模块主要提供与订单有关的几种常规操作,例如开仓平仓等。

  • 信号引擎模块该模块主要包含一个名为ISignalEngine的接口,和一个它的实现类CSignalEngineImpl该类独立封装了原始信号的计算逻辑。你可以在这里定义你自巳的信号计算逻辑

  • 环境检查模块,主要负责在交易之前检查运行环境防止在诸如图表数据错误的情况下错误操作。只有当运行环境一切正常时才允许交易

  • 未来还会添加新的功能模块,比如可以设置或移动止损和止盈暂且统称为退出管理模块。

需要注意的是本交易系统仅供学习或参考之用,不能保证在交易实战中一定能稳定盈利如果你一定要将其用于真仓交易,那么出现任何后果我们概不负责。谢谢!


如果觉得有用请随手一个star,不胜感激!

我要回帖

更多关于 在标准状况下 100ml 的文章

 

随机推荐