Files
crypto_monitor/docs/daily-open-limit.md
T
dekun 9f67de3677 refactor: 移除 gate_bot,统一为三所架构并更新文档
删除 crypto_monitor_gate_bot 目录,中控与子代理改为 binance/okx/gate 三账户;
文档与 UI 文案「四所」改为「三所」;新增清库前一次性配置备份脚本。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 22:00:08 +08:00

82 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 单日开仓次数限制(三所统一)
各交易实例(Binance / OKX / Gate)在 `.env` 中独立配置,互不影响。
## 交易日口径
-**北京时间** `TRADING_DAY_RESET_HOUR`(默认 **8:00**)切分交易日,与统计、顶栏「交易日」一致。
- **次日恢复**:过了切日时刻后 `session_date` 变为新日期,计数自动归零,无需清库。
## 计数口径
每成功新建一条 `order_monitors` 记录计 **1 次**,包括:
- 人工「实盘下单」
- 关键位自动开仓
- 其他写入 `order_monitors` 的成功开仓
平仓后再开仍算新的一单。当日总次数到硬上限后 **当天不再允许新开**(即使已空仓)。
## 环境变量
在「交易执行 / 人工风控」段配置:
```env
# 【单日开仓 AI 提醒】本交易日开仓次数达到该值时,企业微信推送 AI 克制提醒(不拦单)
DAILY_OPEN_ALERT_THRESHOLD=5
# 【单日开仓硬上限】本交易日开仓次数 >= 该值后,禁止一切新开仓直至下一交易日;0=不启用
DAILY_OPEN_HARD_LIMIT=0
```
### 配置示例
```env
# 保守户:3 次提醒,5 次封死
DAILY_OPEN_ALERT_THRESHOLD=3
DAILY_OPEN_HARD_LIMIT=5
# 仅提醒、不封(与旧版行为接近)
DAILY_OPEN_ALERT_THRESHOLD=5
DAILY_OPEN_HARD_LIMIT=0
# 严格户:到 3 次即封
DAILY_OPEN_ALERT_THRESHOLD=2
DAILY_OPEN_HARD_LIMIT=3
```
建议 `DAILY_OPEN_ALERT_THRESHOLD <= DAILY_OPEN_HARD_LIMIT`(硬上限为 0 时除外)。
## 程序行为
| 次数 | 行为 |
|------|------|
| 未达提醒阈值 | 正常开仓 |
| 达到 `DAILY_OPEN_ALERT_THRESHOLD` | 成功开仓后 AI 企业微信提醒 |
| 达到 `DAILY_OPEN_HARD_LIMIT`>0 | `precheck_risk` 拒绝人工/关键位开仓;顶栏 `can_trade=false` |
硬限制与以下规则 **同时生效**(取交集):
- `TRADING_DAY_RESET_OPEN_GUARD_ENABLED`:切日前禁止新开
- `MAX_ACTIVE_POSITIONS`:同时持仓上限
- Gate`precheck_trend_pullback_start` 同样校验单日硬上限
## 页面与接口
- 顶栏 / `api/account_snapshot` 返回 `opens_today``daily_open_hard_limit``daily_open_alert_threshold`
- 达硬上限时提示:`本交易日开仓 N/M 已达上限,次日 8:00 后恢复``M` 为配置的硬上限)。
## 部署
修改各实例 `.env` 后重启对应 pm2 进程,例如:
```bash
pm2 restart crypto_binance crypto_okx crypto_gate
```
## 实现位置
- 共享逻辑:`daily_open_limit_lib.py`
- 三所 `app.py``precheck_risk``can_trade``api/account_snapshot`、开仓成功后的 AI 提醒文案
- 单元测试:`tests/test_daily_open_limit_lib.py`