Files
2026-05-21 16:44:31 +08:00

10 KiB
Raw Permalink Blame History

界面与风控更新说明(Binance 实例)

顶栏导航(4 项)

顺序 名称 路由 说明
1 关键位监控 /key_monitor 关键位添加、实时门控、历史
2 实盘下单 /trade 人工开仓、划转、实时持仓(默认首页 //trade
3 交易记录与复盘 /records 交易记录、复盘表单、AI 历史(受顶栏 UTC 时间窗筛选)
4 统计分析 /stats 按北京时间交易日切日 + 分品类统计块

关键位监控页

  • 标题去掉「5m」;规则条从 .env 读取(周期、确认K、量能、自动开仓盈亏比、日成交量排名)。
  • 左列:活跃关键位,pos-card 样式展示现价/距上沿/距下沿/门控。
  • 右列:关键位历史(失效/结案),与左列等高滚动;受顶栏 UTC 列表时间窗筛选(默认 UTC 当日)。
  • 监控类型新增:斐波回调0.618斐波回调0.786(与 Gate 主站同一套规则,计算逻辑见仓库根目录 fib_key_monitor_lib.py)。

斐波关键位监控(方案 A:交易所限价)

说明
同币互斥 每个币种只能有一条斐波监控(0.618 与 0.786 不可并存)
上下沿 上沿 H、下沿 L(须 H > L
挂单价 E 做多 E = H ratio × (H L)(自 H 向下回撤);做空 E = L + ratio × (H L)(自 L 向上反弹)
做多 限价 @ E,止损 L,止盈 H
做空 限价 @ E,止损 H,止盈 L
添加后 立即在 Binance U 本位挂限价单;卡片显示 挂E、限价单 ID
失效 标记价判断:做多且标记价 ≥ H、做空且标记价 ≤ L,且限价未成交 → 撤销该限价单并结案
成交后 挂交易所 TP/SL(含 Algo 通道条件单)→ 写入 实盘下单监控monitor_type=关键位监控key_signal_type=斐波回调…)→ 从关键位列表移除
撤单 仅撤本条斐波的订单 ID不会对该合约 cancel_all_orders / 全撤 Algo,避免误伤其他委托
盈亏比 计划 RR 须 > KEY_AUTO_MIN_PLANNED_RR0.618 理论约 1.6:10.786 约 3.7:1
日成交量 与箱体/收敛相同,须在前 KEY_DAILY_VOLUME_RANK_MAX 名内方可添加

后台轮询:check_fib_key_monitors();箱体/收敛仍走 check_key_monitors()

手动删除关键位时,未成交斐波会先撤限价再删库。

箱体 / 收敛自动开仓(来源标注)

  • 自动开仓写入 order_monitors.key_signal_type箱体突破收敛突破
  • 持仓与交易记录展示「来源 · 信号类型」。

列表时间窗(UTC,全站顶栏)

共用模块:仓库根目录 history_window_lib.pyGate / Binance 主站一致)。

说明
默认 UTC 当日win_preset=utc_today,从 UTC 0:00 至当前时刻)
可选 近 24 小时、近 7 天、自定义起止(UTC,datetime-local
作用范围 关键位历史、交易记录列表、复盘记录 API、AI 历史 API、导出「交易记录」「关键位历史」
与统计的关系 仅影响列表/导出统计分析页仍按北京时间 TRADING_DAY_RESET_HOUR(默认 8:00)切交易日
库内时间 DB 存北京时间字符串;后端用 utc_window_to_bj_sql_strings() 换算后再 SQL 比较
切换方式 顶栏「列表筛选(UTC)」→ 选预设 → 应用(保留当前路由,如 /records?win_preset=…

查询参数示例:

  • ?win_preset=utc_today
  • ?win_preset=utc_last24h / utc_last7d
  • ?win_preset=custom&from_utc=2026-05-18 00:00:00&to_utc=2026-05-19 12:00:00

交易记录与复盘

  • 交易记录盈亏以本地估算为准(平仓时按成交/计划价计算);盈亏列可标注
  • 与币安 App 不一致时,请在「核对修改」或复盘中 手工填写 reviewed_pnl_amount 覆盖展示(不再提供批量「同步交易所盈亏」)。
  • 列表默认只显示当前 UTC 时间窗内的记录(见上节);导出 CSV 同步该时间窗。
  • 表头 「止损(开仓)」:展示开仓快照 initial_stop_loss(无则回退 stop_loss);核对/复盘仍可用有效止损字段。
  • 平仓写入 trade_records 时:stop_lossinitial_stop_loss 均写入开仓时止损快照key_signal_type 保留箱体/收敛/斐波来源(fib_key_monitor_lib.key_signal_type_for_trade_record)。
  • 开仓类型entry_reason):机器单平仓入库时,若未手填,按 key_signal_type 自动映射(见下表);列表/导出「开仓类型」列 = 复盘核对值优先,否则入库值,否则按信号映射。
key_signal_type 自动写入的 entry_reason
箱体突破 关键位箱体突破
收敛突破 关键位收敛突破
斐波回调0.618 关键位斐波0.618
斐波回调0.786 关键位斐波0.786
  • 复盘表单 开仓类型 下拉新增上述四条固定文案(与趋势/波段类并列)。
  • 复盘 离场触发 新增 「止盈」;从交易记录「填入复盘」时,若结果为「止盈/保本止盈/移动止盈/止损/手动平仓」会自动选中对应触发项,并按 key_signal_type 预填开仓类型。
  • 勾选「保存时自动生成多周期 K 线图」时:以 平仓时间 为锚点,各周期向前约 ORDER_CHART_LIMIT(默认 100)根 K 线(_fetch_ohlcv_ending_at),不再固定拉「最近 100 根」。
  • /api/journals/api/reviews 支持同一时间窗 query,与列表一致。

导出(交易记录 v3

  • 文件名:trade_records_v3_YYYYMMDD.csv
  • 相对 v2 增加:key_signal_typeinitial_stop_loss(及开仓快照列)、planned_rractual_rrrisk_amount、交易所盈亏与时间字段等;末列「开仓类型」为有效展示文案。
  • 「关键位历史」导出同样受 UTC 时间窗限制。

实盘下单页

  • 左列:实盘下单监控(表单、划转、规则)。
  • 右列:实时持仓(独立模块)。
  • 人工开仓门控:计划盈亏比 < MANUAL_MIN_PLANNED_RR(默认 1.4)时前端弹窗 + 后端拒绝。
  • 移动保本(勾选启用):监控轮询达到触发 RR 后,止损阶梯上移时同步交易所——先撤该合约全部 TP/SL(含 Algo 条件单)再挂新止损 + 原止盈(replace_active_monitor_tpsl_on_exchange)。仅交易所成功后才写库;失败发企业微信告警。未配置实盘 API 时仍只更新本地。

统计分析页(/stats

说明
切日 北京时间;交易日边界 = 每日 TRADING_DAY_RESET_HOUR:00.env 默认 8
品类下拉 页顶 「统计品类」 下拉切换(默认「全部交易」):全部交易、下单监控、关键位箱体突破、关键位收敛结构、关键位斐波0.618、关键位斐波0.786;一次只显示所选品类的日/周/月
URL 切换后写入 stats_segment=(如 allmanualkey_boxkey_convkey_fib618key_fib786),刷新 /stats 可保持选项
每块指标 日 / 周 / 月:开单次数、平仓笔数、胜率、净盈亏、回撤、连续亏损等(与原口径一致)
开单次数 人工块:monitor_type=下单监控 且无 key_signal_type;关键位块:按 order_monitors.key_signal_type 计数
不受 UTC 窗影响 统计始终基于库内全部已平仓记录,按北京交易日归类,随顶栏 UTC 列表窗切换

持仓与计仓

  • MAX_ACTIVE_POSITIONS 默认 1(可在 .env 调大)。
  • 关键位自动开仓:在已有持仓时,若 KEY_SIZING_USE_ZERO_POSITION_SNAPSHOT=true,按首笔开仓前交易账户资金快照计仓(字段 trading_sessions.key_sizing_capital_snapshot)。

配置

详见 .env.example 中「关键位门控」「交易执行 / 人工风控」注释段。

自动备份(服务器)

  • 脚本:scripts/backup_data.shcrypto.db + static/images
  • 定时:scripts/install_backup_cron.sh → 每天 北京时间 0:00,目录 /root/backups/<实例名>/YYYY-MM-DD/,保留 30
  • 详见 部署文档.md 第 5.3 节

数据库(启动时自动迁移)

key_monitors 斐波字段:fib_limit_order_idfib_entry_pricefib_stop_lossfib_take_profitfib_order_amountfib_margin_capitalfib_leverage

trade_records / order_monitorskey_signal_typeexchange_realized_pnlexchange_opened_atexchange_closed_atexchange_sync_keyentry_reasonreviewed_entry_reasoninitial_stop_loss

历史数据:本次不做旧记录的批量回填(entry_reason / initial_stop_loss / key_signal_type 等);仅新产生的平仓与复盘按新逻辑写入。旧行展示可回退已有字段。

涉及文件(便于排查)

路径 说明
history_window_lib.py UTC 时间窗解析与转北京时间 SQL 字符串
fib_key_monitor_lib.py 斐波计算、KEY_ENTRY_REASON_BY_SIGNALentry_reason_from_key_signal
crypto_monitor_binance/app.py 列表筛选、统计分块、导出 v3、复盘 K 线锚点、入库逻辑
crypto_monitor_binance/templates/index.html 顶栏时间窗、统计分块 UI、止损(开仓)列、复盘预填

升级步骤

  1. git pull 后对比 .env.example,把新增变量合并进本地 .env
  2. 在 VPS 上为 Binance / Gate / Gate Bot 各执行一次 bash scripts/install_backup_cron.sh(若尚未安装)。
  3. 重启 Binance 实例(如 pm2 restart crypto_binance);SQLite 会自动 ALTER 缺列(斐波、交易所盈亏、entry_reason 等)。
  4. 浏览器强刷(Ctrl+F5)避免旧版 index.html 缓存。
  5. 打开任意页确认顶栏出现 「列表筛选(UTC)」/stats 可见分品类统计与「北京 8:00 切日」说明。
  6. 建议先用测试币验证斐波:限价挂出、标记价失效撤单、成交后 TP/SL 与订单监控是否正常;平仓后检查交易记录止损(开仓)与开仓类型。