下单失败必须推 Telegram,并让心跳判读「做了却没建上」
实盘首日丢掉 4 个信号、白跑 5 小时,根因是 40774,但**没有任何推送**。 日志里一直在报,可外在表现和"没信号"一模一样——这正是整套通知设计要防的 那类静默经济损失,却恰好漏了下单失败这一条。 现在:入场被拒或止盈挂不上都推。按信号聚合成一条,不按腿推(避免一个信号 两条)。两腿全失败时说明"这个信号丢了"并带累计失败次数与常见原因;部分腿 失败时说明"收益结构已偏离设计"——那种情况仓位是半的,不是设计的两腿结构。 心跳原先只把数字并排列出来:"已做 4 · 在场 0/3" 那 5 小时一直在打,但没有 一处说这是异常。现在分开计 n_built 与 n_order_fail,做了却一次没建上直接 打 ⛔。只看 n_took 分不出"做了"和"建上了"。 status.sh 同样加判读:统计 entry_fail 次数并打出最后一条错误与码表。 tp_fail 现在也记进 live_trades.jsonl,原先只打日志不落盘。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -67,6 +67,19 @@ fi
|
||||
hr "最近成交"
|
||||
if [[ -s "$STATE/live_trades.jsonl" ]]; then
|
||||
tail -5 "$STATE/live_trades.jsonl" | sed 's/^/ /'
|
||||
# 「下过单但一次都没建上」是明确的故障,而它的外在表现和"没信号"一样,
|
||||
# 不主动判读就会白跑几小时。首日就是这么丢掉 4 个信号的
|
||||
nf="$(grep -c '"ev": "entry_fail"' "$STATE/live_trades.jsonl" || true)"
|
||||
nb="$(grep -c '"ev": "opened", "key": [^]]*\[{' "$STATE/live_trades.jsonl" || true)"
|
||||
ne="$(grep -c '"ev": "entry"' "$STATE/live_trades.jsonl" || true)"
|
||||
if [[ "${nf:-0}" -gt 0 ]]; then
|
||||
echo
|
||||
echo " ⛔ 有 $nf 次入场被拒(共尝试 $ne 个信号)"
|
||||
echo " 最后一条错误:"
|
||||
grep '"ev": "entry_fail"' "$STATE/live_trades.jsonl" | tail -1 \
|
||||
| sed 's/^/ /'
|
||||
echo " 40774 = 持仓模式不匹配 · 40762/40786 = 保证金不足"
|
||||
fi
|
||||
else
|
||||
echo " 还没有成交记录"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user