TransToQuik 1.0.0

dotnet add package TransToQuik --version 1.0.0
                    
NuGet\Install-Package TransToQuik -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TransToQuik" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TransToQuik" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="TransToQuik" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TransToQuik --version 1.0.0
                    
#r "nuget: TransToQuik, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package TransToQuik@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=TransToQuik&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=TransToQuik&version=1.0.0
                    
Install as a Cake Tool

TransToQuik

CI NuGet License: MIT

Типобезопасная .NET-библиотека для работы с TRANS2QUIK API терминала QUIK: подключение, отправка транзакций, подписка на заявки и сделки.

Важно: пакет NuGet содержит только управляемый код. Нативная библиотека trans2quik.dll поставляется вместе с QUIK и должна быть доступна в каталоге приложения. См. настройку QUIK.

Возможности

  • Подключение к запущенному терминалу QUIK по пути к каталогу установки
  • Синхронные и асинхронные транзакции (лимитные заявки, стоп-заявки, снятие заявок)
  • Подписка на потоки заявок и сделок с типизированными моделями
  • Строгая валидация параметров транзакций до отправки в QUIK
  • Расширения для чтения дополнительных полей из callback-дескрипторов

Требования

Компонент Версия
.NET 9.0+
ОС Windows (x86/x64 — как у установленного QUIK)
QUIK Установленный терминал с включёнными внешними транзакциями
trans2quik.dll Из каталога QUIK (см. docs/QUIK_SETUP.md)

Торговый счёт (Account)

В заявках указывается поле Account — торговый счёт для транзакции (не логин QUIK и не «код клиента» демо).

Где посмотреть в терминале: Торговля → Заявка (при выборе ClassCode / SecCode), или в таблице заявок / разделе счетов. Подробнее — Где взять Account.

Установка

dotnet add package TransToQuik

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

using TransToQuik;
using TransToQuik.Enums;
using TransToQuik.Models.Transactions;

var client = QuikClientFactory.CreateClient();
var connect = client.Connect(@"C:\QUIK\");
if (!connect.Success)
{
    throw new InvalidOperationException($"QUIK connect failed: {connect.ErrorKind}");
}

client.SubscribeOrders(b => b.Add("QJSIM", "VTBR"));
client.StartOrders(new MyOrderHandler());

var order = new QuikNewOrder
{
    ClassCode = "QJSIM",
    SecCode = "VTBR",
    Account = "YOUR_ACCOUNT",
    Operation = QuikOperation.Buy,
    Quantity = 1,
    Price = 100.0,
    Type = QuikTypeOrder.Limit,
};

var result = await client.SendTransactionAsync(order);
Console.WriteLine($"Status: {result.ErrorKind}, OrderNum: {result.OrderNum}");

Полный рабочий пример — в проекте TransQuik.Example.

Ограничения процесса

  • Один активный QuikClient на процесс — все экземпляры делят подключение к QUIK, trans2quik.dll и таблицу ожиданий async-ответов (TRANS_ID).
  • Дополнительные поля заявок, сделок и ответов на транзакцию доступны через Details / Reply (снимок в callback), а не через «живой» дескриптор QUIK.
  • Точность цены в транзакции: свойство PriceScale (как scale в getSecurityInfo). См. QUIK_SETUP.md — формат PRICE.

Структура репозитория

TransToQuik/
├── TransToQuik/          # NuGet-библиотека
├── TransToQuik.Tests/    # Unit-тесты (Moq + xUnit)
├── TransQuik.Example/    # Консольный пример
├── docs/                 # Документация по настройке QUIK
└── .github/workflows/    # CI и публикация в NuGet

Сборка из исходников

git clone https://github.com/ZylAlexander/TransToQuik.git
cd TransToQuik

# Скопируйте trans2quik.dll из каталога QUIK (для примера)
copy "%QUIK_PATH%\trans2quik.dll" libs\

dotnet build TransToQuik.sln
dotnet test TransToQuik.Tests/TransToQuik.Tests.csproj

Запуск примера:

cd TransQuik.Example
copy appsettings.Development.json.example appsettings.Development.json
# отредактируйте путь к QUIK и торговые параметры
dotnet run

Публикация NuGet

Релизы публикуются автоматически при создании тега v*.*.* (см. .github/workflows/release.yml).

Для публикации в nuget.org добавьте секрет репозитория NUGET_API_KEY.

Участие в разработке

См. CONTRIBUTING.md.

Лицензия

Код библиотеки распространяется по MIT.
trans2quik.dll и терминал QUIK — продукты АРКА Технологии; их использование регулируется их лицензией.

Отказ от ответственности

Проект не связан с АРКА Технологии и не является официальным SDK. Используйте на свой риск, особенно на реальных торговых счетах.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 126 6/20/2026