Analise o mercado de criptomoedas em tempo real via Telegram com n8n

O mercado de criptomoedas opera 24/7, com volatilidade que pode gerar oportunidades ou riscos significativos em questão de minutos. Para traders, investidores e entusiastas, monitorar manualmente dezenas de ativos, notícias e indicadores técnicos é uma tarefa exaustiva e propensa a falhas. A automação surge como a ferramenta definitiva para transformar esse fluxo contínuo de dados em insights acionáveis, entregues diretamente no seu bolso.

O que é e por que usar

Analisar o mercado de criptomoedas em tempo real via Telegram significa criar um sistema automatizado que coleta, processa e envia alertas personalizados sobre o estado do mercado para um chat do Telegram. Este sistema substitui a necessidade de ficar constantemente checando exchanges ou sites de análise, centralizando as informações mais relevantes para você em um único canal de comunicação instantânea e amplamente acessível.

A principal vantagem é a proatividade e a economia de tempo. Em vez de você buscar a informação, a informação vem até você, filtrada pelos critérios que você definiu. Isso permite reagir rapidamente a movimentos de preço, divergências em indicadores, ou o surgimento de notícias relevantes. Para um trader que acompanha 15 pares de moedas, por exemplo, automatizar a checagem de preços e o cálculo de médias móveis pode economizar horas de trabalho manual por dia, reduzindo ainda o estresse e o risco de viés emocional na análise.

Utilizando o n8n, você pode construir esse analisador de mercado de forma visual, conectando APIs de exchanges (como Binance, CoinGecko ou CoinMarketCap) com o bot do Telegram. O n8n atua como o cérebro da operação: agenda as consultas, aplica a lógica de análise (ex: “se o preço do Bitcoin cair 5% em 1 hora”) e dispara a mensagem formatada para o seu grupo ou chat privado.

Pré-requisitos

Para construir essa automação, você precisará de:

  • Uma conta no n8n: Pode ser a versão cloud (n8n.cloud) ou uma instância auto-hospedada.
  • Um bot do Telegram: Criado via @BotFather no Telegram. Você precisará do Token do Bot.
  • Um Chat ID do Telegram: Pode ser o ID do seu chat privado com o bot ou de um grupo onde o bot foi adicionado. Você pode obtê-lo iniciando uma conversa com o bot @userinfobot.
  • Conhecimento básico das APIs públicas: Saber onde encontrar a documentação de APIs como a da CoinGecko (gratuita e sem necessidade de chave para uso básico) é essencial.
  • Definição clara do que monitorar: Tenha em mente quais criptomoedas (símbolos como `bitcoin`, `ethereum`) e quais condições (variação percentual, preço acima de X, etc.) deseja rastrear.

Exemplo Prático: Alerta de Volatilidade para um Portfólio de Altcoins

Cenário concreto: Imagine que você possui um portfólio diversificado com 5 altcoins (ex: Cardano/ADA, Polkadot/DOT, Solana/SOL, Polygon/MATIC e Avalanche/AVAX). Você não tem tempo para ficar olhando gráficos o dia todo, mas precisa ser alertado imediatamente se qualquer uma dessas moedas sofrer uma queda brusca de mais de 8% em um período de 1 hora, pois isso pode indicar uma saída de stop-loss ou uma oportunidade de compra.

O que será automatizado: Um fluxo (workflow) no n8n será agendado para executar a cada 30 minutos. Ele irá:

  1. Consultar o preço atual e o preço de 1 hora atrás para cada uma das 5 criptomoedas listadas.
  2. Calcular a variação percentual no período.
  3. Filtrar apenas as moedas cuja variação seja negativa e maior que 8% (ex: -8.5%, -12%).
  4. Formatar uma mensagem clara com o nome da moeda, a variação e o preço atual.
  5. Enviar essa mensagem de alerta para um grupo privado do Telegram onde você e seus sócios discutem operações.

Resultado esperado: A cada meia hora, o sistema verifica silenciosamente seu portfólio. Somente em caso de uma movimentação relevante (queda >8%), você recebe uma notificação push no seu celular via Telegram, como: “🚨 Alerta de Volatilidade 🚨\n• SOL (Solana): Caiu -9.2% nas últimas 1h (Preço: $142.30)\n• MATIC (Polygon): Caiu -8.7% nas últimas 1h (Preço: $0.85)”. Nos períodos de estabilidade, nenhuma mensagem é enviada, evitando poluição visual.

Configuração Passo a Passo

Close-up of a music production interface displaying tempo and track settings.

Vamos construir o fluxo descrito no exemplo prático. O fluxo terá 6 nós principais.

  1. Nó 1: Schedule TriggerTipo: Trigger > Schedule Trigger. Configure para executar o fluxo a cada 30 minutos (ex: Cron expression: */30 * * * *). Este nó inicia a automação periodicamente.
  2. Nó 2: HTTP Request (CoinGecko API – Preço Atual)Tipo: Core > HTTP Request. Configure para buscar os preços atuais.
    Método: GET
    URL: https://api.coingecko.com/api/v3/simple/price
    Parâmetros de Query:
    ids: cardano,polkadot,solana,polygon-pos,avalanche-2
    vs_currencies: usd
    include_24hr_change: true
    

    Esta chamada retorna um JSON com preço atual e variação das últimas 24h. Precisamos da variação de 1h, então usaremos outro endpoint.

  3. Nó 3: HTTP Request (CoinGecko API – Dados de Mercado com variação de 1h)Tipo: Core > HTTP Request. Este endpoint fornece a variação percentual de 1h.
    Método: GET
    URL: https://api.coingecko.com/api/v3/coins/markets
    Parâmetros de Query:
    vs_currency: usd
    ids: cardano,polkadot,solana,polygon-pos,avalanche-2
    order: market_cap_desc
    sparkline: false
    price_change_percentage: 1h
    

    A resposta será um array de objetos, cada um contendo `id`, `symbol`, `current_price`, e `price_change_percentage_1h_in_currency`.

  4. Nó 4: Filter (Condição de Alerta)Tipo: Core > Filter. Aqui aplicamos a lógica do alerta. Configure a condição para passar apenas os itens onde:
    Condição: Number
    Field Name: price_change_percentage_1h_in_currency
    Operation: Less Than
    Value: -8
    

    Isso filtrará o array, deixando passar apenas as moedas com queda superior a 8%.

  5. Nó 5: Code (Formatar Mensagem)Tipo: Core > Code. Use este nó para pegar os itens filtrados e formatar uma mensagem legível para o Telegram.
    // Código (JavaScript/Node.js)
    const alertItems = $input.all();
    
    if (alertItems.length === 0) {
      // Se não houver alertas, não envia mensagem.
      return null;
    }
    
    let message = `🚨 *Alerta de Volatilidade (1h)* 🚨\n`;
    for (const item of alertItems) {
      const coinName = item.json.name;
      const coinSymbol = item.json.symbol.toUpperCase();
      const priceChange = item.json.price_change_percentage_1h_in_currency.toFixed(2);
      const currentPrice = item.json.current_price;
      message += `\\n• *${coinSymbol}* (${coinName}): Caiu *${priceChange}%* (Preço: $${currentPrice})`;
    }
    
    // Retorna o objeto para o próximo nó
    return [{ json: { telegramMessage: message } }];
    
  6. Nó 6: Telegram Node (Enviar Mensagem)Tipo: Telegram > Send Message. Conecte sua conta do Telegram (insira o Bot Token). Configure:
    Chat ID: Seu Chat ID ou ID do Grupo (ex: -123456789)
    Text: {{ $json.telegramMessage }}
    Parse Mode: Markdown
    

    Este nó pega a mensagem formatada e a envia para o chat do Telegram. Conecte a saída do nó de Code para a entrada deste nó.

Fluxo Final: Schedule Trigger → HTTP Request (Market Data) → Filter → Code → Telegram Send Message. Ative o workflow e faça um teste alterando temporariamente o filtro para -100% para forçar um alerta.

Dicas e Variações

  1. Combine com Análise de Notícias: Adicione um nó “RSS Feed Read” para monitorar portais como CoinDesk ou The Block. Use um nó “Sentiment Analysis” (de serviços como OpenAI ou MeaningCloud) para qualificar a notícia e enviar um alerta apenas se for muito negativa ou positiva para um ativo específico.
  2. Crie um Resumo Diário: Altere o Schedule Trigger para rodar às 09:00 AM. Use a API para buscar o desempenho das top 10 criptomoedas nas últimas 24h, formate um resumo bonito com emojis e envie como seu briefing matinal automático.
  3. Monitore Ordens Executadas: Se você utiliza uma exchange com API privada (como Binance ou FTX), pode conectar-se para monitorar o status das suas ordens de stop-loss ou take-profit e receber confirmação no Telegram quando forem executadas, sem precisar abrir o app da exchange.
  4. Use Webhooks para Alertas Personalizados: Em vez de um schedule fixo, você pode expor seu fluxo como um webhook. Ferramentas de análise técnica (como TradingView) permitem configurar alertas que disparam um webhook. Configure o TradingView para enviar um sinal ao seu webhook do n8n, que então processa e encaminha a mensagem formatada para o Telegram.
  5. Adicione um “Dead Man’s Switch”: Configure um fluxo paralelo que, se não receber um “sinal de vida” (uma execução bem-sucedida do fluxo principal) a cada 12 horas, envie uma mensagem de alerta para o Telegram dizendo “⚠️ O sistema de monitoramento de cripto pode estar offline”.

Erros Comuns e Como Evitá-los

  • Erro: “Chat not found” no Telegram.Causa: Chat ID incorreto ou o bot não foi adicionado ao grupo/conversa.Solução: Verifique o Chat ID usando o @userinfobot em um chat privado. Para grupos, adicione o bot ao grupo primeiro e depois envie uma mensagem qualquer. Em seguida, acesse `https://api.telegram.org/bot[SEU_BOT_TOKEN]/getUpdates` para encontrar o `chat.id` correto do grupo.
  • Erro: Limite de Requisições da API (Rate Limit).Causa: APIs gratuitas como a CoinGecko têm limites (ex: 50 chamadas/minuto). Executar o fluxo com muitos ativos muito frequentemente pode ultrapassar esse limite.Solução: Ajuste o intervalo do Schedule Trigger (use 5 ou 10 minutos em vez de 1). Consolide requisições usando endpoints que retornam múltiplos dados de uma vez (como o `/simple/price` com vários `ids`). Considere usar uma chave de API paga para limites maiores.
  • Erro: Formatação da mensagem quebrada no Telegram.Causa: Caracteres especiais (como `-`, `.`, `()`) não escapados podem conflitar com a formatação Markdown ou HTML do Telegram.Solução: No nó de Code, garanta que você está usando o `Parse Mode` correto no nó do Telegram (Markdown ou HTML) e escape os caracteres reservados. Para MarkdownV2, caracteres como `-`, `.`, `(`, `)`, `_` devem ser precedidos por `\`.
  • Erro: Fluxo para de funcionar sem aviso.Causa: Mudanças na estrutura da resposta da API ou erros não tratados em um nó param a execução.Solução: Sempre utilize o nó “Catch” do n8n. Conecte-o à borda de erro (o pequeno ponto cinza) de nós críticos como o HTTP Request. Configure o nó Catch para enviar uma mensagem de erro para o Telegram ou um email, notificando você sobre a falha.

Próximos Passos

Agora que você compreende a estrutura básica, é hora de colocar a mão na massa e construir seu primeiro analisador. Comece de forma simples:

  1. Crie seu bot no Telegram com o @BotFather e anote o token.
  2. Em seu workspace do n8n, importe o fluxo de exemplo abaixo para ter uma base funcional.
  3. Substitua o `Chat ID` no nó do Telegram pelo seu próprio.
  4. Teste o fluxo manualmente (usando o botão “Execute Workflow”) e verifique se a mensagem chega.
  5. Em seguida, personalize: altere a lista de criptomoedas no nó HTTP Request e ajuste o percentual de queda no nó Filter para algo que faça sentido para sua estratégia.
  6. Finalmente, ative o workflow e deixe-o rodando. Monitore por um dia para garantir que tudo funcione como esperado.

A automação é um processo iterativo. Comece com um alerta simples, como o deste guia. À medida que ganhar confiança, explore as variações sugeridas, integre novas fontes de dados e refine sua lógica. Em pouco tempo, você terá um assistente pessoal de mercado, trabalhando 24 horas por dia para manter você informado.

 

CATEGORIES:

rotinas

Tags:

Comments are closed