Bollinger Bands gebruiken voor een automatische breakout bot

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Algoritmische Strategieën · 2026-02-15 · 7 min leestijd

Je kent dat gevoel vast: je ziet een munt of aandeel plotseling exploderen. De prijs schiet omhoog of omlaag, en jij staat er weer naast. Frustrerend, hè?

Je gedachten schieten meteen naar FOMO. "Waarom heb ik niet gekocht op €23.40?" In die momenten van paniek of euforia sluipen de grootste fouten erin. Je koopt op de top en verkoopt met verlies.

Wat als je die emotie kon uitschakelen? Wat als een bot precies op die momenten kan springen, zonder aarzelen?

Breakout trading draait om die exacte momenten. Een prijs breekt uit een bepaalde range, en een nieuwe trend wordt geboren. De truc is niet om de toekomst te voorspellen, maar om te reageren zodra de markt zijn intenties toont.

Om dit systematisch te doen, gebruiken we een indicator die al decennia meegaat: Bollinger Bands. En door deze te combineren met een strakke Python-bot, verander je gokken in een berekende strategie.

Wat zijn Bollinger Bands eigenlijk?

Stel je voor dat je een gemiddelde lijn trekt door de prijzen van de afgelopen 20 candles.

Dat is het hart van de indicator. Bollinger Bands voegen hier iets slims aan toe. Ze meten hoe volatiel de markt is op dit moment.

Zijn de bewegingen groot? Dan verbreden de banden zich.

Beweegt de prijs rustig zijwaarts? Dan krimpen de banden.

Je krijgt dus een dynamische schommelband die rekening houdt met de huidige marktstorm. De bovenste lijn heet de 'Upper Band', de onderste de 'Lower Band', en het midden is de 'Moving Average'. De meeste prijsactie blijft binnen deze banden hangen. Logisch, want extreme uitschieters zijn zeldzaam.

De standaardafwijking is vaak ingesteld op 2. Dit betekent dat ongeveer 95% van de prijsactie hierbinnen zou moeten vallen.

Zodra de prijs een band raakt of breekt, is er iets aan de hand. Dat is het signaal dat de bot nodig heeft. Voor een breakout bot draait het niet om het 'raak' niveau.

We willen de doorbraak. Wanneer de prijs de band verlaat en niet direct terugkeert, is de kans groot dat er momentum is ontstaan.

Dit is fundamenteel anders dan een 'mean reversion' strategie, waarbij je juist inzet op een terugkeer naar het gemiddelde. Wij grijpen de energie van de trend.

De kern van de breakout strategie

Ons doel is simpel: de bot moet kopen als de prijs boven de bovenste band sluit, en verkopen als hij onder de onderste band duikt. Maar de markt is geen lineaire grapje.

Een prijs kan net buiten de band sluiten en de volgende candle direct terugvallen. Dat is een 'valstrik'. Om deze te vermijden, gebruiken we een bevestiging.

We eisen dat de prijs buiten de band sluit én dat de volgende candle open binnen de band ligt, maar verder beweegt in de richting van de doorbraak.

Stel je voor: Bitcoin staat rond €60.000. De Upper Band ligt op €60.500. De prijs schiet door en sluit op €60.600.

De bot activeert niet meteen. Hij wacht op de volgende candle.

Als die opent op €60.550 en direct doorstoot naar €60.700, is het signaal bevestigd.

De bot opent een long positie. De stop-loss wordt geplaatst net onder de Middle Band (bijvoorbeeld op €59.800). De take-profit is flexibel, vaak een veelvoud van het risico (R:R van 1:2 of 1:3). De kracht van deze strategie zit hem in de schaalbaarheid.

Of je nu handelt in Ethereum (ETH) op Coinbase of aandelen zoals ASML op Euronext via een broker zoals Interactive Brokers, het concept blijft hetzelfde. De bot kijkt puur naar prijsactie en volatiliteit. Het is een universele taal die elke markt spreekt.

Van indicator naar Python-code

Het bouwen van deze bot begint met data. Je hebt historische data nodig.

Geen excelsheets met 10 data punten, maar API-kwaliteit data. Via de API van je broker (bijvoorbeeld Binance voor crypto of degene via je Python wrapper) haal je de laatste 500 tot 1000 candles (bijvoorbeeld 15-minuten of 1-uur candles).

Met de library Pandas bereken je de Bollinger Bands. De code is eigenlijk vrij eenvoudig: je berekent het gemiddelde (rolling mean) en de standaardafwijking (rolling std). Een veelgemaakte fout is het verwarren van de 'Upper Band' met de 'Upper Band + 1 standaardafwijking'.

De standaard setting is meestal 20 perioden en 2 standaardafwijkingen. Zorg dat je in je Python script exact dezelfde parameters gebruikt bij je live bot als bij je backtest. Anders werkt het niet. Gebruik libraries als Pandas_ta of schrijf het handmatig met Pandas.

Je dataframe ziet er dan uit met kolommen: 'Close', 'Bollinger_High', 'Bollinger_Low'. De logica van de bot draait op een simpele 'if/else' structuur in een while-loop of event-driven systeem (zoals met de CCXT library).

Pseudo-code: Als (Close[Index] > Bollinger_High[Index]) EN (Open[Index+1] < Bollinger_High[Index+1]) EN (Open[Index+1] < Close[Index+1]) -> Koop.
Dit filtert de ruis eruit.

Je wilt geen positie openen als de prijs alweer terug is. Je wilt de start van een nieuwe trend.

Als de positie open is, stopt de bot niet. Hij moet constant monitoren. Is de stop-loss geraakt? Verkopen.

Is de take-profit bereikt? Sluiten. Of, voor de avonturiers: een 'trailing stop'.

Als de prijs stijgt, verplaats je de stop-loss omhoog (bijvoorbeeld 0.5% onder de laagste prijs van de afgelopen 3 candles). Zo zorg je dat je profiteert van een enorme run, terwijl je wel beschermd bent tegen een draai.

Backtesten: de realiteit check

Voordat je ook maar één euro aan je broker toevertrouwt, moet je backtesten. Dit is de fase waar de meeste beginners falen.

Ze testen op de huidige grafiek, kijken naar wat er nu gebeurt, en denken: "Dit werkt!".

Dat is hindsight bias. Je moet een script schrijven dat iteratief door historische data loopt, alsof het op dat moment leeft. Gebruik hiervoor Python libraries als Backtrader of VectorBT.

Deze helpen je bij het simuleren van order execution, rekening houdend met transactiekosten. Laten we even concreet worden. Je backtest een strategie op Ethereum van 1 januari 2023 tot 1 januari 2024. Je broker rekent 0.1% per trade.

Je start met €10.000. Het script draait. De resultaten rollen binnen: 150 trades, winstpercentage 45%, gemiddelde winst €150, gemiddelde verlies €75.

De winst is €2.000. Dit ziet er goed uit.

Maar let op de drawdown: wat was het grootste verlies onderweg? Was het 10% of 40% van je account? Als je een nacht wakker ligt van zo'n dip, is de strategie te agressief.

Pas in je backtest de transactiekosten aan. Veel brokers rekenen niet alleen een percentage, maar ook een vaste fee per trade (bijv. €3.99).

Als je vaak kleine trades plaatst, vreten deze fees je winst op. Een bot die 100 trades per dag doet met €2 winst per trade verliest €200 per dag aan kosten. Pas de tijdframes aan. Misschien werkt 1-uur candles beter voor jouw levensstijl en markt dan 5-minuten candles, die vaak vol zitten met 'noise' en valse signalen.

Live gaan en risicomanagement

Zodra je backtest stabiele resultaten laat zien, is het tijd voor de live API. Begin klein. Echt klein.

Zet je bot aan met een bedrag dat je kunt missen, bijvoorbeeld €500. Laat hem draaien op een coin met voldoende volume (zoals BTC of ETH) om spread te minimaliseren. De spread is het verschil tussen de bied- en laatprijs. Bij een slechte broker kan deze oplopen tot 0.5% of meer, wat je strategie direct verliest.

Een cruciale tip: log alles. Gebruik een library zoals 'Loguru' in Python om elke beslissing, elke trade en elke error op te slaan in een bestand.

Als je bot om 03:00 's nachts crasht of ineens 10 trades achter elkaar verliest, wil je precies weten waarom.

Was er een API fout? Is de internetverbinding weggevallen? Was de data corrupt?

Zonder logs ben je blind. Definieer je 'catastrophe stop'.

Stel je bot draait op een VPS (Virtual Private Server) in de cloud. Wat als je internet wegvalt of de broker API down is? Zorg dat je een grid bot kunt bijsturen als de markt zijwaarts beweegt en handmatig kunt ingrijpen.

Sommige traders programmeren een 'noodstop' die een positie sluit als de prijs met 5% daalt in 1 minuut, los van de normale stop-loss die je vaak ziet bij momentum trading en breakout-strategieën.

Dit beschermt je tegen bugs in je eigen code of problemen bij de broker. Besef goed dat zo’n zogenaamde 'Holy Grail' bot geen magische geldprinter is.

Het is een manier om emotie te weren en kansen te grijpen die te snel zijn voor een mens.

Het vereist discipline: de code niet aanpassen na een paar verliezen, de resultaten analyseren en alleen optimaliseren als het echt nodig is. Dus, open je Python editor, pak een historische dataset, en begin met bouwen. De markt wacht niet, en met de juiste bot hoef jij dat ook niet te doen.

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Over Alex de Vries

Alex is een ervaren quantitatief analist en Python-ontwikkelaar die complexe trading concepten vertaalt naar begrijpelijke, praktische handleidingen voor zowel beginners als gevorderden.

Volgende stap
Bekijk alle artikelen over Algoritmische Strategieën
Ga naar overzicht →