07.4.3.13 - Risk-based Sizing and Margin Protection

This commit is contained in:
2026-05-06 16:15:43 +03:00
parent b1513a28ef
commit ee78f9774a
9 changed files with 1142 additions and 194 deletions

View File

@@ -238,6 +238,13 @@ class AutoTradeService:
state = self.get_state()
state.max_loss_usd = value
return state
# установить максимальное использование баланса под маржу
def set_max_reserved_balance_percent(self, value: float | None) -> AutoTradeState:
state = self.get_state()
state.max_reserved_balance_percent = value
state.execution_block_reason = None
return state
# сбросить внутренний трекинг сигналов
def _reset_signal_tracking(self) -> None:
@@ -256,6 +263,7 @@ class AutoTradeService:
state.decision_reason = None
state.is_signal_confirmed = False
state.is_signal_ready = False
state.execution_block_reason = None
# собрать контекст для стратегии
def _build_strategy_context(self) -> StrategyContext: