|
@@ -12,9 +12,11 @@
|
|
|
│ └─ exchange_middle_ware.rs // 交易所中间键(方便其他模块对接)
|
|
│ └─ exchange_middle_ware.rs // 交易所中间键(方便其他模块对接)
|
|
|
│
|
|
│
|
|
|
├─ tests
|
|
├─ tests
|
|
|
|
|
+│ ├─ arc_test.rs // 互锁的测试
|
|
|
│ ├─ binance_ws_test.rs // 币安订阅的集成测试
|
|
│ ├─ binance_ws_test.rs // 币安订阅的集成测试
|
|
|
│ ├─ hook_test.rs // 钩子函数测试
|
|
│ ├─ hook_test.rs // 钩子函数测试
|
|
|
-│ └─ main_test.rs // 与主逻辑相关的一些测试
|
|
|
|
|
|
|
+│ ├─ main_test.rs // 与主逻辑相关的一些测试
|
|
|
|
|
+│ └─ thread_test.rs // 多线程通讯的测试
|
|
|
│
|
|
│
|
|
|
└─ .gitignore // git忽略文件
|
|
└─ .gitignore // git忽略文件
|
|
|
```
|
|
```
|
|
@@ -25,12 +27,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
## 运行方式
|
|
## 运行方式
|
|
|
-> clone到本地/服务器之后,直接编译即可运行。
|
|
|
|
|
|
|
+> * 将源代码库clone到本地/server。
|
|
|
|
|
+> * **如果有国内运行需求**,本地配置混合代理地址:proxy_address到环境变量,配合小猫咪或其他代理工具,可以在本地运行、单元测试。
|
|
|
|
|
+> * 需要配置:okx_access_key、okx_secret_key、okx_passphrase到系统环境变量。
|
|
|
|
|
+> * 安装相关库之后,直接编译即可运行。
|
|
|
|
|
|
|
|
|
|
|
|
|
## 其他问题
|
|
## 其他问题
|
|
|
### 1. 我们的实现目标
|
|
### 1. 我们的实现目标
|
|
|
-> 实现一个基于rust的最简化as做市模型,这是为了后期快速迭代开发,我们基于TDD和最简系统原则进行测试和实现。
|
|
|
|
|
|
|
+> 实现一个基于rust的最简化as做市模型(基于之前的经验),这是为了后期快速迭代开发,我们基于TDD和最简系统原则进行测试和实现。
|
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 关于库存平衡点
|
|
### 2. 关于库存平衡点
|
|
@@ -43,12 +48,13 @@
|
|
|
> * 技术上没有实现难度,但是具体细节还需要再研究。
|
|
> * 技术上没有实现难度,但是具体细节还需要再研究。
|
|
|
|
|
|
|
|
|
|
|
|
|
-### 4. 关于订单状态的获取方式
|
|
|
|
|
-> * 实际上上应该使用WebSocket去订阅订单信息,实时监测订单成交状态。
|
|
|
|
|
-> * 目前先使用HTTP的形式实现,虽然有点慢,但逻辑是成立的。
|
|
|
|
|
|
|
+### 4. 关于订单流的判定问题
|
|
|
|
|
+> * 严格上来说,目前可以随意增加任何交易所的任何公共信息来作为基础元素。
|
|
|
|
|
+> * 跟同时订阅两个交易所一样,目前还需要研究订单流的判断逻辑,目前rust技术上已经不会有任何问题。
|
|
|
|
|
|
|
|
|
|
|
|
|
### 5. 一些其他细节问题
|
|
### 5. 一些其他细节问题
|
|
|
-> * 实际上上应该使用WebSocket去订阅订单信息,实时监测订单成交状态。
|
|
|
|
|
-> * 目前先使用HTTP的形式实现,虽然有点慢,但逻辑是成立的。
|
|
|
|
|
|
|
+> * 目前是websocket和主逻辑对cpu时间片进行拆分使用,严格来说实现不了真正的双线程(如理解有误请指教,谢谢)。
|
|
|
|
|
+> * 目前部分逻辑使用HTTP的形式实现(如k线数据),虽然有点慢,但逻辑是成立的。
|
|
|
|
|
+> * 需要高频的部分都通过websocket实现的。
|
|
|
|
|
|