Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
MT5 to Telegram - Biblioteca de notificaciones de trading profesional - librería para MetaTrader 5
- Visualizaciones:
- 337
- Ranking:
- Publicado:
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
Librería profesional de integración Telegram Bot para MetaTrader 5. Una solución completa para enviar señales comerciales, capturas de pantalla, informes y notificaciones en tiempo real a los canales y grupos de Telegram.
Características principales
- 📨 Notificaciones de trading en tiempo real - Alertas instantáneas de apertura/cierre/modificación de posiciones.
- 📸 Capturas de pantalla de gráficos - Captura automática de gráficos con anotaciones
- 📊 Informes de cuenta - Informes de rendimiento diarios, semanales y mensuales
- ⚠️ Alertas de gestión de riesgos - Alertas de reducción, nivel de margen y stop-out
- 🔄 S istema de cola de mensajes - Entrega fiable con mecanismo de reintento
- 👥 So porte multicanal - Envío a múltiples chats/canales de Telegram
- 📝 S istema de plantillas - Plantillas de mensajes personalizables.
- 🎯 Limitación inteligente de la tasa - Evita el bloqueo de la API
Requisitos
- MetaTrader 5 versión 2375 o superior
- Token del bot de Telegram (consíguelo de @BotFather)
- Chat o ID de canal
- Conexión a internet
Instalación
Paso 1: Crear un Bot en Telegram
- Abre Telegram y busca a @BotFather
- Envía el comando /newbot
- Elige un nombre para tu bot
- Selecciona el nombre de usuario (debe terminar con 'bot')
- Guarda el token proporcionado por BotFather
Paso 2: Obtener un ID de Chat
- Añade el bot a un grupo/canal o inicia una sala de chat privada
- Envía cualquier mensaje al bot
- Ir a: https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
- Encuentra el ID de chat en la respuesta
Paso 3: Configurar MT5
- Abra MT5 → Servicio → Configuración → Asesores Expertos
- Marca la casilla "Permitir WebRequest para las siguientes URLs"
- Añadir URL: https://api.telegram.org
- Haga click en OK
Paso 4: Instalar archivos
- Copia TelegramBot.mqh a la carpeta MQL5/Include/.
- Copia TelegramBot_Example.mq5 a la carpeta MQL5/Experts/.
- Compila ambos archivos
Inicio Rápido
#include <TelegramBot.mqh> CTelegramBot bot; int OnInit() { // Inicializar el bot if(!bot.Initialize("YOUR_TOKEN"., "YOUR_CHAT_ID")) { Print("Fallo al inicializar bot"); return INIT_FAILED; } // Envío de un mensaje de prueba bot.SendMessage("¡Bot conectado con éxito!"); // Enviar una captura de pantalla del gráfico bot.SendChartScreenshot("Situación actual del mercado".); return INIT_SUCCEEDED; }
Referencia API
Mensajes Básicos
bool SendMessage(string text); bool SendHTMLMessage(string text); bool SendMarkdownMessage(string text); bool SendMessageToAll(string text);
Señales de Trading
bool SendTradeSignal(ENUM_SIGNAL_TYPE type, string symbol, double price); bool SendPositionOpened(ulong ticket, string symbol, ENUM_POSITION_TYPE type, double volume, double price); bool SendPositionClosed(ulong ticket, string symbol, double profit, double commission, double swap);
Archivos multimedia
bool SendPhoto(string file_path, string caption); bool SendDocument(string file_path, string caption); bool SendChartScreenshot(); bool SendChartScreenshot(string caption);
Informes
bool SendAccountStatus(); bool SendDailyReport(); bool SendWeeklyReport(); bool SendMonthlyReport();
Gestión de riesgos
bool SendRiskAlert(double drawdown_percent); bool SendMarginWarning(double margin_level); bool SendStopOutWarning();
Ejemplo de Asesor Experto
El paquete incluye un ejemplo totalmente funcional del Asesor Experto, demostrando:
- Supervisión de posiciones con notificaciones
- Capturas de pantalla automáticas en eventos de negociación
- Actualizaciones periódicas del estado de la cuenta
- Alertas de gestión de riesgos
- Informes diarios
- Señales de negociación demo
Formato de los mensajes
Formato HTML (recomendado)
string message = "<b> Жирный текст</b>\n"; message += "<i> Курсив</i>\n"; message += "<code> Моноширинный код</code>\n"; message += "<a href='http://example.com'> Ссылка</a>"; bot.SendHTMLMessage(message);
Formato Markdown
string message = "Texto en negrita"; message += "Cursiva".; message += "Código monoespaciado".; message += "[Enlace](http://example.com)"; bot.SendMarkdownMessage(message);
Rendimiento
- Velocidad de los mensajes: hasta 30 mensajes por minuto
- Límite de tamaño de archivo: 50 MB por archivo
- Longitud de los mensajes: 4096 caracteres
- Longitud de la firma: 1024 caracteres
- Tamaño de la cola: 100 mensajes
- Tiempo medio de respuesta: 50-200 ms
Gestión de errores
La biblioteca incluye una compleja gestión de errores:
- Comprobación de conexión
- Protección contra desbordamiento de límites
- Reintentos automáticos en caso de fallo
- Sistema de colas para mensajes fallidos
- Registro detallado de errores
Soporte
- Documentación: El código fuente incluye la documentación completa de la API.
- Ejemplo de EA: Ejemplo funcional con todas las funciones
- Modo de depuración: Depuración integrada para la resolución de problemas
Historial de versiones
Versión 1.0.0 (2024)
- Primera versión
- Integración completa de Telegram Bot API
- Soporte para múltiples canales
- Sistema de colas
- Motor de plantillas
- Alertas de gestión de riesgos
Licencia
Esta biblioteca se proporciona "tal cual" para su uso en MetaTrader 5. Es gratuita para uso personal y comercial.
Autor
Forex Trading Blueprint
(Stepan Sinic)
Descargo de responsabilidad
Este software se proporciona "tal cual" sin garantía de ningún tipo. El comercio implica un riesgo sustancial de pérdida y no es adecuado para todos los inversores. El rendimiento pasado no es un indicador de resultados futuros.
Si encuentra útil esta librería, ¡por favor valórela en MQL5 CodeBase!
Instrucciones detalladas de configuración
Crear un bot en Telegram
-
Encontrar BotFather
- Abre Telegram
- Escribe @BotFather en la búsqueda
- Pulsa START
-
Crear un nuevo bot
- Envía el comando /newbot
- Introduce el nombre del bot (por ejemplo: "My Trading Bot")
- Introduzca el nombre de usuario del bot (por ejemplo: mi_bot_de_comercio)
- Guarde el token del formulario 123456789:ABCdefGHIjklMNOpqrsTUVwxyz
-
Configure el bot
- Envía /setprivacy y selecciona DISABLE (para trabajar en grupos).
- Envía /setjoingroups y selecciona ENABLE (para añadir a grupos)
Obtener un ID de chat
Para mensajes privados:
- Inicia un diálogo con tu bot
- Envía cualquier mensaje
- Abre en tu navegador: https://api.telegram.org/bot<TOKEN>/getUpdates
- Encuentra "chat":{"id":123456789} - este es tu Chat ID
Para un grupo
- Añade el bot a un grupo
- Envía un mensaje al grupo
- Abrir en un navegador: https://api.telegram.org/bot<TOKEN>/getUpdates
- Encuentra "chat":{"id":-123456789} es un número negativo para grupos
Para el canal:
- Añade un bot como administrador del canal
- Envía un mensaje al canal
- O utilizar @nombredeusuario del canal como ID del chat
Solución de problemas frecuentes
Error de WebRequest:
Solución: 1. Herramientas → Configuración → Asesores 2. Haga clic en Aceptar. ✓ Permitir WebRequest para las siguientes URLs 3. Añadir: https://api.telegram.org 4. Reiniciar MT5
El bot no responde:
Compruebe: 1. Token correcto 2. 3. Conexión a Internet 4. Configuración de WebRequest
Los mensajes no llegan:
Posibles causas: 1. Límite API excedido (30 mensajes/minuto) 2. 2. Formato HTML incorrecto en el mensaje. Mensaje demasiado largo (>4096 caracteres)
Ejemplos de uso
Envío de una señal de compra
bot.SendTradeSignal(SIGNAL_BUY, "EURUSD", 1.1850, 1.1800, 1.1900);
Envío de una captura de pantalla con anotación
string caption = "<b> Точка входа</b>\n"; caption += "Пара: EURUSD\n"; caption += "Тип: BUY\n"; caption += "Цена: 1.1850"; bot.SendChartScreenshot(caption);
Envío del estado de la cuenta
bot.SendAccountStatus();
// Enviar automáticamente saldo, capital, margen, etc. Configuración de informes diarios
// En el asesor OnTimer() if(TimeHour(TimeCurrent()) == 23 && TimeMinute(TimeCurrent()) == 0) { bot.SendDailyReport(); }
Alerta de reducción
double drawdown = CalculateDrawdown(); // Su función de cálculo if(drawdown > 20.0) // La reducción es superior al 20%. { bot.SendRiskAlert(drawdown); }
Estructura de los mensajes
Posición abierta
[POSITION OPENED] ↑ ================ Ticket: #12345678 Symbol: EURUSD Type: BUY Volume: 0.10 Price: 1.18500 Time: 2024.01.15 10:30 ================
Posición cerrada
[POSITION CLOSED] ================ Ticket: #12345678 Symbol: EURUSD Profit: +125.50 USD Commission: -2.00 Swap: -0.50 Total: +123.00 USD Time: 2024.01.15 14:45 ================
Informe diario
[DAILY REPORT] ================ Date: 2024.01.15 ACCOUNT SUMMARY ---------------- Balance: 10,125.50 USD Equity: 10,250.00 USD Floating P/L: +124.50 USD TRADING ACTIVITY ---------------- Trades Today: 5 Today's Result: +250.00 USD Open Positions: 2 BOT STATISTICS ---------------- Messages Sent: 45 Signals Sent: 8 Success Rate: 98.5% ================
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/63585
MT5 to Telegram Professional Library
Librería profesional de integración Telegram Bot para MetaTrader 5. Solución completa para enviar señales de trading, capturas de pantalla, informes y notificaciones en tiempo real a canales y grupos de Telegram.
Arbitrage Triangle EURGBP-EURUSD-GBPUSD
El EA identifica las discrepancias entre los tipos de cambio teóricos y reales para ejecutar oportunidades de negociación con un riesgo mínimo.
TimeBar
Un simple indicador de información que muestra el tiempo restante hasta el cierre de la barra, así como el tiempo transcurrido desde la apertura de la barra y la hora actual.
Fractales Dinámicos
Modificación del indicador estándar Fractal