Mira cómo descargar robots gratis
¡Búscanos en Telegram!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Librerías

MT5 to Telegram - Biblioteca de notificaciones de trading profesional - librería para MetaTrader 5

Visualizaciones:
337
Ranking:
(9)
Publicado:
\MQL5\Experts\
testbot.mq5 (42.56 KB) ver
\MQL5\Include\
TelegramBot.mqh (186.27 KB) ver
MQL5 Freelance ¿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

  1. Abre Telegram y busca a @BotFather
  2. Envía el comando /newbot
  3. Elige un nombre para tu bot
  4. Selecciona el nombre de usuario (debe terminar con 'bot')
  5. Guarda el token proporcionado por BotFather

Paso 2: Obtener un ID de Chat

  1. Añade el bot a un grupo/canal o inicia una sala de chat privada
  2. Envía cualquier mensaje al bot
  3. Ir a: https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
  4. Encuentra el ID de chat en la respuesta

Paso 3: Configurar MT5

  1. Abra MT5 → Servicio → Configuración → Asesores Expertos
  2. Marca la casilla "Permitir WebRequest para las siguientes URLs"
  3. Añadir URL: https://api.telegram.org
  4. Haga click en OK

Paso 4: Instalar archivos

  1. Copia TelegramBot.mqh a la carpeta MQL5/Include/.
  2. Copia TelegramBot_Example.mq5 a la carpeta MQL5/Experts/.
  3. 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

  1. Encontrar BotFather

    • Abre Telegram
    • Escribe @BotFather en la búsqueda
    • Pulsa START
  2. 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
  3. 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:

  1. Inicia un diálogo con tu bot
  2. Envía cualquier mensaje
  3. Abre en tu navegador: https://api.telegram.org/bot<TOKEN>/getUpdates
  4. Encuentra "chat":{"id":123456789} - este es tu Chat ID

Para un grupo

  1. Añade el bot a un grupo
  2. Envía un mensaje al grupo
  3. Abrir en un navegador: https://api.telegram.org/bot<TOKEN>/getUpdates
  4. Encuentra "chat":{"id":-123456789} es un número negativo para grupos

Para el canal:

  1. Añade un bot como administrador del canal
  2. Envía un mensaje al canal
  3. 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 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 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 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 Fractales Dinámicos

Modificación del indicador estándar Fractal