fix: replace debug_print with debug_logger in PDTTracker methods

This commit is contained in:
justin committed 2026-02-19 12:09:05 -07:00
1 parent 21adf4eec1
commit fc7669a7f5
1 file changed
+12 -2
+12 -2
View File
@@ -371,7 +371,7 @@ class PDTTracker:
df = pd.DataFrame({'trade_date': [d.isoformat() for d in self.trade_dates]}) df = pd.DataFrame({'trade_date': [d.isoformat() for d in self.trade_dates]})
df.to_csv(PDT_TRACKER_PATH, index=False) df.to_csv(PDT_TRACKER_PATH, index=False)
except Exception as e: except Exception as e:
debug_print(f"PDT tracker save error: {e}") debug_logger.debug(f"PDT tracker save error: {e}")
def _rolling_window_dates(self): def _rolling_window_dates(self):
today = datetime.now(EASTERN).date() today = datetime.now(EASTERN).date()
@@ -396,11 +396,20 @@ class PDTTracker:
cutoff = today - timedelta(days=30) cutoff = today - timedelta(days=30)
self.trade_dates = [d for d in self.trade_dates if d >= cutoff] self.trade_dates = [d for d in self.trade_dates if d >= cutoff]
self._save() self._save()
debug_print(f"PDT trade recorded. Rolling 5-day count: {self.rolling_count()}/{self.PDT_LIMIT}") debug_logger.debug(f"PDT trade recorded. Rolling 5-day count: {self.rolling_count()}/{self.PDT_LIMIT}")
def remaining(self): def remaining(self):
return max(0, self.PDT_LIMIT - self.rolling_count()) return max(0, self.PDT_LIMIT - self.rolling_count())
def sync_from_broker(self, broker_count):
today = datetime.now(EASTERN).date()
today_count = sum(1 for d in self.trade_dates if d == today)
if broker_count > today_count:
for _ in range(broker_count - today_count):
self.trade_dates.append(today)
self._save()
debug_logger.debug(f"PDT synced from broker: {broker_count} trades today, rolling count now {self.rolling_count()}/{self.PDT_LIMIT}")
class SignalState: class SignalState:
def __init__(self): def __init__(self):
@@ -425,6 +434,7 @@ position_state = PositionState()
if PDT_RULE: if PDT_RULE:
_startup_pdt = PDTTracker() _startup_pdt = PDTTracker()
_startup_pdt.sync_from_broker(daytrade_count)
logger.info(f" PDT Rule Enforcement: ON ({_startup_pdt.rolling_count()}/3 trades used, {_startup_pdt.remaining()} remaining this window)") logger.info(f" PDT Rule Enforcement: ON ({_startup_pdt.rolling_count()}/3 trades used, {_startup_pdt.remaining()} remaining this window)")
def save_session_state(trades_today, opening_equity, last_bullish_crossover, last_bearish_crossover, session_date): def save_session_state(trades_today, opening_equity, last_bullish_crossover, last_bearish_crossover, session_date):