Skip to content

marceloterra1983/PROFITDLL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

515 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PROFITDLL Trading System

Sistema Windows-nativo para integração ProfitDLL (Nelogica) - Captura e processamento de dados de mercado B3 em tempo real

.NET Platform License


🎯 Visão Geral

Sistema modular de trading desenvolvido em WPF/.NET 9.0 que integra com a ProfitDLL da Nelogica para:

  • Captura em tempo real de dados de mercado (trades, orderbook, cotações)
  • Análise quantitativa e descoberta de padrões (Strategy Discovery)
  • Backtesting de estratégias em dados históricos
  • Visualização de gráficos e order flow
  • Gestão de ordens e posições

Stack Tecnológico

Camada Tecnologia
UI WPF + MVVM (CommunityToolkit.Mvvm)
Runtime .NET 9.0 (Windows-only)
IPC Named Pipes + MessagePack
Database Local DuckDB
Database Time-Series QuestDB (opcional)
Logging Serilog + OpenTelemetry

🚀 Quick Start

Pré-requisitos

  • Windows 10/11 (x64)
  • .NET 9.0 SDK (Download)
  • Visual Studio 2022 ou Rider (opcional)
  • ProfitDLL.dll (Nelogica) - Ver knowledge/nelogica/

Build & Run

# Clone do repositório
git clone https://github.com/your-org/PROFITDLL.git
cd PROFITDLL

# Build da solução completa
cd WPF
dotnet build ProfitBridge.slnx

# Executar o Host (servidor principal)
cd Host
dotnet run

# Em outro terminal, executar cliente (ex: RealTime)
cd ../RealTime
dotnet run

Testes

# Executar todos os testes
dotnet test WPF/ProfitBridge.slnx

# Executar testes de um projeto específico
dotnet test WPF/Host.Tests

📁 Estrutura do Projeto

PROFITDLL/
├── WPF/
│   ├── Host/              # Servidor principal - gerencia DLL e IPC
│   ├── RealTime/          # Cliente de streaming de dados
│   ├── Charts/            # Visualização de gráficos
│   ├── Broker/            # Gestão de ordens e posições
│   ├── Analysis/          # Análise de mercado e sinais
│   ├── Strategy/          # Strategy Discovery e Backtesting
│   ├── Scrapper/          # Coleta de dados B3 (Playwright)
│   ├── Shared/            # DTOs e contratos IPC
│   └── Core/              # Infraestrutura cliente
├── knowledge/             # Documentação da ProfitDLL API
├── docs/                  # Documentação do projeto
│   ├── ai-context/        # Contexto otimizado para AI
│   ├── adr/               # Decisões arquiteturais
│   ├── backend/           # Docs de backend
│   └── architecture/      # Arquitetura do sistema
└── openspec/              # Gestão de mudanças

📚 Documentação

Para Desenvolvedores

Tópico Localização Descrição
Arquitetura docs/ARCHITECTURE.md Visão geral do sistema
ADRs docs/adr/ Decisões arquiteturais
Patterns docs/ai-context/patterns.md Padrões aprovados
Anti-Patterns docs/ai-context/anti-patterns.md O que evitar
Backend docs/backend/ Database, IPC, services

API ProfitDLL

Recurso Localização
Quick Reference knowledge/QUICK_REFERENCE.md
API Completa knowledge/api/
Manual Nelogica (PT) knowledge/nelogica/Manual/Manual - ProfitDLL pt_br.md
Manual Nelogica (EN) knowledge/nelogica/Manual/Manual - ProfitDLL en_us.md

Para AI Assistants

Antes de qualquer implementação:

  1. Ler CLAUDE.md (regras master)
  2. Ler docs/ai-context/ (patterns, anti-patterns, module-map)
  3. Consultar _bmad-output/project-context.md (102 regras)

⚙️ Configuração

Credenciais

O sistema usa DPAPI para armazenamento seguro de credenciais:

// As credenciais são gerenciadas via WPF/Host/Services/CredentialService.cs
// Configurar via UI: Host → Settings → Credentials

Perfis de Performance

O sistema suporta 3 perfis (ver WPF/Host/appsettings.json):

Perfil Buffer Size Max Tickers Use Case
Low 1K 5 Máquinas antigas
Medium 10K 20 Uso típico
High 50K 100 Servidores

🧪 Testes

Estratégia de Testes

  • Unit Tests: Lógica de negócio e algoritmos
  • Integration Tests: IPC, callbacks da DLL, database
  • Stress Tests: Cargas de mercado extremas (10K trades/s)

Convenções

[Fact]
public void MethodName_Scenario_ExpectedBehavior()
{
    // Arrange - Setup
    var sut = new SystemUnderTest();

    // Act - Execute
    var result = sut.DoSomething();

    // Assert - Verify
    result.Should().BeTrue();
}

🔐 Segurança

Regras Críticas

  • ✅ Credenciais via DPAPI (ProtectedData)
  • ✅ Nunca commitar .env, .dll, ou secrets
  • ✅ Callbacks: copiar dados imediatamente (pointers invalidam)
  • ❌ NUNCA usar .Result ou .Wait() (deadlocks WPF)

🛠️ Convenções de Código

Commits

type(scope): description

Tipos: feat, fix, perf, refactor, test, docs, chore
Scopes: host, ipc, ui, analysis, charts, etc.

Exemplo: feat(host): add ticker subscription caching

Branches

feature/short-description
fix/bug-description
refactor/area-description

Naming

Elemento Padrão Exemplo
ViewModel {Name}ViewModel.cs MarketViewModel.cs
View {Name}View.xaml MarketView.xaml
Service I{Name}Service.cs IMarketService.cs
Tickers UPPERCASE PETR4, VALE3, WINFUT

⚠️ Regras Críticas

Windows Only

ProfitDLL.dll REQUER Windows nativo. Sem WSL2, Docker, ou cross-platform.

Single Instance

DLL permite apenas UMA instância por processo. O Host gerencia o ciclo de vida.

Callback Safety

// ❌ ERRADO - pointer invalida após callback retornar
void OnTrade(TradeData* data) { _lastTrade = data; }

// ✅ CORRETO - copiar dados imediatamente
void OnTrade(TradeData* data) {
    var ticker = Marshal.PtrToStringUni(data->Ticker);
    ProcessTrade(new Trade { Ticker = ticker, Price = data->Price });
}

📊 Performance Targets

Métrica Alvo
Frame time <5ms
GC pressure <50KB/s
Tickers simultâneos 10+
IPC latency <1ms

🤝 Contribuindo

  1. Ler CLAUDE.md e docs/ai-context/
  2. Criar branch feature/nome-da-feature
  3. Seguir convenções de código
  4. Escrever testes (AAA pattern)
  5. Atualizar documentação se necessário
  6. Abrir PR com descrição clara

📄 Licença

Proprietary - Ver LICENSE para detalhes.


🔗 Links Úteis


Última atualização: 2026-01-28 Versão: 3.0.0 Maintainers: @marce

About

PROFITDLL

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors