Files
crypto_monitor/crypto_monitor_binance/关键位自动下单说明.md
T
2026-05-15 19:19:56 +08:00

4.9 KiB
Raw Blame History

关键位自动下单说明

适用仓库:crypto_monitor_binance|交易所:Binance U 本位永续Gate 版见同名的 crypto_monitor_gate 目录。)

本文档与 .envapp.check_key_monitorsapp.add_key_market_open_for_key_monitor 的实现一致。


结构与是否自动开仓

key_monitors.monitor_type(录入类型) 自动下单 触发后处置
箱体突破 是(满足全部条件) 一次性结案:写 key_monitor_history → 从 key_monitors 删除
收敛突破 是(同上) 同上
关键阻力位 企业微信 1 次close_reason=key_level_alert_only失效
关键支撑位 同上

触发条件:5m 收线硬门控 _key_hard_checks(量能、突破幅度、第二根收盘确认、日成交量前 30 等)。


录入限制(/add_key

  • 存在 order_monitors.status='active' 时:禁止添加 「箱体突破」「收敛突破」。
  • 关键阻力位 / 关键支撑位:不受上条限制;触发后 仅单次微信提醒,然后结案。
  • 4h EMA55 与所选方向逆势不拦截;添加成功后 Flash 提示。
  • 上下沿入库前经 round_price_to_exchange 按合约 价格精度 取整。

环境与参数(.env

变量 含义 默认
KEY_AUTO_MIN_PLANNED_RR 计划 RR 阈值:仅当严格大于该值 才自动开仓(按下方 E 计算) 1.5
KEY_STOP_OUTSIDE_BREAKOUT_PCT 止损:突破 K 极值向外 百分比(多:低×(1p/100);空:高×(1+p/100) 0.5

其余与本仓库手动实盘一致: KLINE_TIMEFRAMERISK_PERCENTLIVE_TRADING_ENABLEDBREAKEVEN_*DAILY_OPEN_ALERT_THRESHOLD,以及 BINANCE_*(密钥、BINANCE_MARGIN_MODEBINANCE_POSITION_MODEBINANCE_TRIGGER_WORKING_TYPE 等)。资金字段舍入端口径与 FUNDS_DECIMALS 一致。


计价与下单口径

用途 价格
企业微信展示、与 RR 门槛比较的计划 RR 确认 K(第二根闭合 5m)收盘 E
实际开仓 市价place_exchange_order,与 /add_order 一致);成交价可能与 E 滑点
以损定仓 calc_risk_fraction(direction, 当前市价, 止损) + RISK_PERCENT(保证金等 FUNDS_DECIMALS 舍入,与 /add_order 一致)
  • 开仓成功后:order_monitors.monitor_type关键位监控;持仓卡片「来源」显示之。手动开仓为 下单监控
  • 持仓列表中的 盈亏比:按 实际成交价 相对 SL/TP 重算,可与「按 E 算的计划 RR」略有偏差。
  • 本仓库止盈止损挂单:开仓后由 _binance_place_tp_sl_orders 挂载(与手动一致:U 本位条件/Algo 类触发单;具体类型以 ccxt / 交易所为准)。

自动单止盈 / 止损(仅箱体突破、收敛突破)

设箱体高度 H = |upper lower|(录入上下沿)。

方向 止损 SL 止盈 TP
突破 K 最低价 × (1 KEY_STOP_OUTSIDE_BREAKOUT_PCT/100) E + 1×H
突破 K 最高价 × (1 + KEY_STOP_OUTSIDE_BREAKOUT_PCT/100) E 1×H

计划 RR = calc_rr_ratio(direction, E, SL, TP)。若为 NoneRR ≤ KEY_AUTO_MIN_PLANNED_RR不下单,走 rr_insufficient 结案。


一次性结案(close_reason

以下任一发生:按需发微信key_monitor_historykey_monitors 删除不会对同一条关键位重复轮询重试开仓

close_reason 含义
rr_insufficient 门控通过,但计划 RR 未达标或 SL/TP / RR 几何无效
exchange_failed 计划 RR 达标,但未开实盘、LIVE_TRADING_ENABLED=false、风控、保证金或 交易所报错 等导致 开仓失败
auto_opened 计划 RR 达标且 市价开仓成功(已写 order_monitors,并已挂止盈止损)
key_level_alert_only 阻力/支撑位 仅推送结案

与企业微信推送

每种结案路径 至多一条主业务推送(RR 不足 / 下单失败 / 开仓成功 / 阻力支撑仅提醒)。

旧版「满 KEY_ALERT_MAX_TIMES 次再归档」对已触发结案的路径 不再适用;表中 notification_countmax_notify 等字段仍可能存在,以 导出、兼容 为主。


相关代码位置(通用)

说明 符号
门控与主循环 check_key_monitors
录入、有仓拦截、4h Flash add_key
市价开仓 + 写 order_monitors _market_open_for_key_monitor
计划 RR calc_rr_ratio(direction, E, SL, TP)
价格精度 round_price_to_exchange