Stage 07.4.3.11 — Risk Settings UI & UX

This commit is contained in:
2026-05-05 19:14:51 +03:00
parent 163e8efe82
commit 3c3f0e846a
13 changed files with 967 additions and 12 deletions

View File

@@ -197,6 +197,10 @@ async def open_auto_settings(callback: CallbackQuery) -> None:
symbol = state.symbol or ""
risk = f"{state.risk_percent:.1f}%" if state.risk_percent is not None else ""
leverage = f"x{state.leverage:g}" if state.leverage is not None else ""
sl = f"{state.stop_loss_percent:g}%" if state.stop_loss_percent is not None else "off"
tp = f"{state.take_profit_percent:g}%" if state.take_profit_percent is not None else "off"
ml = f"{state.max_loss_usd:g} USD" if state.max_loss_usd is not None else "off"
risk_controls = f"SL {sl} · TP {tp} · ML {ml}"
strategy_icon = "" if strategy_ready else "👉"
symbol_icon = "" if symbol_ready else "👉"
@@ -214,8 +218,9 @@ async def open_auto_settings(callback: CallbackQuery) -> None:
"<b>СИСТЕМА</b> · Настройки\n\n"
f"{strategy_icon} Стратегия: {strategy}\n"
f"{symbol_icon} Инструмент: {symbol}\n"
f"{risk_icon} Риск: {risk}\n"
f"{risk_icon} Риск на сделку: {risk}\n"
f"{leverage_icon} Плечо: {leverage}\n\n"
f"✅ Risk Controls: {risk_controls}\n\n"
f"{config_status}"
)
@@ -225,11 +230,12 @@ async def open_auto_settings(callback: CallbackQuery) -> None:
builder = InlineKeyboardBuilder()
builder.button(text="🧠 Стратегия", callback_data="settings:auto_strategy")
builder.button(text="📈 Инструмент", callback_data="settings:auto_symbol")
builder.button(text="🛡️ Риск", callback_data="settings:auto_risk")
builder.button(text="🛡️ Риск на сделку", callback_data="settings:auto_risk")
builder.button(text="⚙️ Плечо", callback_data="settings:auto_leverage")
builder.button(text=" Назад", callback_data="system:management")
builder.button(text=" Risk Controls", callback_data="auto:risk")
builder.button(text="🤖 Автоторговля", callback_data="auto:home")
builder.adjust(2, 2, 2)
builder.button(text="⬅️ Назад", callback_data="system:management")
builder.adjust(2, 2, 1, 2)
await callback.message.edit_text(text, reply_markup=builder.as_markup())
await callback.answer()