文档与实现对齐:停机是 SIGTERM 且会平仓,补充崩溃/主动停机的差异
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -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 <sha> && sudo systemctl restart chan-live-
|
||||
- **进程死掉不会变成裸仓。** 止损与止盈都挂在交易所侧(`presetStopLossPrice`
|
||||
与 post-only reduce-only 限价单),只有 48 分钟超时平仓在本进程。所以进程死
|
||||
掉的后果是持仓超过 48 根,不是失去保护。
|
||||
- **崩溃与主动停机的处理不同,是刻意的。** 崩溃后 systemd 几秒内重启,
|
||||
`reconcile` 接着撤挂单 + 平掉遗留仓位,空窗期由交易所侧止损兜着。主动
|
||||
`systemctl stop` 则在退出前就平掉——因为停机后没人重启,仓位会一直挂到止损
|
||||
或止盈,超时腿丢了就不是回测那个出场结构了。
|
||||
- **断线超过 20s 就等于漏掉那期间的信号。** 重连会把总线重放上来,但旧信号会被
|
||||
staleness 闸挡掉。这是对的——参考成交价是次根开盘价,过了就不是回测那个价。
|
||||
- **重启时会平掉交易所上已有的仓位**(`reconcile`)。接管要重建入场价、ATR、
|
||||
|
||||
Reference in New Issue
Block a user