NJ4X源码阅读分析笔记系列(一)——项目整体分析

NJ4X是什么

参见NJ4X的官网:http://www.nj4x.com/

Java and .Net interfaces to supported Forex brokers in a legal and robust way.

这个NJ4X是个乌克兰人写的,代码风格相当彪悍,不愧是战斗民族。


大题的架构图如下:

本文研究的NJ4X版本

2.6.2

NJ4X的整体架构

NJ4X由以下六部分组成:

  • mt4if MT4语言的C++接口(MT4 Interface DLL)
  • nj4x-ts NJ4X终端服务器(NJ4X Terminal Server)
  • jfx MT4 终端API,JAVA版(JFX MT4 Terminal API for Java)
  • nj4x MT4 终端API,.NET版 (NJ4X MT4 Terminal API for .Net)
  • ea 专家系统 (JFX Expert Advisor)
  • zero-term 具体不明,不知道是干什么,后期有时间会分析。

运行系统要求

官方推荐用windows,因为有C++的库。但是看Q&A上面也有说可以在Linux下运行的,原理是采用WINE,我没有试过,有兴趣的可以自己去试试。MAC下也可以使用WINE,我没有试过。

参见:How can I run Terminal Server on WINE (Linux)?

用到的工具

  • JDK1.7以上 我用的是1.8
  • Visual Studio2013以上 我用的是2015
  • Maven 3.3.9
  • Nuget.exe 这个要说一下,现在的vs自带nuget,但是我不知道nuget的具体目录,只能单独下载一个。
  • launch4j 这个是把jar可执行程序转换为exe的。
  • 7Zip 负责解压的,用来解压zrv

项目转换

其中mt4ifnj4x这两个项目需要在VS转换为本地VS能够处理的。mt4ifC++写的,nj4xC#写的。

转换的话就是在VS中打开,然后按照提示操作就行了,和我们用高版本VS打开低版本的VS开发的项目是一样的。

记住,转换之后就可以关闭VS了,VS可以歇菜了,不要用VS编译项目

项目编译

首先在项目根目录下的pom.xml中设置好所需工具的路径,设置成为你自己的路径。

<zip7>C:\Program Files\7-Zip\7z.exe</zip7>
<devenv>C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe</devenv>
<mstest>C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe</mstest>
<launch4j.dir>C:\Program Files (x86)\Launch4j</launch4j.dir>

首先进入mt4if模块中,mvn pacakge编译好C++库。然后就可以在编译你需要的模块了。

如果想编译整个项目,就在根目录下mvn pacakge,但是容易出错,你要重试好多次,过程比较麻烦。

最后,项目如图所示:

NJ4X源码阅读分析笔记系列(一)——项目整体分析相关推荐

  1. NJ4X源码阅读分析笔记系列(三)—— nj4x-ts深入分析

    NJ4X源码阅读分析笔记系列(三)-- nj4x-ts深入分析 一.系统的工作流程图(模块级) 其工作流程如下(以行情获取为例): 应用端向Application Server发起连接 应用服务器调用 ...

  2. NJ4X源码阅读分析笔记系列(一)——项目整体分析 1

    NJ4X是什么 参见NJ4X的官网:http://www.nj4x.com/ Java and .Net interfaces to supported Forex brokers in a lega ...

  3. Vuex源码阅读分析

    Vuex源码阅读分析 Vuex是专为Vue开发的统一状态管理工具.当我们的项目不是很复杂时,一些交互可以通过全局事件总线解决,但是这种观察者模式有些弊端,开发时可能没什么感觉,但是当项目变得复杂,维护 ...

  4. 《源码阅读》专栏系列开篇 - 当Java工程师的这几年

    <源码阅读>专栏系列开篇 - 当Java工程师的这几年 2020年了,受疫情影响,开始在家坐起了"月子".利用这段时间梳理下自己的职业生涯规划. 职业生涯回顾 2013 ...

  5. 源码阅读分析 View的Touch事件分发

    其实 Android 事件分发机制在早几年一直都困扰着我,那时候处理事件分发的自定义 View 脑子都是一片白,老感觉处理不好.后来自己看了 android 源码,也阅读了很多大牛的文章才算彻底明白, ...

  6. Scrapy源码阅读分析_1_整体框架和流程介绍

    From:https://blog.csdn.net/weixin_37947156/article/details/74435304 Scrapy github 下载地址:https://githu ...

  7. Kubernetes 1.12.0 Kube-controller-manager之replicaset-controller源码阅读分析

    前言 Kube-controller-manager组件最终启动了很多controller,本文将对其中的replicaset-controller的源码进行阅读分析. 启动replicaset-co ...

  8. Scrapy源码阅读分析_3_核心组件

    From:https://blog.csdn.net/weixin_37947156/article/details/74481758 这篇这要是关于核心组件,讲解这些核心组件初始化都做了哪些工作.包 ...

  9. Scrapy源码阅读分析_2_启动流程

    From:https://blog.csdn.net/weixin_37947156/article/details/74436333 使用 PyCharm 打开下载好的 Scrapy 源码(gith ...

最新文章

  1. AC日记——[USACO07DEC]手链Charm Bracelet 洛谷 P2871
  2. 苹果应用ipa图片提取
  3. Java中console类的简单用法
  4. 前端模块化CommonJSES6
  5. 11.1 问题描述及流程-机器学习笔记-斯坦福吴恩达教授
  6. Windows Live Messenger 8.5 抢先试用
  7. Boost:bind绑定一元地址的测试程序
  8. ASP.NET自带的散列加密口令【转】
  9. 图书管理系统 java 源码_[源码和文档分享]基于C语言和SQL SERVER数据库实现的图书管理系统...
  10. Java和pathion_Spring配置中的classpath:与classpath*:的区别
  11. 如何在修改 gulpfile.js 文件后自动重启 gulp?
  12. 智能车学习(二十)——浅谈C车硬连接与软连接
  13. #Win8# Secondary Tile
  14. 内推 |阿里大文娱-数据分析(广州/北京)
  15. IMPLEMENT_DYNCREATE(CFileView, CView)
  16. 修改MySQL的配置文件
  17. Kindle4rss中文rss资源推荐~
  18. python 爬虫 爬取 小米有品 全网 商品数据
  19. python高级教程_Python高级进阶教程
  20. Android旗舰机与苹果,iPhone SE与最强Android旗舰机相比会如何

热门文章

  1. linux i2c 读写函数,Linux下读写芯片的I2C寄存器
  2. 装了mysql但是服务里没有反应_Mysql安装后在服务里找不到和服务启动不起来的解决方法...
  3. k8s pod restartcount 改0_Prometheus+k8s之告警通知
  4. python编程300例_经典编程100例——python版(例75)
  5. python response.json()报错_python:解析requests返回的response(json格式)说明
  6. 详解@EnableEurekaServer和@EnableDiscoveryClient 或 @EnableEurekaClient注解
  7. Spring Ioc注解式开发中注解的作用
  8. matlab fprintf_Matlab给Ansys助攻
  9. linux 控制台输入命令无效_在控制台输入什么命令都提示commandnotfound原因是什么?suselinux...
  10. 虚拟机安装python3.6.6_python3.6安装,解决import sqlite错误