MagicTradeBot v6.0 – Redis Scaling, 12 Exchanges & Free Paper Trading
v6.0 is not a feature drop. It's a foundation rethink.
Redis integration, PostgreSQL unified storage, 7 new exchanges, free-tier paper trading with no restrictions, smarter signal logic, and overhauled trailing rules — all shipped together because they're parts of the same idea: a bot platform that scales to fleets, not just single bots.
1. Redis Integration with RedisMarketBridge
The single biggest architectural change in MagicTradeBot's history.
Before v6.0, every bot instance was an island. It fetched its own prices, computed its own klines, checked its own funding rates — directly from exchange APIs. Run 10 bots on Binance and you're consuming 10× the rate limit budget. Run 50 bots and you're getting throttled. Run 100 bots and you're risking a ban.
v6.0 changes the model entirely.
When Redis mode is enabled, MagicTradeBot connects to a RedisMarketBridge instance as its shared market data layer. Instead of each bot hitting the exchange, one bridge process connects to each exchange in a dedicated parallel worker thread and writes all market data into Redis. Every bot — however many — reads from there.
RedisMarketBridge runs a 6-phase pipeline — symbol sync → klines → tick data → funding rates → price movement → signal computation — and keeps everything fresh in Redis with tight TTLs. Your bots read pre-computed, structured data in microseconds. No API calls. No parse logic. No rate limit risk.
By the Numbers
| Metric | Value |
|---|---|
| API calls from bots to exchange | 0 |
| Bots supported simultaneously | Unlimited |
| Max tick staleness | 15 seconds |
| Parallel exchange workers (Pro) | 12 |
| Data access speed vs direct API | 100–1,000× faster |
Why This Changes Everything
The 6-Phase Pipeline
| Phase | Name | Data Written to Redis | TTL |
|---|---|---|---|
01 | Symbol Sync | Tick size, step size, min qty, price precision per symbol | None |
02 | Kline Data | OHLCV candles for all symbols, all configured intervals | 600s |
03 | Tick Data | Live price, volume, bid, ask — per symbol and aggregate | 15s |
04 | Funding Rates | Current rate per exchange/symbol, cross-exchange gaps | 3600s |
05 | Movement | Smoothed price movement % — 5m, 10m, 20m windows | 90s |
06 | Signals | RSI, MACD, BB, VWAP, CVD, OFI, arb scores, top-N ranking | 300s |
Enabling Redis
# MagicTradeBot v6.0 — settings/connection.yaml Redis: Enabled: true Host: "127.0.0.1" # Same Redis as RedisMarketBridge Port: 6379 ConnectionPool: 10 # Safety net — falls back to direct API if key is missing FallbackToDirectApi: true FallbackWarningLog: true FallbackStaleThresholdMs: 30000
2. PostgreSQL — Unified Data Storage
One datastore to rule every bot, every trade, every signal across your entire fleet.
Before v6.0, each MagicTradeBot instance ran its own SQLite database. Isolated, self-contained, portable — perfect for a single bot. But the moment you run a fleet, you have a fleet of isolated databases. No cross-bot analytics. No shared position tracking. No unified P&L view. No way to query "show me all open positions across all bots right now."
v6.0 introduces first-class PostgreSQL support. Connect all your bot instances to a single PostgreSQL database and they share a unified data layer — while each bot still operates independently and manages its own positions.
SQLite vs PostgreSQL
| SQLite (still supported) | PostgreSQL (new in v6.0) | |
|---|---|---|
| Data scope | Each bot has its own isolated file | All bots share a single unified database |
| Cross-bot queries | Not possible | Full SQL across all bots simultaneously |
| P&L view | Separate per bot, no aggregate | Unified P&L, drawdown, performance across fleet |
| Dashboard | One bot at a time | All bots in one fleet-wide view |
| Scale limit | ~500MB before degradation | Terabyte-scale with no practical limit |
| Reliability | Single file, no replication | Streaming replication, PITR, automated backups |
| Concurrency | Writer blocks readers | Full ACID, connection pooling, concurrent reads/writes |
Benefits of PostgreSQL Mode
Configuration
# Switch to PostgreSQL Database: Driver: "postgres" Url: "postgresql://user:pass@localhost:5432/magictradebot" PoolSize: 20 # SQLite (default, no change required): # Database: # Driver: "sqlite" # Path: "./data/bot.db"
3. 7 New Exchanges — 12 Total
More markets. More arbitrage pairs. More alpha that was previously unreachable.
v6.0 adds full trading support for seven new exchanges. Combined with the original five, MagicTradeBot now supports 12 exchanges across every major region and liquidity pool.
Exchange Roster
| Exchange | Status | Region | Specialty |
|---|---|---|---|
| Binance | Original | Global | Highest volume, 665+ symbols |
| Bybit | Original | Singapore | Leading derivatives |
| Bitget | Original | Global | Copy trading & perps |
| OKX | Original | Hong Kong | Full options + perps |
| Hyperliquid | Original | Decentralised | On-chain perps |
| BingX | New v6.0 | Global | 320+ symbols, hedge mode |
| KuCoin | New v6.0 | Global | 210+ symbols, wide altcoin coverage |
| HTX (Huobi) | New v6.0 | Asia | 350+ linear swap symbols |
| MEXC | New v6.0 ⚠️ | Global | 350+ symbols — see caution below |
| Kraken | New v6.0 | EU / US | Regulated, 80+ linear perps |
| Phemex | New v6.0 | Singapore | 150+ linear perps |
| Gate.io | New v6.0 | Global | 280+ symbols |
What Each New Exchange Brings
4. Paper Trading Free for Everyone — No Restrictions
Test your strategies for free. Unlimited bots. Unlimited time. No expiry.
Paper trading is now available on the Free tier with zero restrictions — no time limit, no bot instance cap, no feature degradation. You can run as many paper trading bots as you want, across as many symbols as you want, for as long as you want — completely free.
What Paper Trading Gives You
When Mode: paper is set in your bot configuration, the execution layer simulates order fills against live market data without placing real orders. Everything else runs exactly as it would in live mode:
How to Enable
# Any bot configuration — enable paper trading Strategy: Mode: "paper" # or demo_mode: true in older configs Exchange: "binance" # uses live data, simulates orders Symbol: "BTCUSDT" # Paper trading works with Redis too Redis: Enabled: true Host: "127.0.0.1"
5. Top Mover Signal — Gainers and Losers
The market doesn't only move up. Your signal engine shouldn't either.
The Top Gainer Signal in v5 found symbols with the strongest upward momentum and surfaced them for long entries — but half the opportunity was invisible. Strong downward movers, the fastest-falling symbols with high short momentum, weren't captured.
v6.0 replaces Top Gainer Signal with the Top Mover Signal, which tracks both directions simultaneously and independently.
How It Works
Both lists are computed independently — separate thresholds, separate ranking weights, separate configuration. A symbol can appear on both lists if the signal engine detects conflicting momentum across timeframes (itself a high-volatility signal worth noting).
Independent Configuration
TopMoverSignal: Enabled: true Gainers: MinChangePercent: 3.0 # minimum % gain to qualify VolumeMultiplier: 1.5 # volume must be 1.5× average TopN: 10 # return top 10 long candidates TimeWindow: "30m" # over the last 30 minutes Losers: MinChangePercent: 3.0 # minimum % loss to qualify (absolute) VolumeMultiplier: 1.8 # higher bar for shorts TopN: 10 # return top 10 short candidates TimeWindow: "30m"
ArbEdgeBot Integration
For ArbEdgeBot users, Top Mover Signals integrate directly with funding arbitrage detection. When a top loser also has a significantly positive funding rate, the spread between price momentum and funding direction creates premium short opportunities — a convergence signal the v5 engine couldn't identify.
Example: a symbol dropping 4% in 30 minutes while carrying a +0.08% funding rate is paying shorts while the market is already moving in the short direction. That's a high-confidence entry signal that emerges naturally from combining the Top Loser list with cross-exchange funding rate data.
6. Trailing Gap Rules — Rebuilt for Real Markets
Separate rules for long and short. Streak-based wick protection. Your take profits survive volatility.
Trailing gap rules in v5 were symmetric — the same configuration applied to both long and short positions. Markets aren't symmetric. The dynamics of price retreating on a long versus price retracing on a short are structurally different. Trailing rules should reflect that.
Independent Long/Short Rules
v6.0 introduces separate trailing gap rule sets for long and short positions. Each has its own activation threshold, gap size, step size, and acceleration curve.
TrailingRules: Long: ActivationPercent: 2.0 # start trailing after +2% profit GapPercent: 1.2 # trail 1.2% below the peak StreakRequired: 2 # require 2 closes through level to exit StepPercent: 0.3 # minimum move before level updates Short: ActivationPercent: 1.5 # start trailing after -1.5% (price falls) GapPercent: 0.8 # trail 0.8% above the trough StreakRequired: 1 # immediate close on streak hit StepPercent: 0.2
Streak-Based Wick Protection
The most common source of frustration with trailing stops is wick hits. Price spikes briefly through your trailing level — triggering your exit — then immediately reverses and continues in your favour. You're out of the trade exactly when you should be in it.
v6.0 introduces streak-based confirmation as an optional layer on top of the trailing gap rule. Instead of closing the position the moment price touches the trailing level, the system waits for N consecutive candle closes beyond the level before executing the exit.
Why closes, not ticks? Wick hits occur during the candle body — they show in the high/low but not in the close. Requiring a close ensures the price action is confirmed, not just touched. A wick that pierces your level and then closes back above it is explicitly not counted toward the streak.
The Real-World Impact
| Scenario | v5 Behaviour | v6.0 with Streak = 2 |
|---|---|---|
| Price wicks through trailing level, closes back | Position closed at wick price | Streak count = 0, position stays open |
| Price wicks through twice in same candle | Position closed on first wick | Still 0 closes through level — position stays open |
| Price closes through level, then closes back | Position closed, re-entry needed | Streak count = 1, position stays open |
| Price closes through level on 2 consecutive candles | Closed on first close | Streak = 2 → position closes at confirmed exit |
7. Hundreds More Improvements
The unglamorous work that makes everything else faster, safer, and more reliable.
Performance
core_leverage.rs and is called by all 12 exchanges. Previously this was duplicated per exchange.Reliability
leverageRatio. The v6.0 implementation handles this transparently without special-casing in strategy code.Accuracy
validate_and_fix_tick_size and validate_and_fix_step_size functions catch and correct invalid symbol filter values returned by exchange APIs before they cause order rejections.PF_XBTUSDTPERP → BTCUSDT mapping and XBT ↔ BTC normalisation handled automatically throughout the entire stack.XBTUSDTM → BTCUSDT normalisation, USDTM → USDT and XBT → BTC conversions applied consistently.dealValue / dealSize average price derivation.Developer Experience
trait → per-exchange impl → core dispatcher pattern. Every future exchange addition follows the same template.#[cfg(feature = "paid")]. Building with --features open compiles only the three free-tier exchanges (Binance, Bybit, Bitget). Building with --features paid includes all 12.enabled: false default and a caution: true flag in exchanges.yaml. The system logs a warning on every boot when MEXC is enabled, and on every MEXC order executed.Upgrade from v5
What You Need to Do
magictradebot migrate applies the new schema (SQLite and PostgreSQL both handled)TrailingRules — if you had trailing gap config in v5, split it into separate Long: and Short: blocks, or leave it as-is and v6.0 applies it to both directions identicallyTopMoverSignal.Gainers on first bootRedis.Enabled: falseWhat You Get Immediately (No Config Change)
- All bug fixes and reliability improvements
- 7 new exchanges available in your exchange config
- PostgreSQL as an available option
- Paper trading unlocked on free tier
- Streak-based trailing available (default:
StreakRequired: 1= v5 behaviour) - Top Mover Signal (includes both gainers and losers)
What's Next
v6.0 is a platform release. The foundation is in place. What comes next builds on it:
Try It
# Download v6.0 curl -L https://magictradebot.com/download/v6.0 -o magictradebot # Migrate from v5 ./magictradebot migrate # Start with default config (unchanged from v5) ./magictradebot start # Or enable paper trading (free, no restrictions) ./magictradebot start --demo
MagicTradeBot v6.0 · April 2026 · Built for traders who think in systems.