Wat is de CCXT library en hoe koppel je 100+ crypto exchanges?
Je wilt snel en makkelijk handelen op tientallen crypto exchanges zonder telkens aparte API’s te leren.
De CCXT library is daarvoor je redder in nood. Met één Python-pakket koppel je meer dan 100 exchanges, van Binance tot Kraken, en bouw je er algoritmische trading bots omheen. In deze handleiding leg ik je stap-voor-stap uit hoe je CCXT installeert, je API-sleutels koppelt en een bot maakt die echt werkt.
Wat is CCXT eigenlijk?
CCXT is een open-source Python-bibliotheek die een standaardinterface biedt voor meer dan 100 crypto exchanges.
Je schrijft één keer code en kunt ermee handelen op Binance, Coinbase Pro, Kraken, Bybit, Bitstamp en tientallen andere. Stel je voor: je hebt een strategie die je op Binance wilt testen, maar straks ook op Kraken wilt draaien.
CCXT is als een universele afstandsbediening voor exchanges: één knop, alle kanalen.
Zonder CCXT moet je twee verschillende API-documenten lezen en twee aparte scripts schrijven. Met CCXT schrijf je één functie die beide exchanges aankan. De library ondersteunt spot trading, futures, margin en soms zelfs opties. Je kunt marktprijzen opvragen, orderboeken uitlezen, orders plaatsen en je portfolio monitoren.
Het werkt met Python 3.7+ en heeft geen dure licenties. Gewoon pip install ccxt en je bent klaar.
Wat heb je nodig?
Voordat je begint, zorg je dat je de juiste tools en accounts hebt. Hier is een concrete lijst:
- Een computer met Python 3.7 of nieuwer (liefst 3.10+ voor de beste ondersteuning).
- Een code-editor zoals VS Code of PyCharm (gratis).
- Een account bij minimaal één exchange, bijvoorbeeld Binance of Kraken.
- API-sleutels (API key en secret) van die exchange.
- Een virtuele omgeving (virtualenv) om je project schoon te houden.
Reken op ongeveer 30 minuten om alles klaar te zetten, inclusief het aanmaken van een virtuele omgeving en het installeren van CCXT.
Een API-sleutel aanmaken duurt meestal 5 tot 10 minuten, afhankelijk van de exchange. Veelgemaakte fouten: API-sleutels delen in openbare repositories, geen IP-whitelist instellen, of per ongeluk de verkeerde permissies (bijvoorbeeld alleen ‘read’ in plaats van ‘trade’) selecteren. Check dit dubbel.
Stap-voor-stap: CCXT installeren en koppelen
Stap 1: Maak een virtuele omgeving
Open je terminal en typ: python -m venv ccxt-env Activeer de omgeving op Windows: ccxt-env\Scripts\activate, op Mac/Linux: source ccxt-env/bin/activate.
Dit duurt 10 seconden. Veelgemaakte fout: vergeten te activeren, waardoor je pakketten in je systeem-Python installeert.
Typ in je geactiveerde omgeving: pip install ccxt
Stap 2: Installeer CCXT
Dit duurt meestal minder dan een minuut. Controleer met pip show ccxt of de installatie is gelukt. Een veelgemaakte fout is een verouderde versie; zorg dat je minimaal versie 4.x draait voor de nieuwste features.
Log in op je exchange (bijvoorbeeld Binance). Ga naar API-management, maak een nieuwe sleutel aan en zet ‘Enable Trading’ aan.
Kopieer je API-key en secret naar een veilige plek, bijvoorbeeld een .env-bestand of een password manager. Gebruik een IP-whitelist voor extra veiligheid. Tijd: 5-10 minuten. Veelgemaakte fout: de secret-key niet direct kopiëren; als je de pagina sluit, is hij vaak niet meer zichtbaar.
Stap 3: Maak API-sleutels aan
Maak een bestand test_ccxt.py en plak deze code: import ccxt
exchange = ccxt.binance({ 'apiKey': 'JOUW_API_KEY',
Stap 4: Schrijf je eerste CCXT-script
'secret': 'JOUW_SECRET', 'enableRateLimit': True, })
balance = exchange.fetch_balance() print(balance['USDT']['free']) Deze code haalt je USDT-saldo op.
Als je geen API-sleutels wilt gebruiken, vervang dan de regels door exchange = ccxt.binance() en je kunt nog steeds marktprijzen opvragen.
Veelgemaakte fout: vergeten enableRateLimit aan te zetten, waardoor je te snel API-aanroepen doet en geblokkeerd wordt. Probeer deze commando’s in je Python-console:
exchange.fetch_ticker('BTC/USDT') – haalt de huidige koers op. exchange.fetch_order_book('BTC/USDT') – toont het orderboek. exchange.fetch_ohlcv('BTC/USDT', '1m', limit=100) – haalt 100 candles van 1 minuut op.
Elke aanroep duurt meestal minder dan een seconde. Als je een foutmelding krijgt over rate limits, voeg dan een kleine vertraging toe met time.sleep(0.5) tussen aanroepen.
Dankzij de CCXT library is het simpel om meerdere exchanges tegelijk te gebruiken. Maak een dictionary met je exchanges: exchanges = { 'binance': ccxt.binance({'apiKey': '...', 'secret': '...'}),
'kraken': ccxt.kraken({'apiKey': '...', 'secret': '...'}), }
Loop erdoorheen om bijvoorbeeld de BTC/USDT-prijs op alle exchanges te vergelijken: for name, ex in exchanges.items():
ticker = ex.fetch_ticker('BTC/USDT') print(name, ticker['last']) Zo vind je snel prijsverschillen voor arbitrage of gewoon voor je eigen overzicht.
Om een limit-order te plaatsen: order = exchange.create_limit_buy_order('BTC/USDT', 0.001, 35000) Dit koopt 0,001 BTC voor 35.000 USDT.
Stap 5: Test een paar basisfuncties
Pas op: gebruik eerst een demo-account of kleine bedragen. Veelgemaakte fout: verkeerde symbool (bijvoorbeeld ‘BTC/USD’ in plaats van ‘BTC/USDT’) of een minimumordergrootte vergeten.
Check de exchange-info via exchange.load_markets() voor minimale volumes en fees.
Stap 6: Koppel meerdere exchanges
Stap 7: Plaats een order (met voorzichtigheid)
Praktische integratie met trading bots en backtesting
CCXT is perfect voor algoritmische trading bots. Je haalt live data, verwerkt die met een strategie en plaatst orders via de juiste Python libraries voor je trading architectuur.
Voor backtesting kun je CCXT combineren met libraries zoals Backtrader of vectorbt, of gebruik de Alpaca-py library voor commissievrij traden.
Haal historische data op met fetch_ohlcv en laad die in je backtesting-framework. Een simpel bot-voorbeeld: een moving-average crossover. Haal 50 en 200 candles op, bereken de gemiddelden, en plaats een buy-order als de korte boven de lange komt.
Zorg dat je risicomanagement inbouwt: stop-loss, position sizing (bijvoorbeeld max 2% van je account per trade) en een daily loss limit. Gebruik een broker die een API biedt die CCXT ondersteunt, zoals Binance, Kraken of Bybit. Voor risicomanagement kun je een aparte service bouwen die je posities monitort en automatisch sluit bij verlies. Denk aan een trailing stop of een max drawdown van 10% per dag.
Veelgemaakte fout: een bot live laten draaien zonder testen. Test altijd eerst met een demo-account of met kleine bedragen.
En zorg dat je logging en foutafhandeling inbouwt, zodat je weet wat er misgaat als een API-call faalt.
Verificatie-checklist
Gebruik deze checklist om te controleren of alles werkt: Als je alle punten kunt afvinken, ben je klaar om je CCXT-bot verder uit te bouwen. Begin klein, monitor nauwkeurig en schaal langzaam op. Veel succes!
- virtuele omgeving actief? (check met which python of where python)
- CCXT geïnstalleerd en versie minimaal 4.x? (check met pip show ccxt)
- API-sleutels correct ingevuld en IP-whitelist ingesteld?
- Eerste script draait en toont een saldo of ticker zonder fouten?
- Meerdere exchanges gekoppeld en prijzen vergeleken?
- Een testorder geplaatst op een demo-account of met een miniem bedrag?
- Risicomanagement ingebouwd: stop-loss, position sizing, daily loss limit?
- Logging en foutafhandeling actief?
