first commit
This commit is contained in:
@@ -0,0 +1,195 @@
|
||||
# 加密货币大盘-周期-阶段-强弱-方向-账户-策略前置匹配系统
|
||||
|
||||
纯本地部署的前置策略匹配工具。前后端分离,SQLite 持久化,黑色极简主题,无登录。
|
||||
|
||||
> **代码仓库**:[https://git.bz121.com/dekun/crypto-pre-trade-system.git](https://git.bz121.com/dekun/crypto-pre-trade-system.git)
|
||||
> **生产部署**:见 [DEPLOY.md](./DEPLOY.md)(Ubuntu + PM2 一键部署)
|
||||
|
||||
> **本系统仅做前置策略匹配**,不处理币种、K线识别、箱体判断、点位计算、突破校验、自动下单或交易所对接。
|
||||
> 所有箱体细节、触碰次数、突破确认条件、顺势/逆势箱体,全部由人工手动筛选输入。
|
||||
|
||||
---
|
||||
|
||||
## 技术栈
|
||||
|
||||
| 层级 | 技术 |
|
||||
|------|------|
|
||||
| 后端 | Python 3.10+ / FastAPI / SQLAlchemy / SQLite |
|
||||
| 前端 | Vue 3 / Vite / TailwindCSS / Axios |
|
||||
| 数据库 | SQLite(`backend/data/pretrade.db`) |
|
||||
|
||||
---
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
crypto-pre-trade-system/
|
||||
├── backend/
|
||||
│ ├── app/
|
||||
│ │ ├── main.py # FastAPI 入口
|
||||
│ │ ├── database.py # 数据库连接 + 默认数据初始化
|
||||
│ │ ├── models.py # ORM 模型
|
||||
│ │ ├── schemas.py # Pydantic 模型
|
||||
│ │ ├── crud.py # CRUD 操作
|
||||
│ │ ├── matcher.py # 前置匹配核心逻辑
|
||||
│ │ └── routes/ # API 路由
|
||||
│ ├── init_db.sql # 建表 SQL(参考)
|
||||
│ ├── requirements.txt
|
||||
│ └── data/ # SQLite 数据库(自动创建)
|
||||
├── frontend/
|
||||
│ ├── src/
|
||||
│ │ ├── views/
|
||||
│ │ │ ├── DailyMatch.vue # 日常使用页(核心)
|
||||
│ │ │ └── ConfigCenter.vue # 系统配置中心
|
||||
│ │ ├── api/index.js # API 封装
|
||||
│ │ └── ...
|
||||
│ └── package.json
|
||||
├── deploy/
|
||||
│ └── install.sh # Ubuntu 一键部署脚本
|
||||
├── ecosystem.config.cjs # PM2 进程配置
|
||||
├── DEPLOY.md # 部署文档
|
||||
└── README.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 快速启动
|
||||
|
||||
### 1. 启动后端
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
|
||||
# 创建虚拟环境(推荐)
|
||||
python -m venv venv
|
||||
# Windows:
|
||||
venv\Scripts\activate
|
||||
# macOS/Linux:
|
||||
# source venv/bin/activate
|
||||
|
||||
pip install -r requirements.txt
|
||||
|
||||
# 启动 API 服务(首次启动自动建表 + 写入默认数据)
|
||||
uvicorn app.main:app --reload --host 127.0.0.1 --port 8000
|
||||
```
|
||||
|
||||
后端启动后访问:
|
||||
- API 文档:http://127.0.0.1:8000/docs
|
||||
- 健康检查:http://127.0.0.1:8000/api/health
|
||||
|
||||
### 2. 启动前端
|
||||
|
||||
```bash
|
||||
cd frontend
|
||||
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
前端访问:http://localhost:1125
|
||||
|
||||
---
|
||||
|
||||
## 使用流程
|
||||
|
||||
### 日常使用(核心页面)
|
||||
|
||||
1. **人工选择**大盘周期(日线 / 4H / 1H)
|
||||
2. **人工选择**大盘阶段(8 个固定阶段)
|
||||
3. **人工选择**趋势强弱(强 / 弱 / 震荡)
|
||||
4. 点击「执行前置匹配」
|
||||
5. 系统自动输出:
|
||||
- 交易类型(顺势 / 反转 / 观望)
|
||||
- 允许开仓方向
|
||||
- 可用账户列表
|
||||
- 可用策略列表(含规则文本,仅展示)
|
||||
|
||||
### 系统配置中心
|
||||
|
||||
- **大盘管理**:增删改 8 个大盘阶段及交易方向
|
||||
- **账户管理**:动态管理账户(本金、周期、风险比)
|
||||
- **策略管理**:增删改策略及规则文本
|
||||
- **匹配配置**:绑定「大盘周期 + 阶段 + 强弱」→ 账户 + 策略 + 方向
|
||||
|
||||
---
|
||||
|
||||
## 匹配逻辑(默认规则)
|
||||
|
||||
| 大盘阶段 | 趋势强弱 | 匹配策略 | 方向 |
|
||||
|---------|---------|---------|------|
|
||||
| 上涨初期/中期 | 强 | 箱体顺势突破 | 做多 |
|
||||
| 上涨初期/中期 | 弱 | 斐波回调 | 做多 |
|
||||
| 上涨末期 | 强/弱 | 手工主观 | 做空 |
|
||||
| 下跌初期/中期 | 强 | 箱体顺势突破 | 做空 |
|
||||
| 下跌初期/中期 | 弱 | 斐波回调 | 做空 |
|
||||
| 下跌末期 | 强/弱 | 手工主观 | 做多 |
|
||||
| 宽幅震荡末期 | 强/弱 | 收敛结构突破 | 多空均可 |
|
||||
| 宽幅震荡 | 任意 | **全部禁用** | 禁止 |
|
||||
| 任意阶段 | 震荡 | **全部禁用** | 观望 |
|
||||
|
||||
---
|
||||
|
||||
## API 接口
|
||||
|
||||
| 方法 | 路径 | 说明 |
|
||||
|------|------|------|
|
||||
| GET | `/api/regimes` | 获取大盘阶段列表 |
|
||||
| POST/PUT/DELETE | `/api/regimes` | 增删改大盘阶段 |
|
||||
| GET | `/api/accounts` | 获取账户列表 |
|
||||
| POST/PUT/DELETE | `/api/accounts` | 增删改账户 |
|
||||
| GET | `/api/strategies` | 获取策略列表 |
|
||||
| POST/PUT/DELETE | `/api/strategies` | 增删改策略 |
|
||||
| GET | `/api/matches` | 获取匹配配置 |
|
||||
| POST/PUT/DELETE | `/api/matches` | 增删改匹配配置 |
|
||||
| GET | `/api/match` | **前置匹配**(核心接口) |
|
||||
|
||||
匹配接口参数:
|
||||
```
|
||||
GET /api/match?market_cycle=日线&market_regime_id=1&trend_strength=强
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 数据库表
|
||||
|
||||
| 表名 | 说明 |
|
||||
|------|------|
|
||||
| `market_regime` | 大盘阶段(名称、交易类型、允许方向) |
|
||||
| `account` | 账户(名称、本金、周期、风险比、启用状态) |
|
||||
| `strategy` | 策略(名称、适用周期/强弱、规则文本) |
|
||||
| `regime_match` | 匹配绑定(阶段+周期+强弱 → 账户+策略+方向) |
|
||||
|
||||
建表 SQL 见 `backend/init_db.sql`,也可通过后端启动自动创建。
|
||||
|
||||
---
|
||||
|
||||
## 约束说明
|
||||
|
||||
1. **黑色极简** UI,左右分栏布局
|
||||
2. **SQLite 持久化**,重启不丢数据
|
||||
3. **无登录**,纯本地部署
|
||||
4. **账户/策略/匹配规则** 全部可动态增删改
|
||||
5. **严格禁止**:自动 K 线识别、自动箱体判断、自动下单、交易所对接、币种输入、点位计算、突破条件校验
|
||||
6. 策略规则文本**仅作展示**,系统不做任何自动校验
|
||||
|
||||
---
|
||||
|
||||
## 重置数据库
|
||||
|
||||
删除 `backend/data/pretrade.db` 后重启后端,系统将自动重建并写入默认数据。
|
||||
|
||||
---
|
||||
|
||||
## 生产部署
|
||||
|
||||
服务器部署(Ubuntu + PM2 + root + `/opt`)详见 **[DEPLOY.md](./DEPLOY.md)**。
|
||||
|
||||
一键部署:
|
||||
|
||||
```bash
|
||||
git clone https://git.bz121.com/dekun/crypto-pre-trade-system.git /opt/crypto-pre-trade-system
|
||||
cd /opt/crypto-pre-trade-system
|
||||
bash deploy/install.sh
|
||||
```
|
||||
|
||||
部署完成后访问:**http://\<服务器IP\>:1125**
|
||||
Reference in New Issue
Block a user