From 3e3d579e35b0affe259f9047c020fb3907ed7703 Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 28 Aug 2026 17:13:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=E4=B8=8E=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E5=AF=B9=E9=BD=90=EF=BC=9A=E5=81=9C=E6=9C=BA=E6=98=AF=20SIGTER?= =?UTF-8?q?M=20=E4=B8=94=E4=BC=9A=E5=B9=B3=E4=BB=93=EF=BC=8C=E8=A1=A5?= =?UTF-8?q?=E5=85=85=E5=B4=A9=E6=BA=83/=E4=B8=BB=E5=8A=A8=E5=81=9C?= =?UTF-8?q?=E6=9C=BA=E7=9A=84=E5=B7=AE=E5=BC=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- live/deploy/README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/live/deploy/README.md b/live/deploy/README.md index f4c0f66..5e67596 100644 --- a/live/deploy/README.md +++ b/live/deploy/README.md @@ -117,7 +117,8 @@ journalctl -u chan-live-ship -f # 搬运日志 # 停新开仓,但保留在场仓位的管理(48 分钟超时平仓在执行器进程里) sudo systemctl stop chan-live-ship -# 全停。执行器收到 SIGINT 会先平掉在场仓位再退出,给了 90s +# 全停。执行器收到 SIGTERM 会**撤挂单 + 市价平掉在场仓位**再退出 +# (内部平仓上限 60s,systemd 给了 90s 停机窗口) sudo systemctl stop chan-live-exec # 代码回滚 @@ -144,6 +145,10 @@ cd /opt/chan && sudo git reset --hard && sudo systemctl restart chan-live- - **进程死掉不会变成裸仓。** 止损与止盈都挂在交易所侧(`presetStopLossPrice` 与 post-only reduce-only 限价单),只有 48 分钟超时平仓在本进程。所以进程死 掉的后果是持仓超过 48 根,不是失去保护。 +- **崩溃与主动停机的处理不同,是刻意的。** 崩溃后 systemd 几秒内重启, + `reconcile` 接着撤挂单 + 平掉遗留仓位,空窗期由交易所侧止损兜着。主动 + `systemctl stop` 则在退出前就平掉——因为停机后没人重启,仓位会一直挂到止损 + 或止盈,超时腿丢了就不是回测那个出场结构了。 - **断线超过 20s 就等于漏掉那期间的信号。** 重连会把总线重放上来,但旧信号会被 staleness 闸挡掉。这是对的——参考成交价是次根开盘价,过了就不是回测那个价。 - **重启时会平掉交易所上已有的仓位**(`reconcile`)。接管要重建入场价、ATR、