Crypto Trading Agent - Progress - 28 Nov 2025
Breaking Through the Noise: Trading Smarter in Weak Trends – Day 28 of Trader-7 Automated Trading System
TL;DR: Today, I cracked the code on trading during weak market trends and fixed a sneaky bug that was giving Bitcoin an unfair advantage—plus expanded the system to handle six coins with a cleaner, smarter dashboard.
🎯 Today's Focus
After weeks of wrestling with the frustrating lows of choppy market conditions, I focused on making Trader-7 smarter when trends aren’t screaming strong signals. Alongside that, I tackled a subtle bug that was causing the system to favor Bitcoin trades unfairly and kept pushing the multi-coin expansion forward.
✨ Key Wins
First up was the weak trend optimization—this was a game-changer. I implemented a three-tier trend detection system based on the ADX indicator, which measures trend strength. Instead of just “strong” or “not strong,” now Trader-7 classifies market regimes into strong (ADX > 20), weak (ADX 15-20), and choppy (ADX < 15). Why does this matter? Because weak trends used to be a no-go zone—trades would reject for over 18 hours during these periods. Now, with tighter take-profit and stop-loss parameters and reduced position sizes, Trader-7 can confidently trade these “grey area” moments, opening up new opportunities while managing risk carefully.
Next, I squashed a subtle but critical bug in the opportunity scoring system that was causing the bot to only consider the first approved trade—almost always Bitcoin, since it was alphabetically first. This “alphabetical bias” meant other coins were being ignored, limiting the system’s potential. I rewrote the scoring logic so Trader-7 now evaluates all coins in the cycle, scoring them based on confidence, risk-reward, and regime alignment, executing only the highest-scoring trade. Plus, I added an environment variable for max trades per cycle, paving the way for future multi-trade capabilities.
Finally, the dashboard got some TLC. The unrealized profit and loss display was stuck at zero because of mismatched symbol formats between data tables (“ETH” vs. “ETH-PERP”). I updated the price lookup to handle multiple symbol formats seamlessly, so the dashboard now accurately reflects real-time performance. Also, I fixed a couple of Streamlit warnings and made position limits configurable, giving me more control without diving back into code every time.
💡 What I Learned
The ADX indicator’s subtle gradations opened my eyes to how market regimes aren’t binary. Trading in the “weak” ADX zone means dialing in more finesse—smaller positions and tighter stops—but it can unlock valuable trades that would otherwise be missed. Also, this alphabetical bias bug reminded me how little things in code logic can have outsized impacts—always question assumptions!
🔧 Challenge of the Day
While nothing too dramatic, untangling the alphabetical bias bug was a classic example of a silent, creeping issue. The system behaved “correctly” on the surface, but the hidden flaw meant BTC always got first dibs. Finding it meant stepping back, reviewing the trade selection flow, and realizing I needed a proper scoring and ranking mechanism before execution. Fixing this restored fairness and efficiency to trade selection.
📊 Progress Snapshot
- Completed: 8 tasks across 4 sprints
- Momentum: 🚀 High
🔮 Tomorrow's Mission
I’ll be closely monitoring how the weak trend trades perform in real markets and preparing to deploy the 4-coin expansion to Railway. Once that’s stable, I’ll ramp up to the full 6-coin setup. Also, I’ll keep an eye on how the new opportunity scoring plays out in real-time opportunities.
Part of my build-in-public journey with Trader-7 Automated Trading System. Follow along for daily updates!