Files
crypto_monitor/crypto_monitor_okx/关键位自动下单说明.md
T
2026-05-23 18:06:06 +08:00

6.7 KiB
Raw Blame History

关键位监控说明(自动开仓 + 人工盯盘)

适用:crypto_monitor_okxOKX 永续)
本实例 箱体/收敛 为微信提醒 + 自行下单,不自动市价开仓;阻力/支撑规则与 Binance/Gate 相同。共享逻辑见 key_monitor_lib.py

本文档与 .envcheck_key_monitorsadd_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_historyclose_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 硬门控(须全部通过)

  1. 有效突破(收盘越界)

    • 多:突破 K 收盘 > upper
    • 空:突破 K 收盘 < lower
  2. 突破越过幅度(仅下限)

    • 多:(突破 K 收盘 upper) / upper × 100 > KEY_BREAKOUT_AMP_MIN_PCT(默认 0.03%
    • 空:(lower 突破 K 收盘) / lower × 100 > 同上
    • 无上限;突破过猛由 计划 RR 过滤。
    • 不再使用 K 线实体占开盘价比例;KEY_BREAKOUT_AMP_MAX_PCT 已不参与门控
  3. 确认 K 不进箱体

    • 多:确认 K 收盘 > upper(不得在 [lower, upper] 内)
    • 空:确认 K 收盘 < lower
  4. 量能: 突破 K 成交量 > 前 KEY_VOLUME_MA_BARS(默认 20)根均量 × KEY_VOLUME_RATIO_MIN(默认 1.3

  5. 日成交量排名: 运行时仍须前 KEY_DAILY_VOLUME_RANK_MAX(默认 30

  6. 计划 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 高外侧% / EH
箱体 1R·止盈 1.5H box_1p5 EH / E+1.5×H E+H / E1.5×H
趋势单·自填止盈 trend_manual 突破 K 低 × (1KEY_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