Hoe gebruik je 'Tmux' om je bot sessies actief te houden op een server?
Stel je voor: je hebt net een prachtige Python-bot gebouwd die een strategie test met backtesting via de API van Interactive Brokers of Alpaca.
Je zet hem live op een Linux-server, maar één verkeerde commando en je sessie crasht. Je bot ligt stil, je risicomanagement is weg en je mist trades.
Dat wil je niet. Tmux is je redding. Het is een terminal multiplexer die je sessies blijvend maakt, ook als je internet even weg is. In deze handleiding leer je stap voor stap hoe je Tmux gebruikt om je trading-bots soepel en stabiel te laten draaien.
Wat je nodig hebt voordat je start
Je hebt een Linux-server nodig, bijvoorbeeld een VPS van DigitalOcean of AWS, met minimaal 2 vCPU en 4 GB RAM voor lichte bots. Een basis Ubuntu 22.04 of 24.04 is prima.
Zorg dat je toegang hebt via SSH, bijvoorbeeld met een sleutel van 4096-bit RSA.
Installeer Python 3.11 of hoger, en je packages voor algoritmisch traden: pandas, numpy, ccxt, ib-insync of alpaca-trade-api. Je broker-API-sleutels (zoals van Interactive Brokers, Alpaca of Binance) moet je veilig opslaan in environment variables of een .env-bestand, nooit hardcoded. Tmux zelf installeer je met één commando. Reken op 10 minuten voor de voorbereiding.
- Server: 2 vCPU, 4 GB RAM, Ubuntu 22.04/24.04
- SSH-toegang met key-based login
- Python 3.11+ en pip
- Pakketten: pandas, numpy, ccxt, ib-insync, alpaca-trade-api
- API-sleutels van je broker
- Tmux: installatie duurt 1 minuut
Tmux installeren en basisconfiguratie
Log in op je server via SSH. Op Ubuntu/Debian draai je: sudo apt update && sudo apt install tmux -y.
Op CentOS/RHEL: sudo dnf install tmux. Check de versie met tmux -V; je wilt 3.0 of hoger.
Start Tmux met tmux in je terminal. Je ziet een groene statusbalk onderaan – dat is je sessie. Voor een prettige ervaring voeg je een simpele ~/.tmux.conf toe met een paar handige shortcuts, zoalsPrefix + r om te herladen.
- SSH in op je server: ssh trader@jouw-server-ip
- Installeer Tmux: sudo apt install tmux -y (1 minuut)
- Start Tmux: tmux (direct)
- Maak ~/.tmux.conf aan: nano ~/.tmux.conf (voeg set -g prefix C-a toe)
- Herlaad config: Ctrl-b, dan :reload (5 seconden)
Prefix is standaard Ctrl-b, maar veel traders veranderen dit naar Ctrl-a voor snelheid. Test dit met een nieuwe window: druk Ctrl-b, dan c. Een nieuwe tab opent. Sluit hem met Ctrl-b &.
Veelgemaakte fout: je vergeet sudo en krijgt permissions errors. Fix: altijd sudo gebruiken.
Een andere fout is een verouderde Tmux-versie; update je OS eerst. Tijd tot eerste sessie: 5 minuten.
Je eerste Tmux-sessie starten voor een trading-bot
Stel je hebt een Python-bot die een mean-reversion strategie draait op de API van Alpaca.
Open een nieuwe Tmux-sessie met tmux new -s bot-trading. Dit geeft je een scherm waar je de bot kunt starten.
Navigeer naar je projectmap, bijvoorbeeld /home/trader/bots/algo-mean-reversion. Activeer je virtual environment: source venv/bin/activate. Start de bot met python main.py --mode live --risk-per-trade 0.01. Je bot loopt nu in de Tmux-window.
- Maak sessie: tmux new -s algo-bot (10 seconden)
- Wissel naar map: cd /home/trader/bots/algo-mean-reversion
- Activeer venv: source venv/bin/activate (5 seconden)
- Start bot: python main.py --mode live --risk-per-trade 0.01 (direct)
- Monitor logs: tail -f logs/bot.log (als je logging hebt)
Om te zien of het werkt, gebruik je tmux ls om sessies te list en tmux attach -t bot-trading om terug te keren.
Specifieke tip: voor IBKR-gebruikers start je de Gateway eerst: ./twsapi.sh op poort 4001. Voor Binance via CCXT: zorg dat je API-key en secret in je .env staan. Tijd voor setup: 3-5 minuten.
Veelgemaakte fout: je bot crasht door een ontbrekende API-key; test altijd met een paper-trade-modus eerst. Een andere val: je vergeet de virtual environment, waardoor packages ontbreken. Check met pip list.
Beheren van sessies: windows, panes en detachen
Tmux is als een dashboard voor je bots. Je kunt meerdere windows maken: één voor de live-bot, één voor backtesting, één voor risicomanagement.
Gebruik Ctrl-a c voor een nieuwe window. Binnen een window deel je het scherm in panes: Ctrl-a % voor een verticale split, Ctrl-a " voor horizontaal. Ideaal om tegelijkertijd je bot-log te zien en een aparte Python-shell te draaien voor inspectie. Detach je sessie met Ctrl-a d, zodat je bot blijft draaien als je afmeldt.
- Nieuwe window: Ctrl-a c
- Verticale pane: Ctrl-a %
- Horizontale pane: Ctrl-a "
- Detach: Ctrl-a d
- List sessies: tmux ls
- Herattach: tmux attach -t algo-bot
Herattach met tmux attach -t algo-bot. Voor traders: draai in één pane de bot, in een tweede een live backtest met historical data van je broker, en in een derde een script voor risicolimieten (bijv. stop-loss niveaus op 2% van equity).
Tijd om te oefenen: 10 minuten. Veelgemaakte fout: je sluit per ongeluk een pane met Ctrl-d, wat je bot stopt.
Fix: gebruik Ctrl-a x om een pane te sluiten met bevestiging. Een andere: je vergeet te detachen en sluit je SSH-venster, maar de bot blijft gelukkig lopen dankzij Tmux.
Bot sessies actief houden: herstarten, logging en monitoring
Om je bot stabiel te houden, zorg je voor automatisch herstarten als er een crash is en schakel je auto-updates uit op je trading server.
Gebruik een simpel shell-script dat je bot start in een Tmux-window. Voorbeeld: maak start-bot.sh aan met #!/bin/bash en python main.py --mode live. Maak het uitvoerbaar: chmod +x start-bot.sh. Start het in Tmux: tmux new -s algo-bot -d './start-bot.sh'.
- Maak script: nano start-bot.sh (voeg je Python-commando toe)
- Maak uitvoerbaar: chmod +x start-bot.sh (10 seconden)
- Start detached: tmux new -s algo-bot -d './start-bot.sh' (5 seconden)
- Monitor met htop: draai in aparte pane (direct)
- Herstart bij crash: tmux send-keys -t algo-bot 'C-c' && tmux send-keys -t algo-bot './start-bot.sh' Enter
Voor logging voeg je --log-file logs/bot.log toe en draai tail -f in een aparte pane. Monitor met htop (installeer met sudo apt install htop) om CPU en RAM te checken – je bot mag niet meer dan 50% CPU gebruiken zonder goede reden.
Specifiek voor risicomanagement: voeg een health-check toe die elke 5 minuten je bot-pid checkt en een alert stuurt als die down is, bijv. via Slack of Telegram API.
Tijd voor setup: 15 minuten. Veelgemaakte fout: je script loopt vast door een ongeldig commando; test het eerst los van Tmux. Een andere: je vergeet log-rotatie, waardoor logbestanden gigantisch worden – gebruik logrotate met daily compress.
Veelgemaakte fouten en oplossingen
Veel traders bots laten stilvallen door simpele issues. Een fout: je start Tmux, maar je sessie crasht omdat je Python-versie niet matcht.
Check altijd python --version vooraf. Een andere: je API-key is verkeerd geconfigureerd, waardoor de bot niet connect – test met een paper-account bij Alpaca of IBKR. Soms vergeet je de server te beveiligen: zet je Python bot veilig op een AWS EC2 instance, zet een firewall op (ufw enable) en beperk SSH tot je IP.
- Versie-mismatch: update Python of herinstalleer venv
- API-fout: test met curl of ccxt-tester
- Server-security: ufw allow from jouw-ip to any port 22
- Performance: gebruik screen voor backtesting, Tmux voor live
- Naamgeving: tmux new -s algo-bot-
Voor backtesting: draai zware berekeningen in een aparte Tmux-window om je live-bot niet te vertragen.
En als je bot meerdere strategieën draait, geef elke een eigen sessie met duidelijke namen zoals algo-bot-mr voor mean-reversion. Tijd per fix: 2-5 minuten. Deze fouten kosten vaak uren downtime, dus beveilig je trading server tegen brute-force, want ze kosten je anders je uptime. Voor prijzen: een VPS kost €5-10 per maand, en Tmux is gratis – een koopje voor stabiele bots.
Verificatie-checklist
Gebruik deze checklist om te controleren of alles werkt. Loop er stap voor stap doorheen na je setup.
- Tmux geïnstalleerd en versie 3.0+: tmux -V
- Sessie actief: tmux ls toont je bot-sessie
- Bot start en draait: check logs of terminal-output
- Detach en herattach werkt: Ctrl-a d, dan tmux attach -t algo-bot
- Windows/panes functioneel: splits en navigeer zonder crash
- Logging ingesteld: tail -f logs/bot.log toont data
- Risicomanagement check: htop toont normaal CPU/RAM
- Herstart-script werkt: simuleer crash en start opnieuw
- API-verbonden: bot handelt paper-trade zonder errors
- Server beveiligd: firewall actief en SSH-key only
Als alles groen is, draai je bot soepel. Mislukt iets? Herstart Tmux en check de foutmelding.
Je bent nu klaar om je algoritmische trading-bots stabiel te runnen met Tmux. Veel succes met je trades!
