diff --git a/src/screener/t_atr_ema_v2.py b/src/screener/t_atr_ema_v2.py index 4c7bc0e..51b933b 100644 --- a/src/screener/t_atr_ema_v2.py +++ b/src/screener/t_atr_ema_v2.py @@ -12,9 +12,11 @@ def run_atr_ema_target_scanner(min_price: float, max_price: float, min_volume: i interval = get_interval_choice() end_date = datetime.now() - start_date = end_date - timedelta(days=90) # Expand window for more data - start_ts = int(datetime.combine(start_date.date(), datetime.min.time()).timestamp() * 1e9) - end_ts = int(datetime.combine(end_date.date(), datetime.max.time()).timestamp() * 1e9) + start_date = end_date - timedelta(days=90) + + # Convert to Unix timestamps (nanoseconds) + start_ts = int(start_date.timestamp() * 1e9) + end_ts = int(end_date.timestamp() * 1e9) client = create_client() @@ -32,7 +34,8 @@ def run_atr_ema_target_scanner(min_price: float, max_price: float, min_volume: i sum(transactions) AS transaction_count FROM stock_db.stock_prices WHERE window_start BETWEEN {start_ts} AND {end_ts} - AND toYear(toDateTime(window_start/1000000000)) <= {end_date.year} + AND toYear(toDateTime(window_start/1000000000)) <= toYear(now()) + AND toYear(toDateTime(window_start/1000000000)) >= (toYear(now()) - 1) GROUP BY ticker HAVING last_close BETWEEN {min_price} AND {max_price} AND total_volume >= {min_volume}