AgentFlow
Plataforma de análise de fluxo e execução de ordens em tempo real, com dados de agente da B3 inacessíveis via MQL5 ou NTSL.

Sobre o projeto
Plataforma que recebe e processa as negociações por agente da B3 em tempo real: um dado que existe no MetaTrader 5 e no ProfitChart, mas não é acessível para tratamento livre via código em MQL5 (só é possível receber os trades, sem o nome do agente) ou NTSL. Além da leitura, o sistema também executa ordens diretamente via ProfitDLL.
Problema
O dado de negociação por agente da B3 existe no MetaTrader 5 e no ProfitChart, mas não é acessível para tratamento livre via código: no MQL5 só é possível receber os trades sem o nome do agente, e no NTSL o acesso é igualmente limitado.
Solução
Conexão direta via ProfitDLL para capturar cada negócio do pregão (comprador, vendedor, agressor, preço e quantidade), com execução de ordens embutida e API de sinais para robôs consumirem as decisões.
Funcionalidades
- Captura de cada negócio do pregão via ProfitDLL (comprador, vendedor, agressor, preço e quantidade)
- Persistência de ticks em PostgreSQL para backtest
- Acumuladores em memória com saldo de volume agressivo e passivo por corretora
- Snapshots em tempo real transmitidos ao frontend via SSE
- Execução de ordens (compra, venda, zeragem, cancelamento) direto pela DLL, com take profit e stop loss automáticos
- OCO implementado no backend, já que a DLL não vincula ordens nativamente
- API de sinais para robôs no MetaTrader 5, com estratégias de decisão plugáveis via injeção de dependência
- Reconstrução de estado após queda de conexão a partir do último snapshot, sem buraco nos dados
Arquitetura
Workers de background que se comunicam por channels: se o banco atrasa, só a persistência espera e a análise segue sem travar. Ticks ao vivo que chegam antes do histórico terminar ficam em buffer e são liberados em ordem depois, evitando corromper o acumulado.
Galeria
Fluxograma da arquitetura
Fluxo de dados desde a DLL até o frontend, passando pelas camadas de domínio, aplicação e web.
Comparação com o Profit
Saldo por corretora capturado pelo AgentFlow ao lado do ranking de agentes exibido no Profit, validando os números captados via ProfitDLL.
Código do backend
Interface ITradeBusiness em C#, com os contratos de conexão, execução de ordens e assinatura de ativos.