这是一个结合了XML和Java技术的期货交易平台系统源代码项目,专为使用CTP、Femas及SXTP协议的交易者设计。
JavaTrader交易框架是一个基于Java的开源期货交易平台项目。该项目具有以下特点:
- 分布式管理界面:支持对多个交易服务进行集中化管理和配置。
- 基于纯Java的行情接口与交易接口,内置支持JCTP库,并允许在运行时指定使用不同版本的JCTP(具体实现方式请参考PluginService的相关配置)。
- 行情和交易代码在同一JVM中执行,利用Disruptor技术来实现实时高效的线程间消息传递机制。
- 采用动态ClassLoader加载策略类的方式支持交易策略在运行期间进行更新,并且可以通过Groovy脚本编写灵活的策略程序,实现对自定义函数的支持以及插件式的扩展功能。
- 策略可以按照分组和配置参数调整来组合使用,同时允许用户根据需要动态调整这些设置以复用现有的开仓、平仓及止损等交易规则。
- 提供账户视图(AccountView)的功能模块,使策略能够主动控制仓位与资金的限制。
构建环境需求:
- JDK 11 或者JDK 14
- Gradle 6.5
- Bash
JavaTrader项目的构建过程需要手动完成某些依赖包的编译和安装操作。具体步骤包括将jctp相关库文件安装到本地Maven Repository中,然后执行mvn.sh脚本来进行项目构建工作。