Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
MT5 to Telegram - Biblioteca de notificações de negociação profissional - biblioteca para MetaTrader 5
- Visualizações:
- 150
- Avaliação:
- Publicado:
-
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
- Abra o Telegram e encontre @BotFather
- Envie o comando /newbot
- Escolha um nome para seu bot
- Selecione o nome de usuário (deve terminar com "bot")
- Salve o token fornecido pelo BotFather
Etapa 2: Obter um ID de bate-papo
- Adicione o bot a um grupo/canal ou inicie uma sala de bate-papo privada
- Envie qualquer mensagem para o bot
- Vá para: https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
- Encontre o ID do chat na resposta
Etapa 3: Configurar o MT5
- Abra o MT5 → Serviço → Configurações → Expert Advisors
- Marque a caixa "Allow WebRequest for the following URLs" (Permitir WebRequest para os seguintes URLs)
- Adicionar URL: https://api.telegram.org
- Clique em OK
Etapa 4: Instalar arquivos
- Copie o arquivo TelegramBot.mqh para a pasta MQL5/Include/.
- Copie TelegramBot_Example.mq5 para a pasta MQL5/Experts/.
- 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
-
Encontre o BotFather
- Abra o Telegram
- Digite @BotFather na busca
- Pressione START
-
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
-
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:
- Inicie um diálogo com seu bot
- Envie qualquer mensagem
- Abra em seu navegador: https://api.telegram.org/bot<TOKEN>/getUpdates
- Encontre "chat":{"id":123456789} - este é seu ID de bate-papo
Para um grupo:
- Adicione o bot a um grupo
- Enviar uma mensagem no grupo
- Abra em um navegador: https://api.telegram.org/bot<TOKEN>/getUpdates
- Localizar "chat":{"id":-123456789} é um número negativo para grupos
Para o canal:
- Adicionar um bot como administrador do canal
- Enviar uma mensagem para o canal
- 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
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
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
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
Modificação do indicador padrão Fractal