Este proyecto es un bot de trading que actúa como un puente inteligente entre un proveedor de señales en Telegram y tu cuenta de trading. Su función principal es escuchar en tiempo real los mensajes de un canal, interpretarlos y ejecutar las operaciones correspondientes sin intervención manual.
- Conexión en Tiempo Real: Utiliza una arquitectura asíncrona para escuchar y procesar mensajes de Telegram de forma instantánea y eficiente.
- Análisis Inteligente de Señales: Emplea expresiones regulares para extraer con precisión los parámetros de cada operación: activo, tipo de orden, precio de entrada y stop loss.
- Ejecución Automatizada: Se integra directamente con la terminal de MetaTrader 5 para colocar órdenes a mercado y pendientes.
- Sincronización de Órdenes: Mantiene la cartera de órdenes pendientes siempre actualizada.
- Soporte para Múltiples Activos: Diseñado para manejar una amplia gama de símbolos, incluyendo criptomonedas (
BTCUSD), índices (UK100,US500) y más. - Configuración Segura: Gestiona las credenciales de forma segura a través de variables de entorno, sin exponer datos sensibles en el código.
- Python 3.8+
- Telethon: Para interactuar con la API de Telegram.
- MetaTrader5: Para la conexión y ejecución de órdenes en la plataforma MT5.
- Asyncio: Para el manejo de operaciones asíncronas.
- python-dotenv: Para la gestión de variables de entorno.
Sigue estos pasos para poner en funcionamiento el bot en tu propio sistema.
- Tener Python 3.8 o superior instalado.
- Tener la terminal de MetaTrader 5 instalada y abierta en tu ordenador.
- Tener una cuenta de Telegram.
-
Clona el repositorio:
git clone https://github.com/fcocorrea/bot-telegram-trading.git cd tu-repositorio -
Crea un entorno virtual y actívalo: (Recomendado)
- En Windows:
python -m venv venv .\venv\Scripts\activate
- En macOS / Linux:
python3 -m venv venv source venv/bin/activate
- En Windows:
-
Instala las dependencias: Crea un archivo llamado
requirements.txtcon el siguiente contenido:telethon MetaTrader5 python-dotenvLuego, instálalo con pip:
pip install -r requirements.txt
-
Obtén tus credenciales de la API de Telegram:
- Inicia sesión en my.telegram.org con tu número de teléfono.
- Ve a la sección "API development tools" y crea una nueva aplicación.
- Copia los valores de
api_idyapi_hash. ¡No los compartas con nadie!
-
Configura tus variables de entorno:
- Crea un archivo llamado
.enven la raíz del proyecto. - Añade tus credenciales de Telegram. No uses comillas.
TELEGRAM_API_ID=12345678 TELEGRAM_API_HASH=abcdef1234567890abcdef1234567890 - Crea un archivo llamado
-
Crea tu sesión Asegúrate de tener la terminal de MetaTrader 5 abierta y de haber iniciado sesión en tu cuenta. Luego, ejecuta el script
telegram.py:python telegram.py
La primera vez que lo ejecutes, Telethon te pedirá tu número de teléfono, un código de verificación y, si la tienes, tu contraseña de doble factor para iniciar sesión.
-
Descarga Meta Trader 5 Descarga MT5 desde tu broker e ingresa a tu cuenta con tu usuario, clave y servidor.
- En
observación de mercadoasegúrate de tener habilitados los símbolos con los que vas a trabajar. Da clic derecho en la ventana de observación de mercado y has clic en "Símbolos". Luego, busca el símbolo que quieres operar y das clic en "Mostrar símbolo". De esta manera, MT5 podrá observar el precio en cada tick. - Asegúrate que el
trading algorítmicoesté activado.
- En
-
¡Todo listo!! Asegúrate de tener la terminal de MetaTrader 5 abierta y de haber iniciado sesión en tu cuenta. Ahora, tu bot debería de estar permanentemente escuchando los mensajes de Telegram y ejecutando las ordenes correspondientes sin que tu estés pendiente.
El bot está diseñado para interpretar los siguientes formatos de mensaje:
Se ejecutan inmediatamente al precio de mercado actual.
Compra BTCUSD $4180.49, Sl: 1280
Venta TSLA $315.00, Sl: 330
Se crea una orden Buy Limit que se activará si el precio alcanza el nivel especificado.
Buy limit Creada BTCUSD $113553.93, Sl: 73700
Cuando se recibe un mensaje que contiene ORDENES PENDIENTES, el bot realiza un proceso de sincronización completo, añadiendo las ordenes pendientes que no han sido creadas en tu cuenta de trading e ignorando las que sí están creadas para evitar duplicidad de ordenes.
ORDENES PENDIENTES
Buy Limit BTCUSD 107549.71 SL: 73700
Buy Limit BTCUSD 108526.54 SL: 73700
Buy Limit ETHUSD 3827.38 SL: 1280
Buy Limit HK50 18500 SL: 18000
Buy Limit US500 4500 SL: 4450
El bot puede modificar el Stop Loss de una posición ya abierta y en ganancia.
SL BTCUSD 115000
Este software se proporciona "tal cual", sin garantía de ningún tipo. El trading de instrumentos financieros implica un riesgo significativo y puede resultar en la pérdida de tu capital invertido. El autor no se hace responsable de ninguna pérdida financiera que pueda ocurrir como resultado del uso de este bot. Úsalo bajo tu propio riesgo.