fix: pass start date to get_recent_bars for correct daily bar retrieval

This commit is contained in:
Justin Oros
2026-02-25 12:35:09 -07:00
parent b1ef7ffa8a
commit d4b40e4a1c
2 changed files with 12 additions and 10 deletions
+9 -9
View File
@@ -1,12 +1,12 @@
{ {
"DEBUG_MODE": true, "DEBUG_MODE": true,
"SYMBOL": "SPY", "SYMBOL": "SPY",
"BAR_TIMEFRAME": "15Min", "BAR_TIMEFRAME": "1Day",
"RISK_PER_TRADE": 0.01, "RISK_PER_TRADE": 0.01,
"SHORT_WINDOW": 20, "SHORT_WINDOW": 20,
"LONG_WINDOW": 50, "LONG_WINDOW": 50,
"MIN_NOTIONAL": 1.0, "MIN_NOTIONAL": 1.0,
"POLL_INTERVAL": 300, "POLL_INTERVAL": 3600,
"MAX_DRAWDOWN": 0.08, "MAX_DRAWDOWN": 0.08,
"PDT_RULE": true, "PDT_RULE": true,
"USE_TRAILING_STOP": true, "USE_TRAILING_STOP": true,
@@ -17,14 +17,14 @@
"ENABLE_SLIPPAGE": true, "ENABLE_SLIPPAGE": true,
"SLIPPAGE_PCT": 0.0005, "SLIPPAGE_PCT": 0.0005,
"COMMISSION_PCT": 0.0005, "COMMISSION_PCT": 0.0005,
"MIN_SIGNAL_STRENGTH": 0.4, "MIN_SIGNAL_STRENGTH": 0.6,
"BACKTEST_DAYS": 90, "BACKTEST_DAYS": 90,
"USE_LIMIT_ORDERS": false, "USE_LIMIT_ORDERS": false,
"LIMIT_ORDER_TIMEOUT": 60, "LIMIT_ORDER_TIMEOUT": 60,
"ADX_THRESHOLD": 25, "ADX_THRESHOLD": 30,
"VOLUME_MULTIPLIER": 0.7, "VOLUME_MULTIPLIER": 0.7,
"ATR_STOP_MULTIPLIER": 2.0, "ATR_STOP_MULTIPLIER": 2.5,
"MAX_HOLD_TIME": 10800, "MAX_HOLD_TIME": 86400,
"REGIME_DETECTION": true, "REGIME_DETECTION": true,
"MULTIFRAME_FILTER": true, "MULTIFRAME_FILTER": true,
"BB_WINDOW": 20, "BB_WINDOW": 20,
@@ -35,14 +35,14 @@
"VIX_THRESHOLD": 30, "VIX_THRESHOLD": 30,
"USE_VIX_FILTER": false, "USE_VIX_FILTER": false,
"USE_FIBONACCI": false, "USE_FIBONACCI": false,
"MAX_TRADES_PER_DAY": 3, "MAX_TRADES_PER_DAY": 1,
"SKIP_MONDAYS_FRIDAYS": false, "SKIP_MONDAYS_FRIDAYS": false,
"USE_200_SMA_FILTER": true, "USE_200_SMA_FILTER": true,
"REQUIRE_MACD_CONFIRMATION": false, "REQUIRE_MACD_CONFIRMATION": true,
"MIN_RISK_REWARD": 2.0, "MIN_RISK_REWARD": 2.0,
"PULLBACK_PERCENTAGE": 0.382, "PULLBACK_PERCENTAGE": 0.382,
"ENABLE_SHORT_SELLING": false, "ENABLE_SHORT_SELLING": false,
"RSI_BUY_MAX": 65, "RSI_BUY_MAX": 60,
"RSI_SELL_MIN": 35, "RSI_SELL_MIN": 35,
"RSI_SELL_MAX": 70, "RSI_SELL_MAX": 70,
"RSI_RANGE_OVERSOLD": 30, "RSI_RANGE_OVERSOLD": 30,
+3 -1
View File
@@ -664,7 +664,9 @@ def fetch_buying_power(settlement_tracker=None):
def get_recent_bars(symbol, limit=100): def get_recent_bars(symbol, limit=100):
debug_print(f"Fetching {limit} bars for {symbol} ({BAR_TIMEFRAME})") debug_print(f"Fetching {limit} bars for {symbol} ({BAR_TIMEFRAME})")
try: try:
bars = api.get_bars(symbol, BAR_TIMEFRAME, limit=limit) buffer = int(limit * 1.5)
start = (datetime.now(EASTERN) - timedelta(days=buffer)).strftime("%Y-%m-%d")
bars = api.get_bars(symbol, BAR_TIMEFRAME, limit=limit, start=start)
if bars is None or len(bars) == 0: if bars is None or len(bars) == 0:
debug_print(f"No bars returned for {symbol}") debug_print(f"No bars returned for {symbol}")
return None return None