From c2a2109316f2efac230f0324c9c4023760ee6090 Mon Sep 17 00:00:00 2001 From: Sami Ahmed Date: Thu, 26 Mar 2026 08:23:48 +0100 Subject: [PATCH] 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. --- src/main_auto.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main_auto.py b/src/main_auto.py index eeee737..76b7cfc 100644 --- a/src/main_auto.py +++ b/src/main_auto.py @@ -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()