New module bot/notify/telegram.py — httpx async, fire-and-forget via
asyncio.create_task, swallows all errors so notifications never affect
trade execution.
Three alert types:
📈/📉 TRADE ABIERTO — direction, size, edge_net (in execute())
✅/❌ GANADO/PERDIDO — approx PnL (in close_position())
🔒 LEGACY CLOSE — recovered capital + reason (in close_legacy_position())
close_position() and close_legacy_position() gain an optional question=""
param so the message shows the market name instead of market_id.
bot/main.py updated to pass question= to close_legacy_position().
Credentials (TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID) read from env vars
injected via bot-secrets k8s secret.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>