使用java调用mt4 API,用java来开发EA

 

最近在研究EA,本身自己就是一个java开发者,所以自然最先想到使用java来开发了,当然用python或者c++来开发也是不错的,不过语言,学那么多干嘛,学一个就行了。

这是我找到的一个用java封装了mt4 api的项目,并且项目是长期维护的,这对于全世界程序员人数最多的java开发者来说,简直不要太友好,网站在这里:http://www.nj4x.com/

点击下载,可以看到有nj4x-4,和nj4x-5两个版本,代表使用mq4语言和mq5语言,下载的解压包中有jar包和好多示例,也有api说明,但是高级的东西就需要付费,不过我相信基本的东西靠看API文档是一定可以搞定的。

另外我在github上找到一个项目源码,有兴趣的可以大致了解java连接mt4的过程:https://github.com/spartajet/nj4x-mt4,还有什么新的信息,我会补充上来。

另外找到一个使用激石的例子,简直太nice了,壮哉我大java。https://github.com/lucumt/pepperstone-trade-platform

Forex trading Java / .Net API
Forex trading Java / .Net API
  • Copyright © Gerasimenko Roman 2009-2017
  • www.nj4x.com
Service Providers use it to ... Build WEB platforms for Forex traders across different brokers. Design mobile Forex applications. Provide various Forex account copier capabilities. Establish advanced WEB/mobile interfaces to the Broker's trading servers. Implement highly scalable distributed cloud trading applications...
 
Hong Jian Li:

最近在研究EA,本身自己就是一个java开发者,所以自然最先想到使用java来开发了,当然用python或者c++来开发也是不错的,不过语言,学那么多干嘛,学一个就行了。

这是我找到的一个用java封装了mt4 api的项目,并且项目是长期维护的,这对于java开发者来说,简直不要太友好,网站在这里:http://www.nj4x.com/

点击下载,可以看到有nj4x-4,和nj4x-5两个版本,代表使用mq4语言和mq5语言,下载的解压包中有jar包和好多示例,也有api说明,但是高级的东西就需要付费,不过我相信基本的东西靠看API文档是一定可以搞定的。

另外我在github上找到一个项目源码,有兴趣的可以大致了解java连接mt4的过程:https://github.com/spartajet/nj4x-mt4,还有什么新的信息,我会补充上来。


本想将下载的包当附件放上来的,结果太大了,这就尴尬了。

 
不错,感谢分享 :)
 
Jian Chen:
不错,感谢分享 :)
我已经在用maven开发EA了,过段时间我在论坛里写个教程,用JAVA开发比用c++开发语法上要容易的多。
 

支持创新!

但有个小问题,用 Java 编写的 EA 能编译成本地 ex4/ex5 吗?

否则老拖着一堆 DLL,就没法放到市场里出售了。

 
Xiangdong Guo:

支持创新!

但有个小问题,用 Java 编写的 EA 能编译成本地 ex4/ex5 吗?

否则老拖着一堆 DLL,就没法放到市场里出售了。


根据我的理解,这里说到的 nj4x 是独立于 MT4/MT5 终端架构的,是直接与 MT4/MT5 服务器做交互的。所以不会编译成 ex4/ex5 ,是脱离 MT4/MT5 终端而直接运行的。

 
Xiangdong Guo:

支持创新!

但有个小问题,用 Java 编写的 EA 能编译成本地 ex4/ex5 吗?

否则老拖着一堆 DLL,就没法放到市场里出售了。


有一个dll文件,还有一个nj4x.ex4文件作依赖,debug用java,编译完之后还是ex4/ex5文件,仅仅只是java的写法的不同。

 
Jian Chen:

根据我的理解,这里说到的 nj4x 是独立于 MT4/MT5 终端架构的,是直接与 MT4/MT5 服务器做交互的。所以不会编译成 ex4/ex5 ,是脱离 MT4/MT5 终端而直接运行的。


可以连接mt4服务器,最终还是生成一个ex4文件,nj4x仅仅是作一个中间件的存在。

 
Hong Jian Li:

可以连接mt4服务器,最终还是生成一个ex4文件,nj4x仅仅是作一个中间件的存在。


可以看github上这个作者的编译的源码(https://github.com/spartajet/nj4x-mt4),里面列出了c++连接mt4服务器的过程,同样也列出了java连接mt4服务器的过程,大的地方没什么不同,仅仅两者语法的区别。

 
Hong Jian Li:

可以连接mt4服务器,最终还是生成一个ex4文件,nj4x仅仅是作一个中间件的存在。


哦哦,看来理解错了 :))

 
Hong Jian Li:

有一个dll文件,还有一个nj4x.ex4文件作依赖,debug用java,编译完之后还是ex4/ex5文件,仅仅只是java的写法的不同。


我的意思是最终发布的 ex4/ex5 文件能否脱离 DLL 独立运行。

因为含 DLL 调用的 ex4/ex5 文件不能进入应用商店出售。