Files
crypto_monitor/crypto_monitor_binance/关键位自动下单说明.md
T
dekun b733e551a0 Normalize fullwidth punctuation to ASCII across codebase.
Add scripts/normalize_ambiguous_unicode.py; fix corrupted patch_instance_theme_templates.py. Preserves curly quotes in string literals; removes Git homoglyph warnings on .env.example.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 23:42:26 +08:00

8.7 KiB
Raw Blame History

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

适用:Gate / Binance / OKX 三所实例(共用 lib/key_monitor/key_auto_order_lib.py)

环境开关 KEY_AUTO_ORDER_ENABLED(默认 false)

计仓模式 开关 关键位程序自动单
risk(以损定仓) false 全部关闭(含触价);支撑/阻力微信提醒仍可用
risk true 箱体/收敛/斐波/假突破/触价均可自动(旧行为)
full_margin(全仓) false 全部关闭(含触价)
full_margin true 仅触价自动;箱体/斐波等仍禁止

不受本开关影响: 人工实盘下单,关键支撑/阻力提醒,顺势加仓(risk 下),趋势回调(risk 下).全仓模式下策略自动仍禁止.

修改 .env 后须 重启 PM2.复盘「开仓类型」与统计分段会随开关联动隐藏关键位选项.


适用:crypto_monitor_binance(Binance U 本位)
Gate / OKX 见各自目录下同名文档;共享逻辑在 lib/key_monitor/.

本文档与 .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 必选 限价挂单逻辑 见斐波说明(不在下文展开)
回调触价开仓 必选 多/空 程序盯价 → 回调触 E 后市价 见下文 §四
突破触价开仓 必选 多/空 程序盯价 → 穿越 E 立即市价 见下文 §四

添加时(箱体/收敛/斐波/触价): 品种须 日成交量排名前 KEY_DAILY_VOLUME_RANK_MAX(默认 30);上沿 > 下沿(触价开仓填 E/SL/TP,上下沿仅作展示占位).


二,关键阻力位 / 关键支撑位(人工盯盘)

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 硬门控(须全部通过)

  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 含义
box_opposite_break 标记价先突破反向边界(多:≤下沿;空:≥上沿)
rr_insufficient 门控通过但 RR 不达标或 SL/TP 几何无效
exchange_failed RR 达标但实盘/交易所等原因未开仓
auto_opened RR 达标且市价开仓成功
key_level_alert_done 阻力/支撑 3 次提醒 完成

四,回调 / 突破触价开仓(程序触价,无交易所挂单)

4.1 录入

  • 回调触价开仓:方向必选多/空;填写 计划入场价 E,止损 SL,止盈 TP(做多须 SL < E < TP).
  • 突破触价开仓:同上;添加时当前价须在突破方向一侧(做多:价低于 E;做空:价高于 E).
  • 计划 RR 以 E 为基准,须 严格大于 KEY_AUTO_MIN_PLANNED_RR(默认 1.5).
  • 可选移动保本,时间平仓;全仓杠杆模式下可用.

4.2 触发与结案

类型 触发条件(标记价)
回调触价 做多 ≤ E;做空 ≥ E → 下一轮询市价开仓
突破触价 做多向上穿越 E;做空向下穿越 E → 立即市价开仓
  • 未成交前标记价先触 TP 侧trigger_tp_invalidate.
  • 突破触价另:未穿越 E 先触 SL 侧trigger_sl_invalidate.
  • 24h 未触发 → trigger_entry_expired.
  • 成功 → trigger_entry_filled;触发后开仓失败 → trigger_exchange_failed.

4.3 计仓与占位

  • 以损定仓:按 E,SL 反推保证金,触发时重算;全仓杠杆:可用×缓冲比例,BTC/ETH 10x,其它 5x.
  • 占当日开仓意图(已开 + 待触发),未成交不占持仓;同币仅 1 条触价监控(含回调/突破).

共享逻辑:trigger_entry_key_monitor_lib.py;轮询:check_trigger_entry_key_monitors.


五,环境与参数(.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