Alles wat je wilt weten over installatie, configuratie, Bitvavo API-sleutels en veelvoorkomende foutmeldingen.
Je hebt nodig: Python 3.10 of hoger, een Bitvavo account met API-toegang, en een computer (Windows, Linux of macOS) die draait tijdens de handelsuren. De bot werkt volledig offline — er zijn geen externe diensten of abonnementen vereist. Benodigde Python pakketten: requests, schedule, python_bitvavo_api. Installeer via: pip install requests schedule python_bitvavo_api
De bot handelt alleen tijdens de ingestelde handelsvensters (standaard doordeweeks 09:00–11:30 en 15:30–17:30). De computer hoeft dus niet 24/7 aan te staan — alleen tijdens die uren. Sells lopen altijd door zodra de bot actief is, ook buiten de koopvensters. Wil je echt 24/7 draaien? Dan kun je de bot op een kleine VPS of Raspberry Pi draaien.
De standaard instelling is €10 per trade met maximaal 10 open posities tegelijk. Je hebt dus minimaal €100–€200 EUR op je Bitvavo account nodig om de bot optimaal te laten werken. Je kunt het bedrag per trade en het maximum aantal posities aanpassen in trading_config.json. Begin bij voorkeur met een klein bedrag om de bot eerst te leren kennen.
1. Start altijd eerst bitvavo_collector.py — deze vult de database.
2. Wacht 45–60 seconden voor de eerste dataverzameling klaar is.
3. Start daarna trading_bot.py.
De dagelijkse herstart (laatste_24_uur.py) doet dit automatisch in de juiste volgorde. Je kunt dit inplannen via Windows Taakplanner of cron (Linux).
Stap 1: Log in op bitvavo.com → Accountinstellingen → API sleutels → Nieuwe sleutel.
Stap 2: Geef de sleutel rechten: Lezen + Handelen. Geef GEEN opname-rechten.
Stap 3: Sla de API Key en Secret op — de secret wordt maar één keer getoond.
Stap 4: Omgevingsvariabelen instellen op Windows:
Open Command Prompt als administrator en voer uit:
setx BITVAVO_API_KEY "jouw_api_key_hier"
setx BITVAVO_API_SECRET "jouw_secret_hier"
setx BITVAVO_OPERATOR_ID "jouw_operator_id"
Belangrijk: Sluit Command Prompt en open een nieuw venster na setx. De variabelen zijn anders nog niet actief.
Voeg de volgende regels toe aan je ~/.bashrc of ~/.zshrc:
export BITVAVO_API_KEY="jouw_api_key_hier"
export BITVAVO_API_SECRET="jouw_secret_hier"
export BITVAVO_OPERATOR_ID="jouw_operator_id"
Daarna uitvoeren: source ~/.bashrc (of zshrc). Controleer met echo $BITVAVO_API_KEY. Gebruik voor productieomgevingen bij voorkeur een .env bestand met de python-dotenv bibliotheek.
De Operator ID staat in de Bitvavo Trader API instellingen. Ga naar bitvavo.com → Instellingen → API. Onderaan de pagina zie je je Operator ID als een getal. Dit getal is nodig bij het plaatsen van orders. Als je het ID niet hebt ingesteld verschijnt de waarschuwing "BITVAVO_OPERATOR_ID not set – orders may fail" in de logs.
Ja — jouw API-sleutels staan alleen op jouw eigen computer als omgevingsvariabelen. Ze worden nergens naartoe gestuurd en zijn nooit zichtbaar in de code. BoomerangBot heeft geen externe server en communiceert uitsluitend direct met de Bitvavo API. Stel je API-sleutel altijd in zonder opname-rechten — dan kan er nooit geld worden opgenomen, zelfs als de sleutel zou lekken.
1. Download Python 3.11+ via python.org/downloads.
2. Vink bij de installatie "Add Python to PATH" aan — dit is cruciaal!
3. Controleer installatie: open Command Prompt en typ python --version.
4. Installeer de benodigde pakketten:
pip install requests schedule python_bitvavo_api
Als pip niet herkend wordt: gebruik python -m pip install ...
1. Open Taakplanner (zoek in Start menu).
2. Klik Taak maken (niet snel taak maken).
3. Naam: BoomerangBot Dagelijkse Herstart
4. Tab Triggers: Nieuw → Dagelijks → Tijd: 08:50
5. Tab Acties: Nieuw → Programma: C:\Python311\python.exe → Argumenten: "C:\Bitvavo\laatste_24_uur.py"
6. Tab Voorwaarden: Schakel "Alleen uitvoeren als computer is voorzien van netvoeding" uit als je een laptop gebruikt.
7. Tab Instellingen: Vink "Taak uitvoeren zo snel mogelijk als geplande start gemist is" aan.
Ja — de scripts zijn volledig platformonafhankelijk. Op Linux/Raspberry Pi:
pip3 install requests schedule python_bitvavo_api
Voor automatisch opstarten gebruik je cron:
crontab -e en voeg toe:
50 8 * * * /usr/bin/python3 /home/pi/bitvavo/laatste_24_uur.py
Zorg dat de omgevingsvariabelen beschikbaar zijn door ze toe te voegen aan /etc/environment of een .env bestand te gebruiken.
Controleer de logbestanden:
trading_bot.log — activiteit van de trading bot
bitvavo_collector.log — dataverzameling elke 2 minuten
Je kunt ook de viewer gebruiken: python bitvavo_viewer.py toont de nieuwste snapshot voor alle markten. Als de collector draait zie je timestamps die maximaal 2 minuten oud zijn. Gebruik python bitvavo_collector.py test om de API-verbinding te testen.
Bewerk het trading_hours gedeelte in trading_config.json. Voorbeeld:
"Monday": ["09:00-11:30", "15:30-17:30"] — twee vensters op maandag
"Saturday": [] — nooit kopen op zaterdag
"Sunday": null — altijd kopen op zondag (null = geen beperking)
De tijdzone is instelbaar via "timezone": "Europe/Amsterdam". Verkopen lopen altijd door, ook buiten de handelsvensters — jouw kapitaal is nooit opgesloten.
Hard stop (hard_stop_pct: -1.5): verkoop onmiddellijk als de koers X% daalt ten opzichte van de aankoopprijs. Dit is de veiligheidsgrens — nooit meer dan 1,5% verliezen per trade.
Trailing stop: activeert zodra de koers X% gestegen is (trailing_activation_pct: 1.0). Daarna volgt de stop het hoogtepunt — als de koers Y% daalt van het hoogtepunt (trailing_stop_pct: 0.3) wordt er verkocht. Zo lock je winst in terwijl de koers stijgt.
Elke indicator heeft een eigen "enabled": true/false veld in het indicators blok van trading_config.json. Voorbeeld om RSI uit te schakelen:
"rsi": { "enabled": false, ... }
Je kunt EMA, ATR, RSI, Breakout en Candle Confirmation elk onafhankelijk aan- of uitzetten. De bot herlaadt de config automatisch niet — herstart trading_bot.py na een wijziging.
Bitvavo heeft een minimum ordergrootte van €5. Met de standaard instelling van buy_amount_eur: 10 en max_open_positions: 10 is de maximale exposure €100. Houd altijd een buffer aan — als je precies €100 hebt en er staat al €90 in posities, kan de bot geen nieuwe orders plaatsen voor €10 als er transactiekosten zijn verrekend.
Dit betekent dat de opgeslagen hoeveelheid in open_positions.json groter is dan je werkelijke wallet-saldo op Bitvavo. De bot probeert automatisch met het live saldo te verkopen (hard_stop.py haalt altijd het actuele saldo op). Als dit blijft optreden: controleer of er al een gedeeltelijke verkoop heeft plaatsgevonden, of verwijder de positie handmatig uit open_positions.json en voer een handmatige verkoop uit op Bitvavo.
Elke munt op Bitvavo heeft een maximaal toegestaan aantal decimalen. De bot haalt deze precisie automatisch op bij het starten (load_market_precision()). Als deze fout toch optreedt: controleer of de bot correct opgestart is en de precisie heeft opgehaald. Je ziet in de logs: "Loaded precision for X markets from Bitvavo". Is dit getal 0 of ontbreekt dit bericht? Herstart de bot.
De munt is door Bitvavo van de beurs gehaald. De hard_stop behandelt dit automatisch — de positie wordt als "skipped" gemarkeerd en verwijderd uit open_positions.json. Je hebt het resterende saldo van die munt nog wel in je wallet, maar je kunt het niet meer verkopen via de API. Controleer je Bitvavo wallet en verkoop handmatig als er nog waarde is.
De collector simuleert een echte browser (met browser-headers) om Cloudflare te omzeilen. Als dit toch optreedt: wacht 5–10 minuten en herstart de collector. Dit kan ook voorkomen na een tijdelijke netwerkstoringen. De collector probeert automatisch 3 keer opnieuw. Als het probleem aanhoudt: controleer of het jouw internetverbinding is of een tijdelijke Bitvavo-storing via status.bitvavo.com.
De omgevingsvariabelen zijn niet correct ingesteld of het terminal-venster is niet opnieuw gestart na setx. Controleer:
echo %BITVAVO_API_KEY% (Windows CMD) — dit moet jouw sleutel tonen.
echo $BITVAVO_API_KEY (Linux/macOS) — zelfde.
Als het leeg is: voer setx opnieuw uit en open een nieuw terminal-venster. Op Windows moeten soms ook alle CMD-vensters gesloten worden.
De trading bot kan geen recente marktdata vinden. Dit betekent dat de collector niet draait of de database leeg/verlopen is. Controleer of bitvavo_collector.py actief is (je ziet een CMD-venster of log-activiteit). De bot verwacht snapshots die maximaal 5 minuten oud zijn (max_data_age_seconds: 300). Start de collector opnieuw als hij niet draait.
De dagelijkse herstart (laatste_24_uur.py) trimt de database automatisch tot de ingestelde limiet (MAX_DB_MB: 250). Oudste rijen worden verwijderd en daarna wordt VACUUM uitgevoerd om de schijfruimte vrij te geven. Wil je de limiet aanpassen? Pas MAX_DB_MB aan in laatste_24_uur.py. Je kunt dit script ook handmatig uitvoeren als de database te groot wordt.
Nee — en iedere tool die dat wel belooft liegt. Crypto trading brengt risico's mee. In rustige markten handelt de bot minder, in volatiele markten meer. De 10% is een realistisch streefgetal bij correcte configuratie en een actieve markt, maar er zijn periodes met verlies. De bot is ontworpen om verlies te beperken via hard stops, niet om winst te garanderen. Gebruik uitsluitend geld dat je kunt missen.
Er kunnen meerdere oorzaken zijn: (1) Je bent buiten de handelsvensters. (2) De dagelijkse verlies-limiet is bereikt. (3) Een indicator filter faalt — bekijk de logs voor "FAIL" meldingen. (4) De munt zit in een cooldown-periode na een eerdere verkoop. (5) Het maximum aantal open posities is bereikt. Controleer trading_bot.log — elke afwijzing wordt gelogd met de reden.
Alle gesloten trades worden opgeslagen in transactions.csv in de bot-map. Dit bestand bevat: aankoopdatum/-tijd, verkoopprijzen, hoeveelheden, P&L percentage, gewonnen/verloren bedrag per trade. Je kunt dit openen in Excel of Google Sheets voor analyse. De dagelijkse herstart archiveert ook de laatste 48u in een apart bestand.
Open posities staan opgeslagen in open_positions.json. Als de bot stopt, blijven de munten in je Bitvavo wallet — er worden geen automatische verkopen gedaan. Bij de volgende start laadt de bot de posities opnieuw en hervat het beheer. Wil je alle posities direct verkopen? Gebruik python hard_stop.py. De dagelijkse herstart doet dit ook automatisch.
BoomerangBot is specifiek gebouwd voor Bitvavo en maakt gebruik van de officiële python_bitvavo_api. Het is technisch mogelijk om de scripts aan te passen voor andere exchanges, maar dat vereist programmeerkennis en valt buiten de ondersteuning. Voor Bitvavo werkt alles out-of-the-box.
Bitvavo rekent standaard 0,25% taker fee per order. Voor een koop én verkoop is dat 0,50% in totaal — bij een €10 trade is dat €0,05 per round-trip. De bot is geconfigureerd om minimaal 0,70% winst te maken (trailing activation 1,0% minus trailing stop 0,3%), waarna de fee van 0,50% ruimschoots gedekt is. Grotere handelsvolumes op Bitvavo geven kortingen op de fee.
Stuur een bericht via het contactformulier. Omschrijf de vraag zo specifiek mogelijk — vermeld ook het besturingssysteem en eventuele foutmeldingen uit de logs.
Neem contact op