Fibonacci retracement levels automatisch tekenen met Python

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Python Libraries voor Algoritmische Trading · 2026-02-15 · 7 min leestijd

Stel je voor: je zit achter je scherm, kijkt naar een grafiek van Bitcoin of de S&P 500 en ziet die rare boogjes.

Die lijnen lijken uit het niets getekend, maar ze geven vaak precies aan waar de prijs stopt met dalen of stijgen. Dat zijn Fibonacci retracement levels.

Ze helpen je om betere entry- en exit-punten te vinden voor je algoritmische trading bot. Handmatig tekenen is een pijn, vooral als je tien assets tegelijk scant. Met Python kun je dit automatiseren, zodat je bot sneller reageert dan een mens ooit kan.

Wat zijn Fibonacci retracement levels eigenlijk?

Fibonacci retracement levels zijn horizontale lijnen op een grafiek die aangeven waar een prijs mogelijk ondersteuning of weerstand vindt. Ze zijn gebaseerd op de beroemde Fibonacci-reeks, ontdekt door wiskundige Leonardo Fibonacci.

Die reeks begint met 0 en 1, en elke volgende som is de som van de twee voorgaande getallen: 0, 1, 1, 2, 3, 5, 8, 13, 21, enzovoort.

In trading gebruiken we vooral de verhoudingen tussen deze getallen, zoals 38,2%, 50% en 61,8%. Waarom zijn ze belangrijk? Omdat prijzen zelden in een rechte lijn bewegen.

Ze stijgen of dalen, corrigeren even, en gaan dan weer verder. Die correcties gebeuren vaak op Fibonacci-niveaus. Voor een trading bot betekent dit: als je weet waar die levels liggen, kun je limietorders plaatsen op die prijzen. Je bot koopt bijvoorbeeld bij een daling naar 61,8% van de vorige stijging, of verkoopt bij 38,2% van een daling.

Dit vermindert emotionele beslissingen en verbetert je risicomanagement. Stel je voor: de EUR/USD-prijs stijgt van 1,1000 naar 1,1200.

Een correctie naar 1,1124 is ongeveer 38,2% van die stijging. Als je bot hier automatisch een kooporder plaatst, grijp je een kans die veel traders missen. Met Python kun je deze niveaus berekenen voor elke asset, elke timeframe, zonder dat je elke keer handmatig hoeft te meten.

Waarom je Fibonacci niveaus automatisch wilt tekenen

Handmatig tekenen is tijdrovend en foutgevoelig. Je moet de hoogste en laagste punten van een trend vinden, de niveaus berekenen, en dan de lijnen op de grafiek zetten.

Doe je dit voor 20 assets, ben je zo een uur verder.

En als de markt plotseling beweegt, ben je te laat. Een algoritmische bot die dit automatisch doet, is sneller en consistenter. Met Python kun je Fibonacci-niveaus integreren in je backtesting en live trading.

Gebruik bibliotheken zoals Pandas voor data, Matplotlib voor visualisatie, en TA-Lib voor technische indicatoren. Koppel dit aan een broker API, zoals die van Interactive Brokers of Binance, en je bot kan direct orders plaatsen op basis van de niveaus.

Dit is vooral handig voor risicomanagement: je stelt stop-losses in op lagere Fibonacci-niveaus, zoals 78,6%, en neemt winst op hogere, zoals 261,8%. Denk aan de kosten: een backtesting-tool zoals Backtrader is gratis, maar als je live wilt traden, betaal je voor API-toegang. Bij Binance kost een eenvoudige API-key niets, maar voor geavanceerde functies zoals futures trading betaal je €10-€50 per maand. Met Fibonacci-automatisering bespaar je tijd en verlaag je de kans op menselijke fouten, wat je winst op de lange termijn kan verhogen.

Hoe je Fibonacci retracement niveaus berekent met Python

De kern van Fibonacci-retracement is het berekenen van de niveaus tussen een hoog en laag punt in een trend. Eerst identificeer je de swing high en swing low van een asset, bijvoorbeeld de afgelopen 50 candles op een 1-uur grafiek.

Gebruik Python om deze punten te vinden: je laadt historische data via een API van je broker, zoals die van Alpaca voor aandelen of Kraken voor crypto. Stap 1: Haal data op. Met de requests-bibliotheek fetch je prijsdata.

Bijvoorbeeld, voor Bitcoin via Binance API: je vraagt de laatste 1000 candles op, elk van 1 uur.

De code ziet er zo uit: importeer requests, definieer de URL met symbol BTCUSDT, interval 1h, en limiet 1000. De response is een JSON met open, high, low, close prijzen. Stap 2: Vind swing high en low. Gebruik Pandas om de data in een DataFrame te zetten.

Bereken de hoogste en laagste punten over een venster, bijvoorbeeld 20 candles. Voor een opwaartse trend: swing high is het maximum van de laatste 50 candles, swing low het minimum.

Code-voorbeeld: df['high'].rolling(window=50).max() voor het hoogste punt. Stap 3: Bereken de niveaus. De formule is simpel: retracement = swing low + (swing high - swing low) * percentage.

Voor 38,2%: level_382 = swing_low + (swing_high - swing_low) * 0.382. Doe dit voor 23,6%, 38,2%, 50%, 61,8%, 78,6%, en extensies zoals 127,2% en 161,8%.

Schrijf een functie die deze levels teruggeeft als een lijst. Gebruik numpy voor precisie, vooral bij lage prijzen zoals een aandeel van €50. Stap 4: Teken de lijnen.

Met Matplotlib plot je de grafiek en voeg je horizontale lijnen toe voor elk niveau. Bijvoorbeeld: plt.axhline(y=level_618, color='green', linestyle='--').

Voor een trading bot kun je deze levels opslaan in een database of direct doorsturen naar je broker API. Test dit eerst op historical data voor assets zoals de DAX of goud, met prijzen tussen €15.000 en €2.000 per ounce.

Verschillende manieren om Fibonacci te gebruiken in je trading bot

Er zijn varianten op standaard Fibonacci retracement. De meest voorkomende is de klassieke retracement tussen twee swing punten, maar je hebt ook Fibonacci fans en arcs.

Fans tekenen lijnen vanaf een swing low naar hogere niveaus, wat helpt bij het zien van support in een stijgende markt. Arcs zijn cirkels die de tijd meenemen, handig voor bots die tijdgebonden orders plaatsen.

Voor prijsindicaties: combineer Fibonacci met andere indicatoren. Stel je bot scant de RSI (Relative Strength Index) op een 1-uur timeframe. Als de RSI onder 30 komt en de prijs raakt 61,8% retracement, is dat een koopsignaal. Voor de S&P 500, met niveaus op 4.500 punten na een stijging naar 4.600, zou een terugval naar 4.561 (38,2%) een entry zijn.

Gebruik trailing stops op 127,2% extensies voor winstneming, vooral in volatiele markten zoals crypto, waar prijzen snel €500-€1.000 kunnen schommelen.

Een ander model: Fibonacci time zones. Deze projecteren niveaus op basis van tijd, niet alleen prijs. Je bot kan een alert instellen op dag 5 of 8 na een swing low, afhankelijk van de reeks.

Voor risicomanagement: stel je inleg in op 1% van je kapitaal per trade. Als je bot een level raakt op €100 voor een aandeel, placeer een stop-loss op €95 (lagere Fibonacci) en take-profit op €120 (hogere).

Test dit met backtesting-tools zoals QuantConnect, die gratis zijn voor basisgebruik, maar €50 per maand kosten voor geavanceerde features.

Let op: Fibonacci werkt niet altijd. In sterke trends kunnen niveaus doorbroken worden. Daarom combineer je het met volume-analyse of moving averages.

Voor een bot op basis van Python, voeg een filter toe: alleen trades als de prijs binnen 2% van het niveau ligt. Dit voorkomt false signals en houdt je risico laag.

Praktische tips voor implementatie en risicobeheer

Begin klein: test je Fibonacci-bot op een demo-account bij een broker zoals eToro of Plus500, zonder echt geld.

Gebruik Python 3.10 of nieuwer, en installeer bibliotheken via pip: pip install pandas matplotlib requests numpy. Voor live trading, kies een broker met een sterke API, zoals Interactive Brokers (kosten €0,01 per aandeel) of Binance Futures (0,02% per trade). Pas je code aan voor je niche: lees de ultieme gids voor Python in algoritmische trading en integreer Fibonacci in een groter framework.

Gebruik Backtrader voor backtesting: je voegt een Fibonacci-indicator toe als een custom strategy. Voor risicomanagement, leer hoe je de Kelly Criterion formule programmeert in Python of pas fixed fractional sizing toe.

Stel je bot in om nooit meer dan 2% van je account per trade te riskeren.

Bij een account van €10.000 is dat €200 risico per trade. Tip voor precisie: gebruik een groter data-venster voor swing punten, zoals 100 candles voor daggrafieken, om ruis te vermijden. Voor snelle markten zoals crypto, kies een 15-minuten timeframe. Vermijd over-optimisatie: test je bot op out-of-sample data, niet alleen op historische.

En onthoud: geen enkele indicator is perfect. Fibonacci is een hulpmiddel, geen glazen bol.

Sluit af met een concrete stap: schrijf vandaag nog een eenvoudige Python-script die Fibonacci-niveaus berekent voor een asset naar keuze, zoals de AEX-index (rond €750). Plot het, en kijk hoe het voelt. Als je bot eenmaal loopt, voeg dan live orders toe via een API. Zo bouw je een robuust systeem, ondersteund door Python voor financiële analyse, dat je helpt slimmer te traden, met minder stress en meer consistentie.

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 Python Libraries voor Algoritmische Trading
Ga naar overzicht →