Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Telegram!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Bibliotecas

MT5 to Telegram - Biblioteca de notificações de negociação profissional - biblioteca para MetaTrader 5

Visualizações:
150
Avaliação:
(6)
Publicado:
\MQL5\Experts\ \MQL5\Include\
Freelance MQL5 Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Biblioteca profissional de integração do Telegram Bot para o MetaTrader 5. Uma solução completa para enviar sinais de negociação, capturas de tela, relatórios e notificações em tempo real para canais e grupos do Telegram.

Principais recursos

  • Notificações de negociação em tempo real - Alertas instantâneos sobre abertura/fechamento/modificação de posições
  • Capturas de tela de gráficos - Captura automática de gráficos com anotações
  • Relatórios da conta - Relatórios de desempenho diários, semanais e mensais
  • ⚠️ Alertas de gerenciamento de risco - Alertas de drawdown, nível de margem e stop-out
  • Sistema de fila de mensagens - Entrega confiável com mecanismo de repetição
  • Suporte multicanal - Envie para vários chats/canais do Telegram
  • Sistema de modelos - Modelos de mensagens personalizáveis
  • Limitação inteligente de taxa - Evite o bloqueio da API

Requisitos

  • MetaTrader 5 versão 2375 ou superior
  • Token do bot do Telegram (obtenha-o com @BotFather)
  • ID de bate-papo ou canal
  • Conexão com a Internet

Instalação

Etapa 1: Criar um bot do Telegram

  1. Abra o Telegram e encontre @BotFather
  2. Envie o comando /newbot
  3. Escolha um nome para seu bot
  4. Selecione o nome de usuário (deve terminar com "bot")
  5. Salve o token fornecido pelo BotFather

Etapa 2: Obter um ID de bate-papo

  1. Adicione o bot a um grupo/canal ou inicie uma sala de bate-papo privada
  2. Envie qualquer mensagem para o bot
  3. Vá para: https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
  4. Encontre o ID do chat na resposta

Etapa 3: Configurar o MT5

  1. Abra o MT5 → Serviço → Configurações → Expert Advisors
  2. Marque a caixa "Allow WebRequest for the following URLs" (Permitir WebRequest para os seguintes URLs)
  3. Adicionar URL: https://api.telegram.org
  4. Clique em OK

Etapa 4: Instalar arquivos

  1. Copie o arquivo TelegramBot.mqh para a pasta MQL5/Include/.
  2. Copie TelegramBot_Example.mq5 para a pasta MQL5/Experts/.
  3. Compile os dois arquivos

Início rápido

#include <TelegramBot.mqh>

CTelegramBot bot;

int OnInit()
{
    // Inicialização do bot
    if(!bot.Initialize("YOUR_TOKEN"., "YOUR_CHAT_ID"))
    {
        Print("Falha ao inicializar o bot");
        return INIT_FAILED;
    }
    
    // Envio de uma mensagem de teste
    bot.SendMessage("Bot conectado com sucesso!");
    
    // Enviar uma captura de tela do gráfico
    bot.SendChartScreenshot("Situação atual do mercado.");
    
    return INIT_SUCCEEDED;
}

Referência da API

Mensagens básicas

bool SendMessage(string text);
bool SendHTMLMessage(string text);
bool SendMarkdownMessage(string text);
bool SendMessageToAll(string text);

Sinais de negociação

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);

Arquivos de mídia

bool SendPhoto(string file_path, string caption);
bool SendDocument(string file_path, string caption);
bool SendChartScreenshot();
bool SendChartScreenshot(string caption);

Relatórios

bool SendAccountStatus();
bool SendDailyReport();
bool SendWeeklyReport();
bool SendMonthlyReport();

Gerenciamento de risco

bool SendRiskAlert(double drawdown_percent);
bool SendMarginWarning(double margin_level);
bool SendStopOutWarning();

Exemplo de Expert Advisor

O pacote inclui um exemplo totalmente funcional do Expert Advisor, demonstrando:

  • Monitoramento de posição com notificações
  • Capturas de tela automáticas em eventos de negociação
  • Atualizações periódicas do status da conta
  • Alertas de gerenciamento de risco
  • Relatórios diários
  • Sinais de negociação de demonstração

Formatação da mensagem

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 em negrito{\n}";
message += "Itálico".;
message += "Código monoespaçado".;
message += "[Link] (http://example.com)";
bot.SendMarkdownMessage(message);

Desempenho

  • Velocidade da mensagem: até 30 mensagens por minuto
  • Limite de tamanho do arquivo: 50 MB por arquivo
  • Tamanho da mensagem: 4096 caracteres
  • Comprimento da assinatura: 1024 caracteres
  • Tamanho da fila: 100 mensagens
  • Tempo médio de resposta: 50-200ms

Tratamento de erros

A biblioteca inclui um tratamento complexo de erros:

  • Verificação de conexão
  • Proteção contra excesso de limite
  • Novas tentativas automáticas em caso de falha
  • Sistema de fila para mensagens com falha
  • Registro detalhado de erros

Suporte à API

  • Documentação: a documentação completa da API está incluída no código-fonte
  • Exemplo de EA: exemplo de funcionamento com todos os recursos
  • Modo de depuração: depuração integrada para solução de problemas

Histórico de versões

Versão 1.0.0 (2024)

  • Primeira versão
  • Integração total da API do bot do Telegram
  • Suporte para vários canais
  • Sistema de filas
  • Mecanismo de modelos
  • Alertas de gerenciamento de risco

Licença

Esta biblioteca é fornecida "como está" para uso no MetaTrader 5. Ela é gratuita para uso pessoal e comercial.

Autor

Forex Trading Blueprint
(Stepan Sinic)

Isenção de responsabilidade

Este software é fornecido "no estado em que se encontra", sem qualquer tipo de garantia. A negociação envolve um risco substancial de perda e não é adequada para todos os investidores. O desempenho passado não é um indicador de resultados futuros.


Se você achar esta biblioteca útil, avalie-a no MQL5 CodeBase!

Instruções detalhadas de configuração

Criando um bot no Telegram

  1. Encontre o BotFather

    • Abra o Telegram
    • Digite @BotFather na busca
    • Pressione START
  2. Criar um novo bot

    • Envie o comando /newbot
    • Digite o nome do bot (por exemplo: "My Trading Bot")
    • Digite o nome de usuário do bot (por exemplo: my_trading_bot)
    • Salve o token do formulário: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz
  3. Configure o bot

    • Envie /setprivacy e selecione DISABLE (para trabalhar em grupos).
    • Envie /setjoingroups e selecione ENABLE (para adicionar a grupos)

Como obter um ID de bate-papo

Para mensagens privadas:

  1. Inicie um diálogo com seu bot
  2. Envie qualquer mensagem
  3. Abra em seu navegador: https://api.telegram.org/bot<TOKEN>/getUpdates
  4. Encontre "chat":{"id":123456789} - este é seu ID de bate-papo

Para um grupo:

  1. Adicione o bot a um grupo
  2. Enviar uma mensagem no grupo
  3. Abra em um navegador: https://api.telegram.org/bot<TOKEN>/getUpdates
  4. Localizar "chat":{"id":-123456789} é um número negativo para grupos

Para o canal:

  1. Adicionar um bot como administrador do canal
  2. Enviar uma mensagem para o canal
  3. Ou use @nomedeusuário do canal como ID do chat

Solução de problemas frequentes

Erro de WebRequest:

Solução: 1. Ferramentas → Configurações → Conselheiros 2. Permitir WebRequest para os seguintes URLs 3. Adicione: https://api.telegram.org 4. Reinicie o MT5

O bot não está respondendo:

Verifique: 1. Token correto 2. O ID do chat está correto 3. conexão com a Internet 4. configurações de WebRequest

As mensagens não estão sendo transmitidas:

Possíveis causas: 1. Limite da API excedido (30 mensagens/minuto) 2. Formato HTML incorreto na mensagem 3. A mensagem é muito longa (>4096 caracteres)

Exemplos de uso

Envio de um sinal de compra

bot.SendTradeSignal(SIGNAL_BUY, "EURUSD", 1.1850, 1.1800, 1.1900);

Envio de uma captura de tela com anotação

string caption = "<b> Точка входа</b>\n";
caption += "Пара: EURUSD\n";
caption += "Тип: BUY\n";
caption += "Цена: 1.1850";
bot.SendChartScreenshot(caption);

Envio do status da conta

bot.SendAccountStatus();
// Enviar automaticamente saldo, patrimônio líquido, margem, etc.

Configuração de relatórios diários

// No conselheiro OnTimer()
if(TimeHour(TimeCurrent()) == 23 && TimeMinute(TimeCurrent()) == 0)
{
    bot.SendDailyReport();
}

Alerta de drawdown

double drawdown = CalculateDrawdown(); // Sua função de cálculo
if(drawdown > 20.0) // O drawdown é superior a 20%
{
    bot.SendRiskAlert(drawdown);
}

Estrutura da mensagem

Posição aberta

[POSITION OPENED] ↑
================
Ticket: #12345678
Symbol: EURUSD
Type: BUY
Volume: 0.10
Price: 1.18500
Time: 2024.01.15 10:30
================

Posição fechada

[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
================

Relatório diário

[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%
================

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/63585

MT5 to Telegram Professional Library MT5 to Telegram Professional Library

Biblioteca profissional de integração do Telegram Bot para o MetaTrader 5. Solução completa para enviar sinais de negociação, capturas de tela, relatórios e notificações em tempo real para canais e grupos do Telegram.

Arbitrage Triangle EURGBP-EURUSD-GBPUSD Arbitrage Triangle EURGBP-EURUSD-GBPUSD

O EA identifica discrepâncias entre as taxas de câmbio teóricas e reais para executar oportunidades de negociação com risco minimizado.

Barra de tempo Barra de tempo

Um indicador de informações simples que mostra o tempo restante até o fechamento da barra, bem como o tempo decorrido desde a abertura da barra e a hora atual.

Fractais dinâmicos Fractais dinâmicos

Modificação do indicador padrão Fractal