Instruction file imported from WangyangYe0512/CryptoPulse-Trader (
.cursor/rules/业务流程.mdc). Copyright stays with the author.
CryptoPulse Trader (CPT) 工作流程文档
1. 应用流程概述
1.1 流程总览
CPT采用定时触发+事件驱动的混合工作模式,核心流程如下:
- 每小时定时触发市场扫描
- 多阶段筛选交易标的
- 趋势确认后执行交易
- 实时监控持仓状态
- 通过Telegram实现用户交互
1.2 角色与流程
| 角色 | 参与流程 | 交互方式 |
|---|---|---|
| 个人交易者 | 接收通知/查询状态 | Telegram消息 |
| 量化初学者 | 查看交易日志 | 日志文件/通知 |
| 群管理员 | 分享交易记录 | Telegram群发 |
2. 核心业务流程
2.1 市场扫描流程
graph TD
A[整点触发] --> B[获取全市场1小时K线]
B --> C[计算波动率]
C --> D[筛选Top15波动币种]
D --> E[过滤稳定币/主流币]
E --> F[记录候选列表]
2.2 交易决策流程
graph TD
A[候选币种] --> B[获取24h交易量]
B --> C[计算流动性评分]
C --> D[筛选Top5]
D --> E[验证最小订单量]
E --> F[获取5分钟K线]
F --> G[计算趋势斜率]
G --> H{趋势确认?}
H -->|是| I[生成交易信号]
H -->|否| J[放弃交易]
2.3 交易执行流程
graph TD
A[接收信号] --> B[验证账户余额]
B --> C[计算订单量]
C --> D[发送限价单]
D --> E[设置止损止盈]
E --> F[记录交易]
F --> G[发送通知]
2.4 风险监控流程
graph TD
A[启动监控] --> B[实时获取行情]
B --> C{触发条件?}
C -->|止损/止盈| D[平仓]
C -->|趋势反转| D
C -->|超时| D
D --> E[发送平仓通知]
3. 状态管理
3.1 交易状态机
stateDiagram
[*] --> 待命
待命 --> 持仓中: 开仓成功
持仓中 --> 平仓中: 触发条件
平仓中 --> 待命: 平仓完成
持仓中 --> 待命: 强制平仓
3.2 关键状态转换
| 状态 | 转换条件 | 后续动作 |
|---|---|---|
| 待命 | 收到有效信号 | 执行开仓 |
| 持仓中 | 价格触发止损 | 发起平仓 |
| 持仓中 | 检测趋势反转 | 发起平仓 |
| 平仓中 | 订单确认 | 更新状态 |
4. 通知流程
4.1 消息处理流程
graph TD
A[系统事件] --> B[格式化消息]
B --> C[加入队列]
C --> D[发送Telegram]
D --> E[记录日志]
4.2 用户查询流程
graph TD
A[接收/status] --> B[查询持仓]
B --> C[计算浮动盈亏]
C --> D[格式化回复]
D --> E[发送消息]
5. 异常处理流程
5.1 API错误处理
graph TD
A[API调用] --> B{错误?}
B -->|是| C[记录错误]
C --> D[等待10秒]
D --> E[重试计数+1]
E --> F{<3次?}
F -->|是| A
F -->|否| G[发送警报]
6. 整体架构流程图
graph LR
S[调度器] --> M[市场扫描]
M --> L[流动性筛选]
L --> T[趋势确认]
T --> E[交易执行]
E --> R[风险监控]
R --> N[通知系统]
N --> U[用户终端]
style S fill:#f9f,stroke:#333
style U fill:#bbf,stroke:#333
7. 关键流程说明
7.1 每小时扫描周期
- 00:00 启动市场扫描(耗时<30秒)
- 00:01 完成流动性筛选
- 00:02 执行趋势确认
- 00:03 完成交易决策
- 00:04 进入监控状态
7.2 典型用户场景流程
- 用户收到开仓通知
- 监控持仓状态(自动)
- 收到平仓通知
- 通过/status查询账户状态
- 查看详细交易日志(可选)
8. 性能关键路径优化
- 并行获取多个交易所数据
- 缓存常用币种信息
- 异步处理通知消息
- 批量查询K线数据
9. 数据流示意图
graph LR
Exchange[交易所API] --> Scanner[市场扫描]
Scanner --> Filter[流动性筛选]
Filter --> Analyzer[趋势分析]
Analyzer --> Trader[交易执行]
Trader --> Monitor[风险监控]
Monitor --> Notifier[消息通知]
Notifier --> Telegram