Hoe stuur je notificaties naar Telegram of Discord als je bot een trade opent?
Een trade die je bot opent terwijl je boodschappen doet. Een stop-loss die geraakt wordt tijdens je vergadering. Je wilt het weten, meteen.
Stel je voor: je telefoon trilt, je ziet een berichtje in Telegram of Discord, en je weet direct wat er speelt.
Geen stress, geen continue checken van schermen. Dat is het voordeel van slimme notificaties.
Je bouwt een simpel kanaal tussen je Python bot en je telefoon. In dit stappenplan leg ik je exact uit hoe je dat opzet. Je kunt dit vanavond nog regelen.
Wat je nodig hebt voor je eerste notificatie
Voordat we beginnen, zorgen we dat de basis staat. Je hebt geen dure tools nodig.
Alles wat we gebruiken is gratis of heeft een gratis tier die ruim voldoende is voor een persoonlijke trading bot. Je werkt in een schone Python-omgeving, bijvoorbeeld een virtual environment met venv.
- Een Python-omgeving (Python 3.8+). Check met
python --versionin je terminal. - Je favoriete code-editor, bijvoorbeeld VS Code of PyCharm.
- Een Telegram-account of een Discord-account.
- Een Telegram Bot Token (haal je via @BotFather) of een Discord Webhook URL (uit je serverinstellingen).
- De Python-bibliotheek
requests. Installeer deze metpip install requests. Dit is je enige extra afhankelijkheid voor deze stap.
Zorg dat je bot al een werkende verbinding heeft met je broker, zoals Interactive Brokers of een crypto-exchange als Binance of Bybit via hun API. Je hebt geen server nodig; je script draait lokaal op je eigen computer of VPS. De setup kost je ongeveer 15 tot 30 minuten. De meeste tijd gaat zitten in het aanmaken van de bot en het kopiëren van de tokens.
De daadwerkelijke code is in 5 minuten getypt. Het is een kleine moeite voor een enorme boost in je gemoedsrust.
Stap 1: Je Telegram-kanaal opzetten (5 minuten)
Telegram is ideaal voor snelle, simpele notificaties. Je hebt een eigen bot nodig die berichten naar jou mag sturen.
Denk aan een privé-assistent die alleen jij spreekt. Je betaalt niets en het is binnen een paar minuten geregeld. Veelgemaakte fout: Het API-token delen in je code.
- Open Telegram en zoek naar de bot @BotFather. Dit is de officiële bot-maker van Telegram.
- Start een chat en typ
/newbot. Volg de instructies. Geef je bot een naam (bijvoorbeeld "MijnTradeBot") en een unieke gebruikersnaam die eindigt op "bot" (bijvoorbeeld "MijnTradeBotje_bot"). - BotFather stuurt je een API Token. Dit is een lange reeks tekens, bijvoorbeeld
123456789:ABCdefGhIJKlmNoPQRsTUVwxyz. Kopieer dit token direct en bewaar het veilig. Dit is je wachtwoord voor de bot. - Zoek in Telegram je eigen bot op (op de gebruikersnaam die je net hebt aangemaakt) en start de chat. Druk op "Start". Als je dit niet doet, kan de bot je geen berichten sturen.
- Om je eigen ID te vinden, zoek je naar een bot zoals @userinfobot of @getmyid_bot. Start de chat en je krijgt direct je "Chat ID" te zien. Dit nummer heb je nodig zodat je bot weet waar hij moet appen.
Stop het token in een apart bestandje (bijvoorbeeld .env) of als environment variable.
Zo deel je je code veilig op GitHub zonder je bot te verliezen. Je Chat ID is minder gevoelig, maar hou die ook privé.
Stap 2: Je Discord-webhook regelen (5 minuten)
Discord is perfect als je al een server gebruikt voor je trading community of als je notificaties wilt combineren met logs en grafieken. Je maakt een apart kanaal, bijvoorbeeld "#trades-alerts", en stuurt daar je bot naartoe.
- Open je Discord-server. Ga naar de server-instellingen (klik op je servernaam bovenaan).
- Klik op "Integraties" en dan op "Webhooks".
- Klik op "Nieuwe Webhook". Geef hem een naam, bijvoorbeeld "TradeBot". Kies het kanaal waar de notificaties moeten komen, bijvoorbeeld "#trades-alerts".
- Kopieer de "Webhook URL". Dit is je specifieke URL. Het ziet eruit als
https://discord.com/api/webhooks/123456789/ABCdefGhIJKlmNoPQRsTUVwxyz. - Klaar. Je hebt nu een directe lijn naar een specifiek kanaal in je server.
Je hebt een webhook nodig; dat is een speciale URL die berichten kan ontvangen. Tip: Beveilig de toegang tot je trading bot met SSH keys en maak een aparte rol aan die alleen toegang heeft tot het alert-kanaal. Zo voorkom je dat je bot per ongeluk andere kanalen spamt als er iets misgaat in de code.
Stap 3: De Python-code schrijven (10 minuten)
Hier komt de magie. Zodra je je bot sessies actief houdt, maken we een simpel scriptje dat een bericht stuurt zodra je bot een trade opent.
We gebruiken de bibliotheek requests. Die heb je al geïnstalleerd. Je kunt deze functie makkelijk integreren in je bestaande trading script. Ik geef je een simpel voorbeeld voor Telegram.
import requests
import os
# Haal je gegevens op uit environment variables of een apart bestand
TELEGRAM_TOKEN = os.getenv('TELEGRAM_TOKEN')
TELEGRAM_CHAT_ID = os.getenv('TELEGRAM_CHAT_ID')
def send_telegram_message(message):
"""Stuurt een bericht naar je Telegram bot."""
if not TELEGRAM_TOKEN or not TELEGRAM_CHAT_ID:
print("Fout: Telegram token of Chat ID mist.")
return
url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage"
payload = {
'chat_id': TELEGRAM_CHAT_ID,
'text': message,
'parse_mode': 'HTML' # Zorgt voor vetgedrukte tekst etc.
}
try:
response = requests.post(url, json=payload)
return response.json()
except Exception as e:
print(f"Kon bericht niet versturen: {e}")
# Voorbeeld gebruik in je bot:
# trade_info = "Long BTC $50,000 | Risk: 1%"
# send_telegram_message(f"Nieuwe Trade:\n{trade_info}")
Voor Discord werkt het bijna hetzelfde, alleen de URL en het formaat van het bericht veranderen. Maak een nieuw Python-bestand, bijvoorbeeld notificaties.py.
import requests
import os
DISCORD_WEBHOOK_URL = os.getenv('DISCORD_WEBHOOK_URL')
def send_discord_message(message):
"""Stuurt een bericht naar je Discord webhook."""
if not DISCORD_WEBHOOK_URL:
print("Fout: Discord Webhook URL mist.")
return
# Discord gebruikt JSON met een "content" veld
payload = {'content': message}
try:
response = requests.post(DISCORD_WEBHOOK_URL, json=payload)
return response.status_code
except Exception as e:
print(f"Kon bericht niet versturen: {e}")
# Voorbeeld gebruik:
# send_discord_message(f"🚀 Nieuwe Trade: Long BTC @ 50k")
Plak hier de volgende code: Voor Discord ziet de functie er zo uit:
Veelgemaakte fout: Vergeet niet de API-keys en tokens in te laden via os.getenv() of een library als python-dotenv. Hardcoden is onveilig en onhandig als je van computer wisselt.
Stap 4: Activeer de notificatie op het juiste moment
Nu moet je de notificatie-functie koppelen aan je trading logica. Je wilt het bericht versturen op het moment dat je broker de order bevestigt.
Je wilt geen spam, dus activeer het alleen bij een daadwerkelijke opening of sluiting van een positie. Stel je gebruikt een library als ib_insync voor Interactive Brokers. Je hebt een functie die een order plaatst. In die functie roep je onze nieuwe functie aan. Zie het zo:
Timing is belangrijk. Wacht tot de orderstatus 'Filled' is.
# Dit is een stukje uit je hoofdscript
from notificaties import send_telegram_message
def open_trade(ticker, kant, volume, entry_price):
# ... (je code die de order verstuurt naar de broker API) ...
# Zodra de order is bevestigd:
if order_is_filled:
bericht = f"✅ Trade Bevestigd\nTicker: {ticker}\nKant: {kant}\nVolume: {volume}\nPrijs: {entry_price}"
send_telegram_message(bericht)
Voordat je live gaat, is het verstandig om unit testing voor trading bots toe te passen, of je bot te draaien op een paper trading account.
Zo voorkom je dat je een notificatie krijgt voor een order die nog in de wacht staat.
Stap 5: Uitbreiden met meer data (Risicomanagement)
Een simpele "Trade Open" is goed, maar je kunt meer sturen om sneller te handelen. Voeg je stop-loss en take-profit niveaus toe aan het bericht.
Zo weet je direct wat je risico is en hoef je niet eerst je dashboard te openen. Dit is essentieel voor goed risicomanagement. Pas je berichtformaat aan.
Gebruik specifieke data uit je bot. Als je bot berekent dat je risico €50 is, stop dat in het bericht.
Nieuwe Positie: ETH/USD
Actie: Long
Entry: $2,450
Stop: $2,400 (Risico: €50)
Target: $2,600
Maak het leesbaar met een simpel format. Bijvoorbeeld: Gebruik Markdown of HTML om de boel op te leuken. Telegram en Discord ondersteunen dit. Vet de ticker, gebruik emoji's voor visuele herkenning.
Dit maakt het scannen van je notificaties in een oogopslag mogelijk. Je ziet in één seconde of het een "goede" of "slechte" trade is.
Verificatie-checklist: Werkt het?
Voordat je je bot de markt in stuurt, loop je deze checklist even langs.
- Test de basis: Run een simpel scriptje dat een testbericht stuurt naar Telegram én Discord. Krijg je het binnen?
- Check je tokens: Zitten je API-tokens en Webhook URLs in je environment variables? Werken ze?
- Simuleer een trade: Gebruik je broker's paper trading account. Laat je bot een order plaatsen en sluiten. Krijg je de notificatie op het juiste moment?
- Check de timing: Krijg je de notificatie bij een 'Filled' status of al bij een 'Submitted' status? Pas je code aan als het te vroeg is.
- Veiligheid: Zijn je API-tokens beperkt tot de juiste rechten (bijv. alleen handelen, niet opnemen)?
- Probeer een error: Wat gebeurt er als de API down is? Zorg dat je script niet crasht, maar een simpele print() in je console doet.
Dit voorkomt vervelende verrassingen midden in de nacht of tijdens een volatile marktsessie. Als alles groen is, ben je klaar.
Je hebt nu een professionele setup. Je bot praat met je, waar je ook bent. Je bent niet langer een slaaf van je scherm. Je kunt ontspannen, wetende dat je op de hoogte bent gehouden. Dat is de kracht van goede infrastructuur.
