De Ichimoku Cloud implementeren in een Python script

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 · 6 min leestijd

Stel je voor: je hebt een Python script dat elke seconde de markt afspeurt. Je wilt niet blindelings kopen of verkopen, maar een strategie volgen die al decennia bestaat.

De Ichimoku Cloud is zo'n strategie. Het is niet zomaar een lijntje op een grafiek; het is een compleet systeem dat je in één oogopslag vertelt of een aandeel, crypto of forex paar sterk of zwak is.

In de wereld van algoritmische trading bots is dit goud waard. Je wilt je bot namelijk niet alleen een entry geven, maar ook vertellen wanneer het gas moet geven of juist de rem moet intrappen. Waarom doen we dit?

Omdat emotie de grootste vijand is van elke trader. Een bot heeft geen last van angst of hebzucht. Door de Ichimoku Cloud te implementeren in je Python script, bouw je een objectieve muur tussen je beslissingen en de markt. Je gebruikt data van brokers zoals Interactive Brokers of Binance, en je backtest dit systeem tot op de cent nauwkeurig voordat je ook maar één euro risico neemt. Laten we dus niet langer wachten en duiken we direct in de code en de logica.

Wat is de Ichimoku Cloud eigenlijk?

De Ichimoku Kinko Hyo, vaak gewoon Ichimoku genoemd, betekent letterlijk "één oogopslag evenwicht". Het is ontworpen door een Japanse journalist, Goichi Hosoda, om in één blik te zien of de markt in evenwicht is of niet.

In tegenstelling tot een simpele moving average die alleen achterwaarts kijkt, geeft dit systeem je een toekomstig pad. Je ziet niet alleen waar de prijs was, maar waar hij potentieel naartoe gaat. Het bestaat uit vijf lijnen, en die vormen samen de 'wolken' (clouds).

De meeste traders raken verward door de complexiteit, maar voor een Python bot is het gewoon wiskunde.

We halen data op via een API, berekenen deze lijnen en laten de bot beslissen. De kracht zit hem in de overlapping van deze lijnen. Waar ze samenkomen, ontstaan sterke support- en resistanceniveaus. Dit is precies wat je wilt voor een robuust risicomanagement systeem.

De vijf componenten ontleed

Om de cloud te begrijpen, moeten we elke lijn kennen. De basis is de 'Tenkan-sen' (conversielijn).

Dit is de gemiddelde hoogste en laagste prijs over de afgelopen 9 periods. Stel je een 1-uur grafiek voor: dan kijkt hij naar de afgelopen 9 uur. Dit is je snelle beweging, je korte momentum.

De 'Kijun-sen' (basislijn) doet hetzelfde, maar dan over 26 periods. Dit is je tragere beweging, de stabilisator.

Als de Tenkan boven de Kijun staat, is de trend short-term sterk. De 'Senkou Span A' (leading span A) is de gemiddelde lijn van de Tenkan en Kijun, maar dan 26 periods naar voren getrokken op je grafiek. De 'Senkou Span B' (leading span B) is het gemiddelde van de hoogste en laagste prijs over de laatste 52 periods, ook 26 perioden vooruit geschoven.

Deze A en B lijnen vormen samen de cloud. Tot slot is er de 'Chikou Span' (vertraagde lijn).

Dit is de huidige slotprijs, maar 26 perioden naar achteren geschoven. Dit is cruciaal voor validatie.

Als de Chikou Span bijvoorbeeld boven de prijsstructuur van 26 perioden geleden zit, bevestigt dat een sterkte. Een Python script moet deze vijf waarden berekenen voordat het ook maar één order plaatst.

De Python code: van data tot signaal

We beginnen met het ophalen van data. Laten we zeggen we handelen in Bitcoin via Binance.

We gebruiken de ccxt library of de officiële API. We halen een historische dataset op, bijvoorbeeld een DataFrame met 'open', 'high', 'low', 'close'.

Zonder goede data kan geen enkele bot werken. Zorg dat je data van minimaal 52 candles hebt om de langste lijn (Span B) te berekenen, anders crasht je script of geeft het verkeerde signalen. De implementatie in Python is vrij rechttoe rechtaan, hoewel het er wat wiskundig uitziet. Je definieert de periodes: 9, 26 en 52.

Je berekent de gemiddelden. Voor het efficiënt beheren van deze historische datasets kun je ArcticDB gebruiken voor Bloomberg-stijl dataopslag. De meeste Python traders gebruiken daarnaast de library 'pandas_ta'.

Dat maakt het leven een stuk makkelijker. Je importeert de library en roept aan: df['ichimoku'] = df.ta.ichimoku(). Dit geeft je meteen alle vijf de lijnen in je DataFrame.

Handmatig schrijven is een goede oefening, maar voor productie is een library efficiënter. Laten we een simpel voorbeeld van een signaal logica bekijken.

Stel, je bot kijkt naar de 'Tenkan-sen' en de 'Kijun-sen'. Als de Tenkan (9 perioden) de Kijun (26 perioden) kruist van onder naar boven, en de huidige prijs is boven de cloud, dan is dat een koopsignaal.

De cloud fungeert hier als filter. Je wilt geen long doen als de prijs nog onder de cloud hangt, want dat is weerstand. Je script moet deze voorwaarden checken.

Signalen en prijsindicaties

De Ichimoku kent een paar klassieke patronen die je bot moet herkennen.

De 'TK Cross' (Tenkan-Kijun cross) is de meest gebruikte. Als de snelle lijn de langzame kruist, is er momentum. De 'Kumo Twist' (cloud twist) is wanneer de Senkou Span A en B van plek wisselen. De cloud verandert van kleur (van rood naar groen of vice versa).

Dit kondigt vaak een grote trendomslag in, bijvoorbeeld van €45.000 naar €50.000 bij Bitcoin. Een sterk signaal is wanneer de 'Chikou Span' de prijs kruist.

Stel de prijs is €100, en de Chikou (die 26 perioden terugkijkt) staat op €99.

De Chikou kijkt naar het verleden en zegt: "Op dit punt 26 candles geleden was de prijs lager, dus de weg omhoog is vrij." Dit is een bevestiging die je risico verlaagt. Er zijn varianten in instellingen. De standaard instellingen (9, 26, 52) zijn gebaseerd op de Japanse kalender (1 week = 6 dagen, 1 maand = 26 dagen, 2 maanden = 52 dagen).

In de moderne crypto-markt (24/7) gebruiken sommige traders (zoals op de 1-uur grafiek) aangepaste settings, bijvoorbeeld (7, 22, 44), om gevoeliger te zijn. Test dit altijd in je backtesting script. De prijsactie rond de cloud is je anker; nooit een trade plaatsen zonder dat de cloud helderheid geeft over de richting.

Risicomanagement en backtesting

Een veelgemaakte fout is blindelings vertrouwen op de cloud. De markt kan extreem volatiel zijn.

Je Python bot moet dus een stop-loss hebben. Waar zet je die? Een logische plek is net onder de cloud of onder de Kijun-sen. Stel je koopt op €102 en de Kijun ligt op €98, dan stop je uit op €97.50.

Zo houd je rekening met wat 'ruis' in de markt. Je wilt niet dat je bot elke kleine schommeling als een ramp ziet.

Backtesting is je beste vriend. Verken je datasets in Jupyter Notebooks en gebruik libraries zoals 'Backtrader' of 'Zipline' in Python.

Je laadt je Ichimoku-strategie en draait deze terug over historische data. Kijk niet alleen naar de winst. Kijk naar de 'drawdown'.

Als je bot in één maand 20% verliest, is je risicomanagement te slap. Misschien moet je de positiegrootte verkleinen.

Handel nooit met meer dan 1% tot 2% van je totale kapitaal per trade. Sluit af met een checklist voor je live-gang. Is je API verbinding stabiel?

Heb je voldoende credits bij je broker? Herkent je script de 'Kumo Twist' correct?

De Ichimoku Cloud is een prachtig hulpmiddel, maar het is geen magie. Het is een framework.

Zorg dat je bot precies weet wat hij moet doen als de markt rustig is, en wat hij moet doen als de markt stormt.

Zo bouw je een trading bot die niet alleen slim is, maar ook duurzaam, zeker als je de juiste IDE voor trading bot ontwikkeling kiest.

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 →