MetaTrader 4是市场行情接收软件,由迈达克软件公司2004年发布推出,提供免费试用,有中文界面。 它适用于Forex,CFD(差价合约/Contract For Difference)以及期货市场。2010年,迈达克软件公司推出了MetaTrader 5。5是4的升级版本。
1. 复制交易系统
复制交易系统,提供投资人在金融市场自动复制其他投资人交易操作的系统。主要功能有:账号管理(绑定、审核及解绑),订阅管理,风控设置等。如果要做成社区性质的还会有类似微博的功能。
2. 实现方案
2.1 EA MQL4 MQL5
支持语言
mql4 mql5
优点
- 官方支持,不会有被官方屏蔽的问题。
- 参考资料比较多。
缺点
- 只能实现一些本地的少量账户的跟随,无法充分支持跟单社区搭建所需的相关交互细节。
2.2 NJ4X
NJ4X发布于2010年,作者是乌克兰人Roman Kisilenko。 因为迈达克公司是一家俄罗斯公司,所以熟悉MT软件协议细节的不是大毛子就是小毛子。在编程易读性方面,该库是特别友好,因为其基本遵循官方MQL4库函数的命名规范。
支持语言
C# JAVA
优点
- 所有的接口命名和MQL 4是基本一致的,所以通过查阅MQL 4文档就可以很方便的了解到nj4x相关的接口
- 商业版价格便宜
- 和经纪商的连接性稳定,掉线重连机制依赖于MT4客户端
缺点
- 每启动一个MT账户都需要启动一个MetaTrader客户端,比较消耗内存资源,约30MB/MetaTrader;当每个账号的监听接口过多,也会造成CPU消耗过高;4核16G的Windows Server 2012大概可以承载70~110个MT4账号;
- 官方作者Roman在2019年已经停止技术支持,但作者承诺会保证其持续正常运行,最近的版本是2.8.6。但MetaTrader 4目前依然是可以正常使用的;目前MetaTrader 4软件本身也不怎么更新,所以MetaTrader 4一直使用问题也不大。 注意:(2022年10月MetaTrader 4 做了一次重大更新,客户端安装运行后不再保留srv文件了,该更新也导致2.8.6版本和最新的MetaTraer 4客户端不能配合工作;作者在2023/5/20日nj4x2.8.6在很多经纪商无法连接,进行了更新当前版本为2.8.9;作者在2023/5/24日nj4x2.8.6在很多经纪商无法连接,进行了更新当前版本为2.9.0)
2.3 mtapi
目前市场上面大部分的mtapi直连技术的主要出处,该技术供应商同时提供MetaTrader 4、 MetaTrader 5版本,需要分别付费购买。
支持语言
C++ C# JAVA RESTful
优点
- 支持的语言比较多
- 官方也持续在维护,针对于MetaTrader 5的维护还是很重要的因为MetaTrader 5的程序还是在不断的升级的,有时候升级会造成mtapi的不可用,需要mtapi官方及时的支持。
缺点
- 价格还是比较贵的,可以查阅官方网站
- api的可读性比较差,因为该api没有尽量和MQL官方的命名保持一致同时有大量的bug,需要持续售后。
- 不依赖于MetaTrader terminal客户端,造成掉线重连需要程序员自身处理,增加掉线重连处理的复杂度。