Tu bot de trading corre 24/5 en un VPS, pero tú no te pasas el día mirando la pantalla. ¿Cómo sabes que ejecutó una orden, alcanzó el objetivo o — importante — se colgó con un error? La respuesta elegante: un bot de Telegram que te avisa en el teléfono en cada evento. Es simple de montar, gratuito, y convierte Telegram en una herramienta de verdad (muy distinta de los grupos de señales). Vamos al código.
Por qué esto es el "Telegram bueno": a diferencia de los grupos de señales (donde dependes de terceros), aquí Telegram es solo un canal de notificación de tu bot de trading, con tus reglas. Transparente, bajo tu control, sin nadie llevándose comisión. Uso técnico puro.
01Crear el bot en BotFather
Telegram tiene un bot oficial para crear bots — el BotFather. El proceso lleva 1 minuto:
En Telegram, busca @BotFather (el oficial, con sello). Inicia la conversación.
Envía /newbot, elige un nombre y un username (que debe terminar en "bot"). BotFather devuelve un token — algo como 123456:ABC-DEF....
Ese token da control total del bot. Trátalo como una contraseña — va en un .env, nunca en el código versionado.
Seguridad del token: quien tiene el token controla el bot. Nunca lo pegues en código público ni en GitHub, ni lo compartas. Usa una variable de entorno. Si se filtra, revócalo en BotFather (/revoke) y genera otro.
02Obtener tu chat ID
El bot necesita saber a dónde enviar. Necesitas tu chat ID. La forma simple: envía cualquier mensaje a tu bot y luego consulta:
# pegar_chat_id.py — rode uma vez import requests, os TOKEN = os.getenv("TELEGRAM_TOKEN") url = f"https://api.telegram.org/bot{TOKEN}/getUpdates" resp = requests.get(url).json() # envíe un mensaje al bot ANTES de ejecutar esto for r in resp.get("result", []): chat = r["message"]["chat"] print(f"Chat ID: {chat['id']} ({chat.get('first_name')})")
Anota el número que aparezca — es tu chat ID, que también va al .env.
03Enviar mensaje (la función base)
El corazón de todo — una función que envía un mensaje. Dos formas: con requests (más simple, sin dependencias) o con la librería python-telegram-bot (más completa). Para alertas, requests basta:
# telegram_alerta.py import requests, os TOKEN = os.getenv("TELEGRAM_TOKEN") CHAT_ID = os.getenv("TELEGRAM_CHAT_ID") def enviar_alerta(mensagem: str): url = f"https://api.telegram.org/bot{TOKEN}/sendMessage" dados = { "chat_id": CHAT_ID, "text": mensagem, "parse_mode": "HTML", # permite negrita, etc. } try: requests.post(url, data=dados, timeout=10) except Exception as e: print(f"Falha ao enviar Telegram: {e}") # prueba enviar_alerta("✅ Bot de alerta conectado!")
Listo para usar: con esa función, mandar una alerta se convierte en una línea. Fíjate en el try/except — nunca quieres que un fallo al enviar por Telegram tumbe tu bot de trading. La alerta es secundaria; la operación es lo principal.
04Integrarlo a tu bot de trading
Ahora la parte buena: llamar a enviar_alerta() en los eventos importantes de tu bot. Tomando el bucle de nuestro bot MT5 o Binance:
from telegram_alerta import enviar_alerta while True: try: df = puxar_candles(...) sinal = calcular_sinal(df) if sinal == "COMPRA" and not tem_posicao(): resultado = comprar(...) enviar_alerta(f"🟢 COMPRA executada\n" f"Ativo: WIN | Preço: {resultado.price}\n" f"Stop: {stop} | Alvo: {alvo}") time.sleep(60) except Exception as e: # alerta de ERROR — la más importante de todas enviar_alerta(f"🔴 ERRO no robô!\n{str(e)}") time.sleep(30)
Los eventos que más importa alertar: (1) error/bloqueo — el más crítico, necesitas saberlo al instante; (2) orden ejecutada (entrada y salida); (3) objetivo o stop alcanzado; (4) resumen diario (cuántos trades, resultado). La alerta de error por sí sola ya justifica montar esto — saber que el bot se cayó a las 3 de la madrugada evita pérdidas.
¿Todavía no tienes el bot al que ponerle alertas?
Empieza por los tutoriales de bot con Binance o de la API MT5-Python, y después conecta Telegram.
05Yendo más allá: comandos (con cuidado)
El bot puede ir más allá de solo avisar — puede recibir comandos tuyos (ej.: /status para ver posiciones, /parar para apagar el bot). Eso usa la librería python-telegram-bot y la lógica de leer updates. Pero aquí entra una precaución seria:
Si el bot controla tu bot de trading, protégelo: un bot que solo envía alertas es lectura pura — seguro. Pero si le das poder de enviar comandos a tu bot de trading (pararlo, cambiar un parámetro), necesitas autenticación: valida que el chat ID sea el tuyo y de nadie más. Un bot de control expuesto es una puerta para que alguien toque tu bot de trading. Para alertas, quédate en lectura; para control, blíndalo con rigor.
06Preguntas frecuentes
¿Cómo crear un bot en Telegram?
Hablando con @BotFather (el bot oficial). Envía /newbot, elige nombre y username terminado en "bot", y genera un token de API que usas en el código. Lleva cerca de 1 minuto.
¿Para qué sirve un bot de alertas en el trading?
Recibir notificaciones en tiempo real de tu bot: orden ejecutada, precio alcanzando un nivel, error, bot detenido. Permite monitorear la operación desde el teléfono sin estar frente a la pantalla. La alerta de error es la más valiosa.
¿Es seguro usar un bot de Telegram con tu bot de trading?
Para enviar alertas (lectura), es seguro y útil. Cuidados: nunca exponer el token públicamente; y si el bot envía comandos al bot de trading, protegerlo con autenticación para que solo tú puedas controlarlo.
¿Necesito un servidor para correr el bot de alertas?
El envío de alertas corre dentro de tu propio bot de trading — donde esté (VPS, PC). No hace falta un servidor aparte solo para enviar. Si quieres que el bot reciba comandos de forma continua, ahí sí necesitas algo siempre encendido (el mismo VPS del bot sirve).
¿requests o python-telegram-bot?
Para solo enviar alertas, requests basta (simple, sin dependencias extra). Para recibir comandos e interacciones más ricas, la librería python-telegram-bot es más completa. Empieza con requests para las alertas.