中文
特点

FXDaemon是简单易用,轻量高性能的自动交易平台。

  1. 24小时不间断监控金融市场并利用交易策略预测商品价格波动来实现各种商品的自动交易。
  2. 具备高精度的历史回测功能。
  3. 交易策略编程语言采用JavaScript,可快速执行自动交易。
  4. 可通过人工智能训练好的交易模型来预测买卖信号。
  5. 市场数据和交易信息可通过Web API和其他系统进行实时交互。
  6. 可在Windows或Linux两种操作系统上运行。
运行模式

从CUI启动,可以分别以历史回测模式或自动交易模式运行。

一个进程只能以一个账户运行。

自动交易模式下可以运行两种类型账户。

  • 经纪商提供的真实账户或演示账户
  • 本系统虚拟环境下的虚拟账户
接口

通过插件连接到经纪商的交易服务器。

如果搭建好开发环境,可以创建自定义插件。
编程语言

交易策略的开发通过JavaScript进行。

搭载V8作为JavaScript的执行引擎,遵循ECMAScript (ECMA-262)标准。
本系统的一部分功能通过JavaScript内置函数方式开放给用户。
技术指标

基于TA-Lib的标准技术指标通过JavaScript内置函数提供给用户。

用户自己的原创技术指标可以用JavaScript自行开发。
自动交易

用户通过用JavaScript编写程序来执行自动交易,开仓平仓、获取市场数据和历史数据等功能可以通过JavaScript内置函数来执行,自动交易程序启动时机可在1分钟到1天范围内设置。

移动止损和限价也可通过调用用户编写JavaScript程序来自动调整。

历史回测

所需的Tick和点差通过1分钟数据设置,回测结果和临时产生的技术指标等数据被写入数据库,可利用SQL的结合合计等聚合函数做各种分析。

1分钟数据的回测多少会有些误差,但比起利用实际的Tick值效率要高。

历史回测所需的历史数据需要另外准备。
交易商品

不同的经纪商所能交易的商品各不相同,不仅是外汇,股票等其它商品都可以交易。

可在1个账户内对多个商品执行自动交易。
邮件用户代理

开仓或者平仓的时候,相关仓位信息可以发送到指定地址的邮件信箱里。

深度学习

深度学习的技术可以用来改善自动交易逻辑,用内置函数调用通过人工智能训练好的模型来得到买卖信号从而实现人工智能的交易策略。模型在FXDaemon启动时被加载,如果模型被更新,需要重新启动FXDaemon。如果多个账户同时利用相同模型,同一模型会被加载多次。

数据存储

经纪商服务器传来的数据或者系统内部产生的数据以3种方式存储。

  1. 存入数据库
    • 账户
    • 订单
    • 仓位
    • 执行计划
  2. 保存文件
    • 历史数据
    ※可通过设置开始终了期间从经纪商的服务器定期下载。
  3. 写入共享内存
    • 市场数据
    • 历史数据
    • 账户
    • 仓位
日志输出

系统日志分4个级别输出到日志文件,每天转储一次。

  • Error
  • Warn
  • Info
  • Debug
外部系统交互

fxService 提供Web API功能,将共享内存和DB中存储的数据公开给外部系统。需要配置到和FXDaemon同一机器上。认证和访问权限控制可通过HTTP服务器来设置。

外部系统可以通过fxService更新存储在DB里的执行计划,如果在自动交易程序内访问更新后的执行计划,则可以实现自动交易策略的实时控制。

GUI工具

fxBench 是用来做技术图形分析的工具,可配置到和FXDaemon同一机器上或别的终端装置。通过在K线图上叠加技术指标,同时显示历史回测的结果,来做各种技术分析。

系统架构图