Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Twitter!
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
Experts

ExMachina Telegram Bridge - expert para MetaTrader 5

Publicado por:
[Excluído]
Visualizações:
34
Avaliação:
(5)
Publicado:
Freelance MQL5 Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

O QUE ELE FAZ


O EA detecta eventos de negociação por meio de dois mecanismos independentes: o manipulador OnTradeTransaction para detecção em tempo real e uma varredura periódica do histórico de negociações como alternativa. Um sistema de deduplicação garante que você nunca receba a mesma notificação duas vezes, mesmo que ambos os mecanismos sejam acionados no mesmo evento.


Notificações compatíveis:

- Negociação aberta: símbolo, direção (COMPRA/VENDA), volume, preço, SL, TP, número mágico, ticket da transação

- Negociação fechada: símbolo, volume, preço de fechamento, P/L bruto, comissão, swap, P/L líquido, saldo atualizado

- SL/TP modificado: valores antigos e novos exibidos lado a lado (por exemplo, SL: 1924,00 → 1926,50)

- Ordens pendentes colocadas: tipo (Buy Limit, Sell Limit, Buy Stop, Sell Stop, Buy Stop Limit, Sell Stop Limit), preço, volume

- Reversão de posição: nova direção, P/L fechado

- Depósitos e saques: valor e saldo atualizado

- Resumos periódicos da conta: saldo, patrimônio líquido, margem livre, P/L flutuante, P/L da sessão, posições abertas, patrimônio líquido alto/baixo do dia, porcentagem de drawdown

- Mensagens de conexão e desconexão com estatísticas da sessão



CONFIGURAÇÃO - PASSO A PASSO


Você precisa de duas coisas do Telegram: um Bot Token e seu Chat ID.


Etapa 1: Criar um bot do Telegram

Abra o Telegram, procure por @BotFather e inicie uma conversa. Envie o comando /newbot. O BotFather pedirá que você escolha um nome de exibição (o que quiser) e um nome de usuário (deve terminar em "bot"). Depois de criado, o BotFather envia a você um token de API - uma cadeia longa que se parece com 7123456789:AAH1bCdEfGhIjKlMnOpQrStUvWxYz. Copie esse token.


Etapa 2: obtenha seu ID de bate-papo

No Telegram, procure por @userinfobot (ou @getmyid_bot) e envie uma mensagem para ele. Ele responderá com seu ID de bate-papo numérico (por exemplo, 123456789). Copie esse número.


Para notificações de grupo: adicione seu bot a um grupo do Telegram e, em seguida, use @getidsbot no grupo para obter o Chat ID do grupo (número negativo, por exemplo, -1001234567890).


Etapa 3: inicie uma conversa com seu bot

Esta etapa é fácil de esquecer. Encontre seu bot pelo nome de usuário na busca do Telegram, abra-o e pressione Iniciar. Se você pular essa etapa, a API do Telegram rejeitará todas as mensagens.


Etapa 4: Permitir WebRequest no MetaTrader 5

No MT5, vá para Ferramentas → Opções → Expert Advisors. Marque a opção "Allow WebRequest for listed URL". Clique em Add e digite exatamente: https://api.telegram.org - depois clique em OK. Essa é uma configuração única. Se você pular essa etapa, verá o erro 4014 do WebRequest na guia Experts e nenhuma mensagem será enviada.


Etapa 5: instalar o EA

Copie o ExMachina_TelegramBridge.mq5 para a pasta MQL5/Experts/ (acesse via File → Open Data Folder no MT5). Abra o MetaEditor (F4), navegue até o arquivo e pressione Compile (F7). Você deverá ver 0 erro(s), 0 aviso(s).


Etapa 6: anexar a um gráfico

Arraste o EA do painel Navigator para qualquer gráfico. Na caixa de diálogo de configurações, cole seu Bot Token e Chat ID. Clique em OK. Em segundos, você deverá receber uma mensagem de conexão no Telegram mostrando o número da sua conta, o servidor, o saldo, o patrimônio e o número de posições abertas.



captura de tela_ExM_telegram_bridge

PARÂMETROS DE ENTRADA


Configuração do Telegram:

- Bot Token: seu token de API do @BotFather (obrigatório)

- ID de bate-papo: seu ID de bate-papo numérico (obrigatório, pode ser um ID de grupo)


Configurações de notificação:

- Notify on Trade Open: true/false (padrão: true)

- Notify on Trade Close (Notificar no fechamento da negociação): true/false (padrão: true)

- Notify on SL/TP Modify (Notificar sobre modificação de SL/TP): true/false (padrão: true)

- Notify on Pending Orders (Notificar sobre ordens pendentes): true/false (padrão: true)

- Notify on Deposit/Withdrawal (Notificar sobre depósito/retirada): true/false (padrão: true)


Account Summary (Resumo da conta):

- Summary Report Interval (Intervalo do relatório de resumo): Off, Every 1 Hour, Every 4 Hours, Every 8 Hours, Every 24 Hours (padrão: Every 4 Hours)

- Include Equity in Summary (Incluir patrimônio líquido no resumo): true/false (padrão: true)

- Include Drawdown Info (Incluir informações de drawdown): true/false (padrão: true)


Exibição e estilo:

- Estilo da mensagem: Mínima (uma linha compacta), Detalhada (informações completas com rótulos) ou Rica em emojis (detalhada com ícones Unicode). Padrão: Emoji rich (rica em emojis).

- Show Dashboard on Chart (Mostrar painel no gráfico): true/false (padrão: true)

- Fundo do painel, cor do texto, cor de destaque: personalizável. O padrão usa a paleta de aço da ExMachina.


Filtros:

- Symbol Filter: lista separada por vírgulas de símbolos a serem monitorados. Deixe em branco para todos os símbolos. Exemplo: "EURUSD,XAUUSD"

- Min Lot Size to Notify (Tamanho mínimo do lote para notificação): volume mínimo para acionar uma notificação. 0 = sem filtro. Útil para ignorar microlotes.

- Magic Number Filter (Filtro de número mágico): notifica apenas as negociações com esse número mágico específico. -1 = todas as negociações (inclusive manuais).



ESTILOS DE MENSAGEM


Minimal - formato compacto de linha única:

XAUUSD | COMPRAR | 0,50 lote a 1928,45


Detalhado - estruturado com campos rotulados:

NEGOCIAÇÃO FECHADA

━━━━━━━━━━━━━━━━━━━━

Símbolo: XAUUSD

Fechamento: VENDER (fechar COMPRAR)

Volume: 0,50 lotes

Preço: 1935,20

───────────────────

Lucro bruto: +$340,00

Comissão: -$2,50

Swap: -$0,00

Lucro líquido: +$337,50

Saldo: $10.585,00 USD

Negociação #182947363


Rico em emojis (padrão) - igual ao Detalhado, mas com ícones Unicode para cada campo. A abertura da negociação mostra um círculo verde para COMPRA e um círculo vermelho para VENDA. Os fechamentos mostram uma marca de verificação para lucro e uma cruz para perda.



FILTROS


O filtro Magic Number é particularmente útil se você executar vários EAs na mesma conta. Defina-o como o número mágico de um EA específico para receber apenas notificações desse EA. Defina-o como -1 para receber tudo (inclusive negociações manuais).


O filtro Symbol aceita uma lista separada por vírgulas: "XAUUSD,EURUSD,GBPUSD". Somente as negociações com esses símbolos gerarão notificações. Deixe em branco para monitorar todos os símbolos.



RESUMOS DA CONTA


Os resumos periódicos incluem: saldo, patrimônio líquido, margem livre, número de posições abertas, P/L flutuante total (incluindo swap), P/L da sessão desde que o EA foi iniciado, patrimônio líquido máximo do dia, patrimônio líquido mínimo do dia e porcentagem de drawdown calculada a partir do máximo do dia.


Útil para operadores de prop firms que precisam monitorar remotamente os limites de drawdown diários. Defina o intervalo como 1 hora durante as sessões ativas.



PAINEL DE CONTROLE NO GRÁFICO


Um painel de status compacto no canto superior esquerdo do gráfico mostra:

- Status da conexão: CONECTADO (verde) ou DESCONECTADO (vermelho)

- Nome de usuário do bot

- Contadores em execução: mensagens enviadas e falhas

- Slogan da ExMachina


O painel de controle usa a paleta de aço da ExMachina por padrão (fundo C'8,10,18', acento C'0,180,220') e pode ser personalizado ou desativado por meio das entradas de exibição.



COMO TESTAR


Etapa 1: Anexe o EA a qualquer gráfico em uma conta de demonstração. Verifique se há "Connected to bot @YourBotName" na guia Experts. Verifique a mensagem de conexão no Telegram.


Etapa 2: abra uma pequena ordem de mercado manualmente (por exemplo, 0,01 lote de EURUSD). Você deve receber uma notificação de "TRADE OPENED" (negociação aberta).


Etapa 3: Modifique o SL ou TP de sua posição aberta (clique com o botão direito do mouse → Modificar). Você deve receber uma notificação "SL/TP MODIFIED" mostrando os valores antigos → novos.


Etapa 4: Feche a posição. Você deverá receber uma notificação "TRADE CLOSED" (Negociação fechada) com o detalhamento do P/L.


Etapa 5: Faça uma ordem pendente (por exemplo, Buy Limit). Você deverá receber uma notificação "PENDING ORDER PLACED" (ordem pendente colocada).


Etapa 6: Remova o EA do gráfico. Você deverá receber uma mensagem "Disconnected" (Desconectado) com estatísticas da sessão.


Teste rápido do navegador: para verificar seu token e o ID do chat antes de usar o EA, cole este URL em qualquer navegador (substitua os espaços reservados):

https://api.telegram.org/bot<YOUR_TOKEN>/sendMessage?chat_id=<YOUR_CHAT_ID>&text=Test


Se você vir {"ok":true} na resposta, suas credenciais estão corretas.


Script rápido de teste de fumaça: salve-o como um Script (não EA) em MQL5/Scripts/, compile-o e execute-o em um gráfico de demonstração:


#include <Trade\Trade.mqh>

void OnStart()

{

Comércio CTrade;

trade.Buy(0.01, "EURUSD");

Sleep(3000);

for(int i = PositionsTotal()-1; i >= 0; i--)

{

se(PositionGetSymbol(i) == "EURUSD")

trade.PositionClose(PositionGetTicket(i));

}

}


Você deve receber uma notificação de abertura e fechamento no Telegram.


Importante: esse EA não funciona no Strategy Tester. O Strategy Tester não suporta WebRequest (chamadas de rede). O EA deve ser executado em um gráfico ao vivo ou de demonstração com acesso à Internet.



EXECUÇÃO AO LADO DE OUTROS EAs


O MT5 permite apenas um EA por gráfico. Anexe o Telegram Bridge a um gráfico separado (qualquer símbolo). Ele monitora a conta inteira, não apenas o gráfico ao qual está anexado. Todas as negociações de todos os EAs e negociações manuais serão detectadas independentemente do gráfico em que o Bridge estiver sendo executado.


Use o filtro Magic Number para limitar as notificações a um EA específico.



SOLUÇÃO DE PROBLEMAS


Nenhuma mensagem foi recebida:

1. Verifique se o site https://api.telegram.org está em Tools → Options → Expert Advisors → Allow WebRequest

2. Verifique se o Bot Token e o Chat ID estão corretos (sem espaços extras)

3. Certifique-se de que você pressionou Start no chat do Telegram do seu bot

4. Verifique se há mensagens de erro na guia Experts (Exibir → Caixa de ferramentas → Experts)


Erro 4014 do WebRequest: o URL do Telegram não está na lista de permissões. Esse é o problema mais comum.


HTTP 401 Unauthorized: Token de bot inválido. Copie-o novamente de @BotFather.


HTTP 400 Bad Request: ID de chat incorreto ou você não iniciou uma conversa com seu bot.


HTTP 429 Too Many Requests (muitas solicitações): Limite de taxa do Telegram. O EA tem uma lógica de nova tentativa integrada com backoff. Isso só acontece com uma frequência de negociação extremamente alta.


O EA mostra INIT_PARAMETERS_INCORRECT: o token do bot e o ID do chat são obrigatórios. Certifique-se de que nenhum dos campos esteja vazio.


O painel não está sendo exibido: verifique se a opção "Show Dashboard on Chart" está definida como verdadeira nas entradas do EA.



DETALHES TÉCNICOS


- Detecção de negociação: mecanismo duplo via OnTradeTransaction (tempo real) + sondagem do histórico de negociações a cada 2 segundos (fallback)

- Deduplicação: negociações processadas armazenadas na memória (últimas 500 negociações rastreadas)

- Detecção de SL/TP: matriz de instantâneos de posição comparada a cada tick, acionada em qualquer alteração

- API do Telegram: HTTPS POST via WebRequest, carga útil codificada por URL, modo de análise Markdown

- Lógica de nova tentativa: até 3 tentativas por mensagem, atraso de 1 segundo entre as novas tentativas, atraso de 3 segundos no HTTP 429

- Teste de conexão: Ponto de extremidade /getMe chamado na inicialização para validar o token e recuperar o nome do bot

- Temporizador de resumo: EventSetTimer(60) verifica se o intervalo configurado já passou

- Objetos do gráfico: todos os objetos do painel usam o prefixo "EXTB_" e são limpos ao serem desinstalados

- Sem DLLs externas, sem servidores de terceiros. Comunicação direta MT5 → Telegram por HTTPS.



Esse EA é gratuito e de código aberto. Comentários, classificações e sugestões são bem-vindos.


ExMachina Trading Systems - Precisão antes do lucro.


Traduzido do inglês pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/en/code/70383

ExMachina TradePilot ExMachina TradePilot

Painel de gerenciamento de negociação profissional: compra/venda com um clique e dimensionamento automático de lote, trailing stop inteligente (ATR/Fixo/Candle), ponto de equilíbrio automático, sistema de fechamento parcial multi-TP (TP1/TP2/TP3) e ordens pendentes com um clique. Gerenciamento de ordens tudo em um para operadores sérios.

ExMachina Prop Dashboard ExMachina Prop Dashboard

Rastreador de regras de prop firm em tempo real: drawdown diário, drawdown máximo, progresso da meta de lucro, contagem de dias de negociação e status do desafio com barras de progresso visuais. Predefinições para FTMO, MyFundedFX, E8, TFT e Bulenox. Indicador puro - sem interferência comercial.

CRT Indicator(STF) : Explorer CRT Indicator(STF) : Explorer

Trata-se de um visualizador CRT (Candle Range Theory) minimalista, construído em menos de 100 linhas, que revela o que as configurações "perfeitas" de um único período de tempo realmente produzem nos mercados reais.

Accelerator Oscillator (AC) Accelerator Oscillator (AC)

O Indicador Acceleration/Deceleration (Aceleração/Desaceleração ou AC) mede a aceleração e a desaceleração da força motriz atual do mercado.