6.6 KiB
6.6 KiB
关键位监控说明(自动开仓 + 人工盯盘)
适用:crypto_monitor_binance(Binance U 本位永续)
Gate / OKX 见各自目录下同名文档;共享逻辑在仓库根目录 key_monitor_lib.py。
本文档与 .env、check_key_monitors、add_key、_key_hard_checks、_process_key_rs_level_alert 一致。
一、监控类型总览
| 录入类型 | 录入时选方向 | 自动市价开仓 | 触发与结案 |
|---|---|---|---|
| 箱体突破 | 必选 多/空 | 是(门控 + RR) | 条件满足 → 开仓或 rr_insufficient / exchange_failed → 一次性删除 |
| 收敛突破 | 必选 多/空 | 是(同上) | 同上 |
| 关键阻力位 | 不选(direction=watch) |
否 | 5m 收盘突破上/下沿 → 微信 3 次 → key_level_alert_done |
| 关键支撑位 | 不选 | 否 | 同上(与阻力位相同规则:填上沿+下沿,程序双向监控) |
| 斐波回调 0.618 / 0.786 | 必选 | 限价挂单逻辑 | 见斐波说明(不在下文展开) |
添加时(所有类型): 品种须 日成交量排名前 KEY_DAILY_VOLUME_RANK_MAX(默认 30);上沿 > 下沿。
二、关键阻力位 / 关键支撑位(人工盯盘)
2.1 录入
- 填写 上沿
upper与 下沿lower(程序同时监控两侧,无法预先判定做多还是做空)。 - 页面 不显示、不要求 方向;库中
direction初始为watch,首次突破后 写入long(向上突破上沿)或short(向下突破下沿)。
2.2 触发(极简)
- 周期:
KLINE_TIMEFRAME(默认 5m)最近一根已闭合 K 的 收盘价(非影线)。 - 向上突破上沿:
收盘 > upper→ 推断方向 多 / 向上,本次监控任务开始按节奏提醒。 - 向下突破下沿:
收盘 < lower→ 推断方向 空 / 向下,本次任务同样开始提醒。 - 任一侧突破即结束本条监控周期(不会在突破后再等待另一侧;上沿、下沿谁先满足用谁,同根 K 仅可能满足一侧)。
不参与: 量能、二确 K、越过幅度下限、日成交排名(运行时)、计划 RR、自动开仓。
2.3 微信提醒次数
| 配置 | 默认 | 含义 |
|---|---|---|
KEY_ALERT_MAX_TIMES |
3 |
突破后最多推送 3 次 |
KEY_ALERT_INTERVAL_MINUTES |
5 |
相邻两次推送至少间隔 5 分钟 |
- 第 1 次:首次检测到突破的当次轮询(若已闭合 5m 满足条件)。
- 第 2、3 次:仅按间隔推送(不要求价格仍在箱外)。
- 第 3 次推送后:写入
key_monitor_history,close_reason=**key_level_alert_done**,从key_monitors删除。
2.4 与箱体/收敛的区别
| 项目 | 阻力/支撑 | 箱体/收敛 |
|---|---|---|
| 方向 | 程序推断 | 人工选择 |
| K 线根数 | 1 根闭合 5m | 2 根(突破 K + 确认 K) |
| 提醒次数 | 3 次后结案 | 自动单:触发后 1 次业务推送并结案 |
三、箱体突破 / 收敛突破(自动开仓)
3.1 K 线结构(默认索引)
| 角色 | 环境变量 | 默认 | 含义 |
|---|---|---|---|
| 突破 K | KEY_CONFIRM_BREAKOUT_BAR |
-2 |
倒数第 2 根闭合 K |
| 确认 K | KEY_CONFIRM_BAR |
-1 |
倒数第 1 根闭合 K |
3.2 硬门控(须全部通过)
-
有效突破(收盘越界)
- 多:
突破 K 收盘 > upper - 空:
突破 K 收盘 < lower
- 多:
-
突破越过幅度(仅下限)
- 多:
(突破 K 收盘 − upper) / upper × 100 > KEY_BREAKOUT_AMP_MIN_PCT(默认 0.03%) - 空:
(lower − 突破 K 收盘) / lower × 100 >同上 - 无上限;突破过猛由 计划 RR 过滤。
- 不再使用 K 线实体占开盘价比例;
KEY_BREAKOUT_AMP_MAX_PCT已不参与门控。
- 多:
-
确认 K 不进箱体
- 多:确认 K 收盘
> upper(不得在[lower, upper]内) - 空:确认 K 收盘
< lower
- 多:确认 K 收盘
-
量能: 突破 K 成交量 > 前
KEY_VOLUME_MA_BARS(默认 20)根均量 ×KEY_VOLUME_RATIO_MIN(默认 1.3) -
日成交量排名: 运行时仍须前
KEY_DAILY_VOLUME_RANK_MAX(默认 30) -
计划 RR(最后经济门控): 按确认 K 收盘 E 计算 SL/TP 后,
RR严格大于KEY_AUTO_MIN_PLANNED_RR(默认 1.5)才市价开仓
3.3 止损 / 止盈(确认 K 收盘为 E)
箱体高 H = |upper − lower|。止损锚在 突破 K 极值 外侧:
| 方向 | 止损(标准/趋势方案) |
|---|---|
| 多 | 突破 K 最低价 × (1 − KEY_STOP_OUTSIDE_BREAKOUT_PCT%) |
| 空 | 突破 K 最高价 × (1 + KEY_STOP_OUTSIDE_BREAKOUT_PCT%) |
止盈方案见下表(与改版前一致):
| 方案 | sl_tp_mode |
多:SL / TP | 空:SL / TP |
|---|---|---|---|
| 标准突破 | standard |
突破 K 低外侧% / E+H | 突破 K 高外侧% / E−H |
| 箱体 1R·止盈 1.5H | box_1p5 |
E−H / E+1.5×H | E+H / E−1.5×H |
| 趋势单·自填止盈 | trend_manual |
突破 K 低 × (1−KEY_TREND_STOP_OUTSIDE_PCT%) / 录入止盈 |
突破 K 高外侧% / 录入止盈 |
3.4 一次性结案(close_reason)
close_reason |
含义 |
|---|---|
rr_insufficient |
门控通过但 RR 不达标或 SL/TP 几何无效 |
exchange_failed |
RR 达标但实盘/交易所等原因未开仓 |
auto_opened |
RR 达标且市价开仓成功 |
key_level_alert_done |
阻力/支撑 3 次提醒 完成 |
四、环境与参数(.env 摘要)
| 变量 | 箱体/收敛 | 阻力/支撑 |
|---|---|---|
KEY_BREAKOUT_AMP_MIN_PCT |
突破越过下限(默认 0.03) | 不用 |
KEY_BREAKOUT_AMP_MAX_PCT |
已废弃门控 | 不用 |
KEY_VOLUME_* / KEY_CONFIRM_* |
用 | 不用 |
KEY_AUTO_MIN_PLANNED_RR |
用 | 不用 |
KEY_ALERT_MAX_TIMES / KEY_ALERT_INTERVAL_MINUTES |
不用 | 用(默认 3 次 / 5 分钟) |
KEY_DAILY_VOLUME_RANK_MAX |
添加时 + 运行时 | 仅添加时 |
五、相关代码
| 说明 | 位置 |
|---|---|
| 共享判定 | key_monitor_lib.py |
| 主循环 | check_key_monitors |
| 自动门控 | _key_hard_checks |
| 阻力/支撑提醒 | _process_key_rs_level_alert |
| 录入 | add_key |
| 开仓 | _market_open_for_key_monitor |