fix: initialize peak_equity from actual portfolio value on startup

Fixes false 50% drawdown circuit breaker that was blocking all trades.
SafetyManager was initialized with peak_equity=initial_capital (200K)
but OANDA account starts at ~100K, triggering immediate halt.

Now syncs peak_equity to actual portfolio value on startup.
This commit is contained in:
2026-03-26 08:23:48 +01:00
parent 7be73159a4
commit c2a2109316
+9
View File
@@ -153,6 +153,15 @@ class BiggFishAuto:
self.krystie.log_startup()
# 1.5. Initialize peak equity from current portfolio value
try:
portfolio = self.broker.get_portfolio()
current_equity = portfolio.get('portfolio_value', self.config['safety']['initial_capital'])
self.safety.peak_equity = max(current_equity, self.safety.peak_equity)
logger.info(f"Initialized peak equity: ${self.safety.peak_equity:,.2f}")
except Exception as e:
logger.warning(f"Could not initialize peak equity: {e}")
# 2. Warm candle cache
self._warm_cache()