main
加密货币大盘-周期-阶段-强弱-方向-账户-策略前置匹配系统
纯本地部署的前置策略匹配工具。前后端分离,SQLite 持久化,黑色极简主题,无登录。
代码仓库:https://git.bz121.com/dekun/crypto-pre-trade-system.git
生产部署:见 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. 启动后端
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
后端启动后访问:
2. 启动前端
cd frontend
npm install
npm run dev
使用流程
日常使用(核心页面)
- 人工选择大盘周期(日线 / 4H / 1H)
- 人工选择大盘阶段(8 个固定阶段)
- 人工选择趋势强弱(强 / 弱 / 震荡)
- 点击「执行前置匹配」
- 系统自动输出:
- 交易类型(顺势 / 反转 / 观望)
- 允许开仓方向
- 可用账户列表
- 可用策略列表(含规则文本,仅展示)
系统配置中心
- 大盘管理:增删改 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,也可通过后端启动自动创建。
约束说明
- 黑色极简 UI,左右分栏布局
- SQLite 持久化,重启不丢数据
- 无登录,纯本地部署
- 账户/策略/匹配规则 全部可动态增删改
- 严格禁止:自动 K 线识别、自动箱体判断、自动下单、交易所对接、币种输入、点位计算、突破条件校验
- 策略规则文本仅作展示,系统不做任何自动校验
重置数据库
删除 backend/data/pretrade.db 后重启后端,系统将自动重建并写入默认数据。
生产部署
服务器部署(Ubuntu + PM2 + root + /opt)详见 DEPLOY.md。
一键部署:
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
Description
Languages
Python
46.6%
Vue
40.9%
JavaScript
5.2%
Shell
4.9%
CSS
1.9%
Other
0.5%