MagicTradeBot wurde entwickelt, um den automatisierten 24/7-Handel mit Hunderten von Kryptowährungspaaren zu unterstützen. Die meisten zentralisierten Börsen (CEXs) setzen jedoch strenge API-Ratenlimits durch, deren Überschreitung zu temporären Sperren, IP-Blockierungen oder Leistungsproblemen führen kann.
⚠️ Die Herausforderung mit Ratenlimits
Jede Börse erzwingt spezifische Grenzwerte für Anfragen pro Sekunde. Das kontinuierliche Scannen von Hunderten von Handelspaaren in Echtzeit über mehrere Börsen hinweg kann diese Grenzwerte leicht überschreiten.
Um API-Sperren oder Leistungsprobleme zu vermeiden, implementiert MagicTradeBot fortschrittliche Ratenlimit-Kontrollen, um automatisch die Vorgaben der Börsen einzuhalten.
🛠️ Verwaltung der Ratenlimits durch MagicTradeBot
- ⏱️ Verwendet API-Zeitplanung mit Ratenbegrenzung, die die Anforderungsgeschwindigkeit dynamisch anpasst
- 📊 Überwacht Antwort-Header (z. B.
X-RateLimit-Remaining
), um zu erkennen, wann Limits erreicht werden - 🧠 Führt automatisch Verzögerungen ein, wenn die API-Nutzung die Grenzwerte erreicht
- 🔁 Teilt große Listen von Krypto-Paaren in kleinere Abschnitte zur gestaffelten Abfrage auf
- 🕐 Verwendet die Einstellung
refreshRate
(z. B. alle 5 Sekunden), um jeweils einen Abschnitt zu scannen
✅ Empfohlene Bereitstellungsstrategie
Befolgen Sie diese Best Practices, um eine optimale Leistung und API-Konformität sicherzustellen:
1️⃣ Symbole auf mehrere Konten aufteilen
- Erstellen Sie separate Börsenkonten oder Unterkonten (z. B. Binance Hauptkonto, Bybit Sub1, Bitget Spot, OKX Futures)
- Weisen Sie jedem Konto unterschiedliche Gruppen von Handelspaaren zu
- Dies verringert die Anfragelast auf einem einzigen API-Schlüssel
2️⃣ Mehrere Bot-Instanzen ausführen
- Starten Sie separate MagicTradeBot-Instanzen für jede Börse bzw. jedes Konto
- Beispiel:
bot-binance-main
,bot-bybit-sub1
,bot-okx-spot
- Jede Instanz verwaltet nur eine begrenzte Anzahl an Paaren – das verbessert Zuverlässigkeit und Reaktionszeit
3️⃣ Aktualisierungsrate intelligent nutzen
- Stellen Sie den
refreshRate
inconfig.yaml
sinnvoll ein (z. B. 5 Sekunden) - Vermeiden Sie sehr kurze Intervalle, wenn Sie Hunderte von Paaren mit einer einzigen Instanz überwachen
📦 Beispielkonfiguration: 500 Krypto-Paare
Angenommen, Sie möchten 500 Krypto-Paare scannen und handeln. Sie könnten die Last folgendermaßen aufteilen:
Bot-Instanz | Börsenkonto | Krypto-Paare |
---|---|---|
bot-binance-main | Binance Hauptkonto | 50 Paare |
bot-bybit-sub1 | Bybit Unterkonto 1 | 50 Paare |
bot-okx-spot | OKX Spot-Konto | 50 Paare |
bot-bitget-main | Bitget Hauptkonto | 50 Paare |
... (wiederholen) | Andere Börse / anderes Konto | jeweils 50 Paare |
Dieser modulare Ansatz ermöglicht es jeder Bot-Instanz, weniger Anfragen zu bearbeiten, innerhalb der Ratenlimits zu bleiben und die Latenz zu reduzieren.
🧩 Fehlertoleranz
Durch die Aufteilung Ihrer Strategie auf mehrere Konten und Instanzen:
- 🛑 Wenn eine Bot-Instanz ausfällt (z. B. durch einen Börsenausfall oder internen Fehler), arbeiten die anderen weiterhin unabhängig
- ⚙️ Es wird einfacher, zu skalieren oder spezifische Engpässe zu isolieren
- 📉 Minimiert das Risiko, komplett von einer Börsen-API ausgeschlossen zu werden, aufgrund von Übernutzung