tohoff82 / invest-openapi-csharp-sdk

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenAPI .NET SDK

Build NuGet version (Tinkoff Trading OpenApi) NuGet version (Tinkoff Trading OpenApi)

Данный проект представляет собой инструментарий на языке C# для работы с OpenAPI Тинькофф Инвестиции, который можно использовать для создания торговых роботов.

Начало работы

Nuget

SDK доступен на nuget.org, для подключения добавьте в проект зависимость Tinkoff.Trading.OpenApi.

Сборка

Для сборки вам потребуется совместимая с .netstandard 2.0 реализация .NET. Перейдите в директорию проекта и выполните следующую команду:

dotnet build -c Release

Или с помощью docker

docker run --rm  -v "$PWD":/home/dotnet/project -w  /home/dotnet/project mcr.microsoft.com/dotnet/core/sdk:3.0 dotnet build -c Release

После успешной сборки в поддиректрии bin/Release/netstandard2.0 появится файл Tinkoff.Trading.OpenApi.dll, который можно подключить к любому другому .NET-проекту.

Где взять токен аутентификации?

В разделе инвестиций вашего личного кабинета tinkoff . Далее:

  • Перейдите в настройки
  • Проверьте, что функция “Подтверждение сделок кодом” отключена
  • Выпустите токен для торговли на бирже и режима “песочницы” (sandbox)
  • Скопируйте токен и сохраните, токен отображается только один раз, просмотреть его позже не получится, тем не менее вы можете выпускать неограниченное количество токенов

Документация

Единственная зависимость проекта — Json.NET для работы с JSON. Документацию непосредственно по OpenAPI можно найти по ссылке.

Быстрый старт

Для непосредственного взаимодействия с OpenAPI нужно создать подключение.

using Tinkoff.Trading.OpenApi.Network;
...
// токен аутентификации
var token = "my.token";
// для работы в песочнице используйте GetSandboxConnection
var connection = ConnectionFactory.GetConnection(token);
var context = connection.Context;

// вся работа происходит асинхронно через объект контекста
var portfolio = await context.PortfolioAsync();

У меня есть вопрос

Основной репозиторий с документацией — в нем вы можете задать вопрос в Issues и получать информацию о релизах в Releases. Если возникают вопросы по данному SDK, нашёлся баг или есть предложения по улучшению, то можно задать его в Issues.

About

License:Apache License 2.0


Languages

Language:C# 100.0%