[CL-RADAR] radar-live: halving-retry при нехватке available balance (#514, направление 2) #516
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/claude-bw-halfqty-retry"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что сделано
backend/bot/radar_live.py: placement вынесен в_try_place(None ⟺ balance-insufficient; прочие исключения пролетают как раньше — «placing» остаётся для reconcile). При None — одна повторная попытка сqty/2(черезround_futures_qty, с гейтами инструментального минимума иMIN_EXCHANGE_NOTIONAL_USDДО вызова).state.qtyобновляется ДО повторного place (инвариант register-before-place). Обе неудачи → прежний INFO-скип с чисткой записи._InsufficientOnceSession(первый place падает, второй проходит) → вход размещён половинным qty, state консистентен; половина ниже min-notional → ровно одна попытка, чистый скип.Зачем
Продолжение #514/PR #515 по выбору CEO: не терять сигнал при гонке за баланс. Точный pre-check маржи требовал бы воспроизведения per-symbol leverage-математики Bybit; халвинг адаптируется к фактическому балансу без неё. Потолок: один retry на сигнал; upgrade path — wallet-balance pre-check (в комментарии кода).
План тестирования
tests/test_radar_live.py— 45 passed; полный backend-suite — 7385 passed, 7 skipped.Где могу ошибаться
5390ce4e2f2b243e0cca2b243e0cca76169d2afc76169d2afcfb9abe9d5b