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:
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user