Configuración del entorno
Requisitos
Para trabajar con StockSharp necesita:
- .NET 10 (SDK y Runtime) — descargar
- IDE — Visual Studio 2022+, JetBrains Rider o VS Code
- NuGet — gestor de paquetes (integrado en Visual Studio y Rider)
Verifique que el SDK esté instalado:
dotnet --version
Creación de un proyecto
Visual Studio 2022+
- Archivo → Nuevo → Proyecto
- Seleccione la plantilla Aplicación de consola o Aplicación WPF
- Establezca el framework de destino en .NET 10
JetBrains Rider
- Archivo → Nueva solución
- Seleccione .NET / .NET Core → Aplicación de consola
- Establezca Marco de destino: net10.0
Línea de comandos (CLI)
# Aplicación de consola
dotnet new console -n MyTradingApp --framework net10.0
cd MyTradingApp
# Aplicación WPF (solo Windows)
dotnet new wpf -n MyTradingGui --framework net10.0-windows
Catálogo de paquetes NuGet
StockSharp se distribuye mediante NuGet. A continuación se muestra el catálogo completo de paquetes organizado por categoría.
Core
| Paquete | Descripción |
|---|---|
| StockSharp.Messages | Mensajes y contratos base. Base de todo el framework |
| StockSharp.BusinessEntities | Entidades de trading: Security, Order, Trade, Portfolio, etc. |
| StockSharp.Algo | Trading algorítmico core, Connector, suscripciones, velas |
| StockSharp.Configuration | Gestión de configuración, ajustes de conexión |
| StockSharp.Localization | Sistema de localización (inglés por defecto) |
Estrategias e indicadores
| Paquete | Descripción |
|---|---|
| StockSharp.Algo.Strategies | Framework de estrategias — clase base Strategy, posiciones, PnL |
| StockSharp.Algo.Indicators | Más de 100 indicadores técnicos (SMA, EMA, RSI, MACD, Bollinger, etc.) |
Pruebas
| Paquete | Descripción |
|---|---|
| StockSharp.Algo.Testing | Backtesting con datos históricos, emulación de trades |
Almacenamiento y datos
| Paquete | Descripción |
|---|---|
| StockSharp.Algo.Export | Exportación de datos de mercado (CSV, Excel, JSON, etc.) |
| StockSharp.Algo.Import | Importación de datos desde formatos externos |
Analítica y cálculo
| Paquete | Descripción |
|---|---|
| StockSharp.Algo.Analytics | Interfaces de scripts analíticos |
| StockSharp.Algo.Compilation | Compilación de código en tiempo de ejecución |
| StockSharp.Algo.Gpu | Cálculos de indicadores acelerados por GPU (CUDA mediante ILGPU) |
Componentes GUI (solo Windows)
| Paquete | Descripción |
|---|---|
| StockSharp.Xaml | Controles WPF: tablas de instrumentos, carteras y órdenes |
| StockSharp.Xaml.Charting | Gráficos de velas, indicadores, curvas de equity |
| StockSharp.Charting.Interfaces | Interfaces de componentes de gráficos |
| StockSharp.Alerts.Interfaces | Interfaces del sistema de alertas |
| StockSharp.Diagram.Core | Núcleo del diseñador visual de estrategias |
Conectores (exchanges y brokers)
Cada conector es un paquete NuGet separado. Conectores principales:
| Paquete | Exchange/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 la lista completa de conectores, consulte la sección Conectores. Algunos conectores solo están disponibles mediante el servidor NuGet privado.
Localización
El paquete base StockSharp.Localization incluye inglés. Los idiomas adicionales se instalan como paquetes separados:
| Paquete | Idioma |
|---|---|
StockSharp.Localization.ru |
Ruso |
StockSharp.Localization.zh |
Chino |
StockSharp.Localization.de |
Alemán |
StockSharp.Localization.es |
Español |
StockSharp.Localization.ja |
Japonés |
StockSharp.Localization.ko |
Coreano |
StockSharp.Localization.All |
Todos los idiomas (metapaquete) |
También están disponibles: 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.
Instalación de paquetes
Mediante CLI (recomendado)
# Paquetes core
dotnet add package StockSharp.Algo
dotnet add package StockSharp.Algo.Strategies
# Conector (ejemplo — Binance)
dotnet add package StockSharp.Binance
# Indicadores
dotnet add package StockSharp.Algo.Indicators
# Pruebas retrospectivas
dotnet add package StockSharp.Algo.Testing
# Localización (ruso)
dotnet add package StockSharp.Localization.ru
Mediante Visual Studio
- Haga clic con el botón derecho en el proyecto → Administrar paquetes NuGet...
- Busque
StockSharp - Seleccione el paquete deseado → Instalar
Todas las dependencias se instalan automáticamente.
Mediante JetBrains Rider
- Haga clic con el botón derecho en el proyecto → Administrar paquetes NuGet
- Busque
StockSharp - Seleccione el paquete → Instalar
Mediante la Consola del Administrador de paquetes (Visual Studio)
Install-Package StockSharp.Algo
Install-Package StockSharp.Binance
Install-Package StockSharp.Algo.Strategies
Servidor NuGet privado
Algunos componentes (conectores cripto, etc.) solo están disponibles mediante el servidor NuGet privado para usuarios registrados.
Método 1: autenticación mediante token en la URL
- Regístrese en el sitio web de StockSharp.
- Copie el token desde su cuenta personal.
- Agregue el origen de paquetes:
CLI:
dotnet nuget add source "https://nuget.stocksharp.com/{YOUR_TOKEN}/v3/index.json" --name StockSharpPrivate
Visual Studio: abra Herramientas → Opciones → Administrador de paquetes NuGet → Orígenes de paquetes y agregue un nuevo origen con la URL https://nuget.stocksharp.com/{YOUR_TOKEN}/v3/index.json.
Rider: abra Configuración → Compilación, ejecución, implementación → NuGet → Orígenes y agregue el origen.
Método 2: autenticación mediante usuario y contraseña
- Agregue un origen de paquetes con la URL
https://nuget.stocksharp.com/x/v3/index.json - Cuando intente usar este origen, aparecerá una solicitud de inicio de sesión
- Introduzca las credenciales de su cuenta StockSharp (o
xcomo usuario y su token como contraseña)
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 restablecer las credenciales guardadas en Windows, abra Panel de control → Cuentas de usuario → Administrador de credenciales y elimine las entradas relacionadas con nuget.stocksharp.com.
Actualización de paquetes
CLI
# Comprobar actualizaciones disponibles
dotnet list package --outdated
# Actualizar un paquete específico
dotnet add package StockSharp.Algo
Visual Studio
- Administrar paquetes NuGet... → pestaña Actualizaciones
- Seleccione paquetes → Actualizar
Rider
- Administrar paquetes NuGet → pestaña Actualizaciones
- Seleccione paquetes → Actualizar
Solución de problemas
Incompatibilidad de versiones
Todos los paquetes StockSharp deben tener la misma versión. Si encuentra errores de tipos o métodos, asegúrese de que todos los paquetes StockSharp.* estén actualizados a la misma versión.
Paquete no encontrado en NuGet público
Algunos conectores solo están disponibles mediante el servidor privado. Asegúrese de que se haya agregado el origen correcto.
Problemas GUI en sistemas no Windows
Los componentes GUI (StockSharp.Xaml, StockSharp.Xaml.Charting) funcionan solo en Windows. En Linux/macOS, use aplicaciones de consola sin paquetes GUI.
Errores de restauración de paquetes
# Limpiar caché de NuGet
dotnet nuget locals all --clear
# Reintentar restauración
dotnet restore
Estructura de archivo del proyecto (.csproj)
Mínimo (bot de trading 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>
Extendido (estrategia con indicadores y pruebas)
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<!-- Núcleo -->
<PackageReference Include="StockSharp.Algo" Version="*" />
<PackageReference Include="StockSharp.Configuration" Version="*" />
<!-- Estrategias e indicadores -->
<PackageReference Include="StockSharp.Algo.Strategies" Version="*" />
<PackageReference Include="StockSharp.Algo.Indicators" Version="*" />
<!-- Conector -->
<PackageReference Include="StockSharp.Binance" Version="*" />
<!-- Pruebas retrospectivas -->
<PackageReference Include="StockSharp.Algo.Testing" Version="*" />
<!-- Localización -->
<PackageReference Include="StockSharp.Localization.ru" Version="*" />
</ItemGroup>
</Project>
Aplicación WPF con 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>
Verificación de la instalación
Cree una aplicación mínima:
using StockSharp.Algo;
using StockSharp.BusinessEntities;
Console.WriteLine("StockSharp configurado correctamente!");
var connector = new Connector();
Console.WriteLine($"Conector creado: {connector}");
dotnet run
Ejemplos
Los ejemplos preparados de uso de StockSharp están disponibles en el directorio Samples/ del repositorio. Cubren conexión a exchanges, suscripción a datos, construcción de velas, indicadores, estrategias y pruebas.