Configuração do Ambiente
Requisitos
Para trabalhar com StockSharp precisa de:
- .NET 10 (SDK e Runtime) - transferir
- IDE - Visual Studio 2022+, JetBrains Rider ou VS Code
- NuGet - gestor de pacotes (integrado no Visual Studio e no Rider)
Verifique se o SDK está instalado:
dotnet --version
Criar um Projeto
Visual Studio 2022+
- Ficheiro → Novo → Projeto
- Selecione o modelo Aplicação de consola ou Aplicação WPF
- Defina a framework de destino como .NET 10
JetBrains Rider
- Ficheiro → Nova solução
- Selecione .NET / .NET Core → Aplicação de consola
- Defina Framework de destino: net10.0
Linha de Comandos (CLI)
# Aplicação de consola
dotnet new console -n MyTradingApp --framework net10.0
cd MyTradingApp
# Aplicação WPF (apenas Windows)
dotnet new wpf -n MyTradingGui --framework net10.0-windows
Catálogo de Pacotes NuGet
StockSharp é distribuído via NuGet. Abaixo está o catálogo completo de pacotes organizado por categoria.
Core
| Pacote | Descrição |
|---|---|
| StockSharp.Messages | Mensagens e contratos base. Fundação de toda a framework |
| StockSharp.BusinessEntities | Entidades de negociação: Security, Order, Trade, Portfolio, etc. |
| StockSharp.Algo | Negociação algorítmica core, Connector, subscrições, candles |
| StockSharp.Configuration | Gestão de configuração, definições de ligação |
| StockSharp.Localization | Sistema de localização (inglês por predefinição) |
Estratégias e Indicadores
| Pacote | Descrição |
|---|---|
| StockSharp.Algo.Strategies | Framework de estratégias - classe Strategy base, posições, PnL |
| StockSharp.Algo.Indicators | Mais de 100 indicadores técnicos (SMA, EMA, RSI, MACD, Bollinger, etc.) |
Testes
| Pacote | Descrição |
|---|---|
| StockSharp.Algo.Testing | Backtesting em dados históricos, emulação de negociação |
Armazenamento e Dados
| Pacote | Descrição |
|---|---|
| StockSharp.Algo.Export | Exportação de dados de mercado (CSV, Excel, JSON, etc.) |
| StockSharp.Algo.Import | Importação de dados a partir de formatos externos |
Análise e Computação
| Pacote | Descrição |
|---|---|
| StockSharp.Algo.Analytics | Interfaces de scripts analíticos |
| StockSharp.Algo.Compilation | Compilação de código em runtime |
| StockSharp.Algo.Gpu | Cálculos de indicadores acelerados por GPU (CUDA via ILGPU) |
Componentes GUI (Apenas Windows)
| Pacote | Descrição |
|---|---|
| StockSharp.Xaml | Controlos WPF: tabelas de instrumentos, portefólios e ordens |
| StockSharp.Xaml.Charting | Gráficos de velas, indicadores, curvas de equity |
| StockSharp.Charting.Interfaces | Interfaces de componentes de gráficos |
| StockSharp.Alerts.Interfaces | Interfaces do sistema de alertas |
| StockSharp.Diagram.Core | Core do designer visual de estratégias |
Conectores (Bolsas e Brokers)
Cada conector é um pacote NuGet separado. Principais conectores:
| Pacote | Bolsa/Broker |
|---|---|
StockSharp.Binance |
Binance |
StockSharp.InteractiveBrokers |
Interactive Brokers |
StockSharp.Fix |
Protocolo FIX (universal) |
StockSharp.Connectors.Coinbase |
Coinbase |
StockSharp.Connectors.BitStamp |
Bitstamp |
StockSharp.Connectors.Bittrex |
Bittrex |
Note
Para a lista completa de conectores, consulte a secção Conectores. Alguns conectores só estão disponíveis através do servidor NuGet privado.
Localização
O pacote base StockSharp.Localization inclui inglês. Idiomas adicionais são instalados como pacotes separados:
| Pacote | Idioma |
|---|---|
StockSharp.Localization.ru |
Russo |
StockSharp.Localization.zh |
Chinês |
StockSharp.Localization.de |
Alemão |
StockSharp.Localization.es |
Espanhol |
StockSharp.Localization.ja |
Japonês |
StockSharp.Localization.ko |
Coreano |
StockSharp.Localization.All |
Todos os idiomas (meta-pacote) |
Também disponíveis: ar, bn, ca, cs, da, el, fa, fi, fr, he, hi, hu, it, jv, ms, my, nl, no, pa, pl, pt, ro, sk, sr, sv, ta, th, tl, tr, uk, uz, vi.
Instalar Pacotes
Via CLI (Recomendado)
# Pacotes principais
dotnet add package StockSharp.Algo
dotnet add package StockSharp.Algo.Strategies
# Conector (exemplo - Binance)
dotnet add package StockSharp.Binance
# Indicadores
dotnet add package StockSharp.Algo.Indicators
# Testes retrospectivos
dotnet add package StockSharp.Algo.Testing
# Localização (russo)
dotnet add package StockSharp.Localization.ru
Via Visual Studio
- Clique com o botão direito no projeto → Gerir Pacotes NuGet...
- Pesquise por
StockSharp - Selecione o pacote pretendido → Instalar
Todas as dependências são instaladas automaticamente.
Via JetBrains Rider
- Clique com o botão direito no projeto → Gerir Pacotes NuGet
- Pesquise por
StockSharp - Selecione o pacote → Instalar
Via Consola do Gestor de Pacotes (Visual Studio)
Install-Package StockSharp.Algo
Install-Package StockSharp.Binance
Install-Package StockSharp.Algo.Strategies
Servidor NuGet Privado
Alguns componentes (conectores cripto, etc.) só estão disponíveis através do servidor NuGet privado para utilizadores registados.
Método 1: Autenticação via Token no URL
- Registe-se no site da StockSharp.
- Copie o token da sua conta pessoal.
- Adicione a origem do pacote:
CLI:
dotnet nuget add source "https://nuget.stocksharp.com/{YOUR_TOKEN}/v3/index.json" --name StockSharpPrivate
Visual Studio: abra Ferramentas → Opções → Gestor de Pacotes NuGet → Origens de Pacotes e adicione uma nova origem com o URL https://nuget.stocksharp.com/{YOUR_TOKEN}/v3/index.json.
Rider: abra Definições → Compilação, Execução, Implementação → NuGet → Origens e adicione a origem.
Método 2: Autenticação via Nome de Utilizador e Palavra-passe
- Adicione uma origem de pacotes com o URL
https://nuget.stocksharp.com/x/v3/index.json - Ao tentar usar esta origem, aparecerá um pedido de login
- Introduza as credenciais da sua conta StockSharp (ou
xcomo nome de utilizador e o seu token como palavra-passe)
CLI:
dotnet nuget add source "https://nuget.stocksharp.com/x/v3/index.json" --name StockSharpPrivate --username YOUR_LOGIN --password YOUR_PASSWORD --store-password-in-clear-text
Tip
Para reiniciar credenciais guardadas no Windows, abra Painel de Controlo → Contas de Utilizador → Gestor de Credenciais e elimine as entradas relacionadas com nuget.stocksharp.com.
Atualizar Pacotes
CLI
# Verificar atualizações disponíveis
dotnet list package --outdated
# Atualizar um pacote específico
dotnet add package StockSharp.Algo
Visual Studio
- Gerir Pacotes NuGet... → separador Atualizações
- Selecione pacotes → Atualizar
Rider
- Gerir Pacotes NuGet → separador Atualizações
- Selecione pacotes → Atualizar
Resolução de Problemas
Incompatibilidade de Versões
Todos os pacotes StockSharp têm de ter a mesma versão. Se encontrar erros de tipo ou método, certifique-se de que todos os pacotes StockSharp.* estão atualizados para a mesma versão.
Pacote Não Encontrado no NuGet Público
Alguns conectores só estão disponíveis através do servidor privado. Certifique-se de que a origem correta foi adicionada.
Problemas de GUI em Sistemas Não Windows
Os componentes GUI (StockSharp.Xaml, StockSharp.Xaml.Charting) funcionam apenas no Windows. Em Linux/macOS, use aplicações de consola sem pacotes GUI.
Erros de Restauro de Pacotes
# Limpar a cache do NuGet
dotnet nuget locals all --clear
# Tentar restaurar novamente
dotnet restore
Estrutura do Ficheiro de Projeto (.csproj)
Mínimo (Bot de Negociação de Consola)
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="StockSharp.Algo" Version="*" />
<PackageReference Include="StockSharp.Binance" Version="*" />
</ItemGroup>
</Project>
Alargado (Estratégia com Indicadores e Testes)
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<!-- Principal -->
<PackageReference Include="StockSharp.Algo" Version="*" />
<PackageReference Include="StockSharp.Configuration" Version="*" />
<!-- Estratégias e indicadores -->
<PackageReference Include="StockSharp.Algo.Strategies" Version="*" />
<PackageReference Include="StockSharp.Algo.Indicators" Version="*" />
<!-- Conector -->
<PackageReference Include="StockSharp.Binance" Version="*" />
<!-- Testes retrospectivos -->
<PackageReference Include="StockSharp.Algo.Testing" Version="*" />
<!-- Localização -->
<PackageReference Include="StockSharp.Localization.ru" Version="*" />
</ItemGroup>
</Project>
Aplicação WPF com Gráficos
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net10.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="StockSharp.Algo" Version="*" />
<PackageReference Include="StockSharp.Algo.Strategies" Version="*" />
<PackageReference Include="StockSharp.Xaml.Charting" Version="*" />
<PackageReference Include="StockSharp.Binance" Version="*" />
</ItemGroup>
</Project>
Verificar a Instalação
Crie uma aplicação mínima:
using StockSharp.Algo;
using StockSharp.BusinessEntities;
Console.WriteLine("StockSharp configurado com sucesso!");
var connector = new Connector();
Console.WriteLine($"Conector criado: {connector}");
dotnet run
Exemplos
Exemplos prontos de utilização do StockSharp estão disponíveis no diretório Samples/ do repositório. Abrangem ligação a bolsas, subscrição de dados, construção de candles, indicadores, estratégias e testes.