Настройка окружения
Требования
Для работы со StockSharp необходимы:
- .NET 10 (SDK и Runtime) — скачать
- IDE — Visual Studio 2022+, JetBrains Rider или VS Code
- NuGet — менеджер пакетов (встроен в Visual Studio и Rider)
Убедитесь, что SDK установлен:
dotnet --version
Создание проекта
Visual Studio 2022+
- File → New → Project
- Выберите шаблон Console App (консольное приложение) или WPF Application (GUI-приложение)
- Укажите целевой фреймворк .NET 10
JetBrains Rider
- File → New Solution
- Выберите .NET / .NET Core → Console Application
- Укажите Target Framework: net10.0
Командная строка (CLI)
# Консольное приложение
dotnet new console -n MyTradingApp --framework net10.0
cd MyTradingApp
# WPF-приложение (только Windows)
dotnet new wpf -n MyTradingGui --framework net10.0-windows
Каталог NuGet-пакетов
StockSharp распространяется через NuGet. Ниже — полный каталог пакетов по категориям.
Ядро
| Пакет | Описание |
|---|---|
| StockSharp.Messages | Базовые сообщения и контракты. Основа всего фреймворка |
| StockSharp.BusinessEntities | Торговые сущности: Security, Order, Trade, Portfolio и др. |
| StockSharp.Algo | Ядро алгоритмической торговли, Connector, подписки, свечи |
| StockSharp.Configuration | Управление конфигурацией, настройка подключений |
| StockSharp.Localization | Система локализации (английский по умолчанию) |
Стратегии и индикаторы
| Пакет | Описание |
|---|---|
| StockSharp.Algo.Strategies | Фреймворк стратегий — базовый класс Strategy, позиции, PnL |
| StockSharp.Algo.Indicators | 100+ технических индикаторов (SMA, EMA, RSI, MACD, Bollinger и др.) |
Тестирование
| Пакет | Описание |
|---|---|
| StockSharp.Algo.Testing | Бэктестирование на исторических данных, эмуляция торговли |
Хранение и данные
| Пакет | Описание |
|---|---|
| StockSharp.Algo.Export | Экспорт рыночных данных (CSV, Excel, JSON и др.) |
| StockSharp.Algo.Import | Импорт данных из внешних форматов |
Аналитика и расчёты
| Пакет | Описание |
|---|---|
| StockSharp.Algo.Analytics | Интерфейсы для аналитических скриптов |
| StockSharp.Algo.Compilation | Компиляция кода во время выполнения |
| StockSharp.Algo.Gpu | GPU-ускоренные вычисления индикаторов (CUDA через ILGPU) |
GUI-компоненты (только Windows)
| Пакет | Описание |
|---|---|
| StockSharp.Xaml | WPF-контролы: таблицы инструментов, портфелей, заявок |
| StockSharp.Xaml.Charting | Графики свечей, индикаторов, эквити |
| StockSharp.Charting.Interfaces | Интерфейсы графических компонентов |
| StockSharp.Alerts.Interfaces | Интерфейсы системы оповещений |
| StockSharp.Diagram.Core | Ядро визуального дизайнера стратегий |
Коннекторы (биржи и брокеры)
Каждый коннектор — отдельный NuGet-пакет. Основные:
| Пакет | Биржа/Брокер |
|---|---|
StockSharp.Binance |
Binance |
StockSharp.InteractiveBrokers |
Interactive Brokers |
StockSharp.Fix |
FIX-протокол (универсальный) |
StockSharp.Connectors.Tinkoff |
Tinkoff Invest |
StockSharp.Connectors.Coinbase |
Coinbase |
StockSharp.Connectors.BitStamp |
Bitstamp |
StockSharp.Connectors.Bittrex |
Bittrex |
StockSharp.Finam |
Финам |
Note
Полный список коннекторов — в разделе Коннекторы. Некоторые коннекторы доступны только через приватный NuGet-сервер.
Локализация
Базовый пакет StockSharp.Localization включает английский язык. Дополнительные языки устанавливаются отдельными пакетами:
| Пакет | Язык |
|---|---|
StockSharp.Localization.ru |
Русский |
StockSharp.Localization.zh |
Китайский |
StockSharp.Localization.de |
Немецкий |
StockSharp.Localization.es |
Испанский |
StockSharp.Localization.ja |
Японский |
StockSharp.Localization.ko |
Корейский |
StockSharp.Localization.All |
Все языки (мета-пакет) |
Доступны также: 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.
Установка пакетов
Через CLI (рекомендуется)
# Основные пакеты
dotnet add package StockSharp.Algo
dotnet add package StockSharp.Algo.Strategies
# Коннектор (пример — Binance)
dotnet add package StockSharp.Binance
# Индикаторы
dotnet add package StockSharp.Algo.Indicators
# Бэктестирование
dotnet add package StockSharp.Algo.Testing
# Локализация (русский)
dotnet add package StockSharp.Localization.ru
Через Visual Studio
- Правый клик на проекте → Manage NuGet Packages...
- В поиске введите
StockSharp - Выберите нужный пакет → Install
Все зависимости установятся автоматически.
Через JetBrains Rider
- Правый клик на проекте → Manage NuGet Packages
- В поиске введите
StockSharp - Выберите пакет → Install
Через Package Manager Console (Visual Studio)
Install-Package StockSharp.Algo
Install-Package StockSharp.Binance
Install-Package StockSharp.Algo.Strategies
Приватный NuGet-сервер
Некоторые компоненты (криптовалютные коннекторы и др.) доступны только через приватный NuGet-сервер для зарегистрированных пользователей.
Способ 1: Аутентификация через токен в адресе
- Зарегистрируйтесь на сайте StockSharp.
- Скопируйте токен из личного кабинета.
- Добавьте источник пакетов:
CLI:
dotnet nuget add source "https://nuget.stocksharp.com/{ВАШ_ТОКЕН}/v3/index.json" --name StockSharpPrivate
Visual Studio: откройте Tools → Options → NuGet Package Manager → Package Sources и добавьте новый источник с адресом https://nuget.stocksharp.com/{ВАШ_ТОКЕН}/v3/index.json.
Rider: откройте Settings → Build, Execution, Deployment → NuGet → Sources и добавьте источник.
Способ 2: Аутентификация через логин и пароль
- Добавьте источник с адресом
https://nuget.stocksharp.com/x/v3/index.json - При попытке использования появится окно ввода логина/пароля
- Введите данные учётной записи StockSharp (или
xв поле логина и токен в поле пароля)
CLI:
dotnet nuget add source "https://nuget.stocksharp.com/x/v3/index.json" --name StockSharpPrivate --username ВАШ_ЛОГИН --password ВАШ_ПАРОЛЬ --store-password-in-clear-text
Tip
Чтобы сбросить сохранённые учётные данные в Windows, откройте Панель управления → Учётные записи пользователей → Диспетчер учётных данных и удалите записи, связанные с nuget.stocksharp.com.
Обновление пакетов
CLI
# Проверить доступные обновления
dotnet list package --outdated
# Обновить конкретный пакет
dotnet add package StockSharp.Algo
Visual Studio
- Manage NuGet Packages... → вкладка Updates
- Выберите пакеты → Update
Rider
- Manage NuGet Packages → вкладка Upgrades
- Выберите пакеты → Upgrade
Типичные проблемы
Несовместимость версий
Все пакеты StockSharp должны быть одной версии. Если возникают ошибки типов или методов, убедитесь что все StockSharp.* пакеты обновлены до одной версии.
Отсутствие пакета в публичном NuGet
Некоторые коннекторы доступны только через приватный сервер. Убедитесь, что добавлен правильный источник.
Проблемы с GUI на не-Windows
GUI-компоненты (StockSharp.Xaml, StockSharp.Xaml.Charting) работают только на Windows. На Linux/macOS используйте консольные приложения без GUI-пакетов.
Ошибки восстановления пакетов
# Очистить кэш NuGet
dotnet nuget locals all --clear
# Повторить восстановление
dotnet restore
Структура .csproj
Минимальная (консольный робот)
<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>
Расширенная (стратегия с индикаторами и тестированием)
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<!-- Ядро -->
<PackageReference Include="StockSharp.Algo" Version="*" />
<PackageReference Include="StockSharp.Configuration" Version="*" />
<!-- Стратегии и индикаторы -->
<PackageReference Include="StockSharp.Algo.Strategies" Version="*" />
<PackageReference Include="StockSharp.Algo.Indicators" Version="*" />
<!-- Коннектор -->
<PackageReference Include="StockSharp.Binance" Version="*" />
<!-- Бэктестирование -->
<PackageReference Include="StockSharp.Algo.Testing" Version="*" />
<!-- Локализация -->
<PackageReference Include="StockSharp.Localization.ru" Version="*" />
</ItemGroup>
</Project>
WPF-приложение с графиками
<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>
Проверка установки
Создайте минимальное приложение:
using StockSharp.Algo;
using StockSharp.BusinessEntities;
Console.WriteLine("StockSharp successfully configured!");
var connector = new Connector();
Console.WriteLine($"Connector created: {connector}");
dotnet run
Примеры
Готовые примеры использования StockSharp доступны в каталоге Samples/ репозитория. Они охватывают подключение к биржам, подписку на данные, построение свечей, индикаторы, стратегии и тестирование.