1.1. Структура листов:
📊 Котировки - текущие цены инструментов
🎯 Торговля - ручная отправка заявок
🤖 Автоторговля - автоматические стратегии
💼 Портфель - текущие позиции
⚙ Настройки - параметры подключения
📈 Графики - визуализация данных
A1: "НАСТРОЙКИ ПОДКЛЮЧЕНИЯ К QUIK" A3: "DDE Service:" B3: "QLUA" A4: "DDE Topic:" B4: "QuikTrans2" A5: "Торговый счет:" B5: "L01-00000F00" A6: "Клиентский код:" B6: "" A8: "СПИСОК ИНСТРУМЕНТОВ" A9: "Тикер" B9: "Название" C9: "Класс" D9: "Лот" A10: "GAZP" B10: "Газпром" C10: "TQBR" D10: "10" A11: "SBER" B11: "Сбербанк" C11: "TQBR" D11: "10" A12: "LKOH" B12: "Лукойл" C12: "TQBR" D12: "1" A13: "GMKN" B13: "Норникель" C13: "TQBR" D13: "1"
A1: "ТЕКУЩИЕ КОТИРОВКИ" A2: "Тикер" B2: "Послед." C2: "Бид" D2: "Оффер" E2: "Объем" F2: "Время" G2: "Изменение %"
' В Excel нужно добавить ссылки на библиотеки: ' 1. QUIK API (qlua.exe) ' 2. Microsoft XML ' 3. ADODB для работы с базой данных
| A | B | C | D | E | F | G |
|---|---|---|---|---|---|---|
| Тикер | Направление | Кол-во | Цена | Статус | ID заявки | Действие |
| GAZP | BUY | 10 | 160.50 | Ожидание | 📥 Отправить | |
| SBER | SELL | 5 | 280.30 | Ожидание | 📥 Отправить |
' Модуль для работы с QUIK через DDE
Option Explicit
' Настройки подключения
Private Const QUIK_DDE_SERVICE = "QLUA"
Private Const QUIK_DDE_TOPIC = "QuikTrans2"
Private Const TRANS2_TABLE = "TRANS2"
' Подключение к QUIK
Public Sub ConnectToQUIK()
On Error GoTo ErrorHandler
Dim ddeChannel As Long
ddeChannel = DDEInitiate(QUIK_DDE_SERVICE, QUIK_DTE_TOPIC)
If ddeChannel > 0 Then
ThisWorkbook.Sheets("Контроль").Range("B2").Для алготрейдеров, работающаих с QUIK, связка «QUIK + Lua» всегда была одновременно и благословением, и проклятием. Мощно — но на малопопулярном в трейдинге языке.
Решения вроде QUIKSharp (.NET) стали шагом к более распространённым экосистемам, но что насчёт многомиллионного сообщества Python?
Новый проект QUIK-python портирует нативный QUIK Lua API прямо в Python — с сохранением всей гибкости оригинала и удобством современного async-кода.
Ключевые особенности и преимущества
- Полностью асинхронный клиент — коллбеки данных из стаканов, сделок и свечей не блокируют основную логику.
- Прямой доступ к API QUIK — вызывайте функции Lua напрямую из Python-кода.
- Событийная модель — подписывайтесь на стаканы, свечи и сделки, получая события прямо в Python.
— 🐍 Нативный Python-код — всё, от коллбеков до торговой логики, пишется на чистом Python с доступом к его экосистеме (NumPy, Pandas, asyncio и др.).