Hourly candles only finalize on the hour, so polling every 5 minutes was wasteful. Now the poller sleeps until 1 minute past each hour, fetches immediately on first run when no data exists, and logs time to next fetch on startup. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>