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
- Publicado por:
- [Excluído]
- Visualizações:
- 34
- Avaliação:
- Publicado:
-
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.
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
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
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
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)
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.
