Como Criar um Bot de Alertas do Mercado Financeiro via Telegram e WhatsApp com Python
No mercado financeiro, especialmente na modalidade swing trade, o gráfico com tempo gráfico de 4 horas (4H) é amplamente utilizado para identificar padrões de continuidade e reversão de tendência. No entanto, monitorar manualmente o fechamento de cada vela ao longo do dia exige atenção constante e abre margem para falhas humanas, como perder a entrada exata no fechamento do candle.
A automação do monitoramento de ativos estratégicos — como PETR4 e outros pares chave — resolve esse problema ao capturar o dado exatamente no momento do fechamento da vela e notificar o operador em canais de comunicação instantânea.
Arquitetura e Desafios Técnicos da Solução
Para construir um bot de alertas robusto que monitore o fechamento de velas de 4 horas e envie notificações para Telegram e WhatsApp, é necessário estruturar a aplicação em três pilares principais: Agendamento, Coleta de Dados e Mensageria Multi-canal.
1. Sincronização e Agendamento Preciso
Velas de 4 horas fecham em horários específicos de acordo com a abertura do mercado. Utilizar um simples loop com time.sleep() em Python gera desvios cumulativos de tempo (clock drift).
A abordagem recomendada é utilizar a biblioteca APScheduler configurada no modo CronTrigger, garantindo que a execução ocorra estritamente nos minutos corretos após o fechamento da vela (ex: 10:00, 14:00, 18:00).
python
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from apscheduler.triggers.cron import CronTrigger
scheduler = AsyncIOScheduler()
Agenda para rodar exatamente nos minutos iniciais após o fechamento do candle
scheduler.addjob(verificarmercado, CronTrigger(hour=’10,14,18′, minute=’01’))
2. Coleta e Processamento dos Dados Financeiros
A busca pelos dados de preços pode ser realizada via bibliotecas como yfinance ou conectores diretos de APIs REST de corretoras. Ao fechar a vela, o script extrai o preço de fechamento, máxima, mínima e volume dos três ativos configurados.
python
import yfinance as yf
def obterdadosativo(ticker: str):
df = yf.download(ticker, period=”5d”, interval=”4h”)
ultimocandle = df.iloc[-1]
return {
“fechamento”: ultimocandle[‘Close’],
“maxima”: ultimocandle[‘High’],
“minima”: ultimocandle[‘Low’]
}
3. Integração com Telegram e WhatsApp
A mensageria precisa ser tolerante a falhas. O Telegram oferece uma API HTTP direta e nativa via python-telegram-bot ou requisições httpx. Já para o WhatsApp, utiliza-se uma API de mensageria (como Twilio ou provedores de API não oficial com instâncias dedicadas).
Para otimizar o tempo de resposta, o envio das mensagens deve ser assíncrono (asyncio), evitando que atrasos de rede na API do WhatsApp bloqueiem a notificação do Telegram.
Fluxo de Execução do Sistema
- Gatilho Temporal: O agendador detecta o fechamento da vela de 4H.
- Fetch de Dados: O sistema requisita o estado atual dos ativos cadastrados (ex: PETR4, VALE3, ITUB4).
- Análise de Regra de Negócio: O bot verifica se o preço atingiu algum critério ou apenas formata o resumo do candle encerrado.
- Despacho Concorrente: Disparo paralelo dos alertas formatados para o grupo do Telegram e número do WhatsApp configurados.
- Tratamento de Exceções: Registro de logs em caso de instabilidade na API de dados ou falha de entrega no serviço de mensagens.
Considerações de Performance e Confiabilidade
Como especialista em IA e automação de processos em Python, vejo frequentemente sistemas de alerta apresentarem falhas por falta de tratamento adequado de rate limiting e falhas de conexão temporárias nas APIs financeiras.
Para garantir alta disponibilidade em produção:
- Retentativas Automáticas (Backoff): Implementação da biblioteca
tenacitypara realizar novas tentativas de requisição caso a API de cotação retorne erro pontual. - Ambiente Isolado: Execução do bot em containers Docker hospedados em servidores VPS com horário sincronizado via NTP.
- Gerenciamento de Estado: Armazenamento do timestamp do último candle processado em banco de dados leve (SQLite) para evitar alertas duplicados em caso de reinicialização da aplicação.
Precisa de uma Solução sob Medida para o Seu Negócio?
Automatizar o monitoramento do mercado financeiro reduz a carga operacional e elimina a perda de oportunidades por falta de acompanhamento em tempo real. Se você precisa de uma arquitetura personalizada, integração com indicadores técnicos avançados ou conectividade com diferentes canais de comunicação, uma implementação profissional faz toda a diferença.
Entre em contato para contratar uma consultoria técnica ou o desenvolvimento do seu projeto com Thiago Programador.


