07.4.4.1.4 Entry Decision Diagnostics Layer

This commit is contained in:
2026-05-11 11:22:10 +03:00
parent b5d931bbb7
commit 363719cc8e
8 changed files with 456 additions and 7 deletions

View File

@@ -155,16 +155,23 @@ def _build_waiting_text(state) -> str:
entry_price_override=price,
)
signal_lines = [
_signal_line(state),
_market_state_line(state),
_entry_block_line(state),
*_signal_confidence_lines(state),
*_execution_block_lines(state),
]
signal_lines = [line for line in signal_lines if line]
parts = [
f"🤖 Автоторговля {_status_text(state.status)}",
_account_mode_line(),
"",
f"<b>Доступно</b> · $ {_format_money_compact(available)}",
"",
_signal_line(state),
_market_state_line(state),
*_signal_confidence_lines(state),
*_execution_block_lines(state),
*signal_lines,
"",
"🧾 <b>Подготовка ордера</b>",
"",
@@ -253,16 +260,28 @@ def _market_state_line(state) -> str:
return labels.get(market_state, "⏳ Рынок · Идёт анализ")
def _entry_block_line(state) -> str:
message = getattr(state, "entry_block_message", None)
if not message:
return ""
return f"Вход в позицию · {message}"
def _execution_block_lines(state) -> list[str]:
lines: list[str] = []
reason = getattr(state, "execution_block_reason", None)
if reason:
lines.append(f"Blocked · {reason}")
lines.append(f"Исполнение · {reason}")
adjustment = getattr(state, "execution_size_adjustment_reason", None)
if adjustment == "MARGIN_LIMIT":
lines.append("Size adjusted by Max Reserved")
lines.append(
"Позиция ограничена настройкой Max Reserved."
)
return lines