---------- Send 0.001 ---------- Reply 0.029 status 3 trans_id 9999 msg Заявка 2001882023283372213 успешно зарегистрирована. client_code SPBFUT00egd order_num 2001882023283372213 price 2508.0 ---------- Order 0.103 client_code SPBFUT00egd order_num 2001882023283372213 price 2508.0 ---------- Order 0.103 client_code SPBFUT00egd order_num 2001882023283372213 price 2508.0 ----------Лет 10 назад через Церих капитал было: Reply 0.1 сек, Order 0.2 сек.
-- Если FILL_OR_KILL не исполняется, msg в окне сообщений
-- Ошибка создания заявки. [GW][4103]
-- "Неполное сведение FOK заявки."
-- result = "",
-- OnTransReply(): status=4, msg=см.выше, order_num=0.
SecCode = "MMZ5"
ClsCode = "SPBFUT"
TransId = 9999
EventLog = {}
Tags = {"Send", "Reply", "Order", "Trade"}
function OnInit (scriptPath)
ScriptPath = scriptPath
end -- OnInit()
function OnOrder (order) -- Постановка в очередь
if order.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 и др.).
По просьбе трудящихся, выкладываю программулину для очистки графика от данных торгов субботы, воскресенья:
Распаковываете архив, получается на выходе папка «REMOVE_DAYS_OFF». В неё копируем файл с расширением *.dat нужного вам графика из квиковской папки «archive». Затем, в папке «REMOVE_DAYS_OFF»
открываем текстовым редактором файл «a.bat». Там будет одна строка:
remove_days_off -i SPBFUT_GDZ5_60.dat
Меняем в этой строке «SPBFUT_GDZ5_60.dat» на имя скопированного вами ранее файла, сохраняем файл «a.bat», жмём ENTER — и вуаля! все ваши деньги быстренько перетекают на мой счёт в банке Тель-Авива
Шутка. Никто никуда не перетекает, а папке появляется файл SPBFUT_GDZ5_60_modified.dat (в моём случае, в вашем имя будет, естественно, другое).
Закрываем QUIK, копируем файл «SPBFUT_GDZ5_60_modified.dat» с именением имени на «SPBFUT_GDZ5_60.dat» обратно в папку «archive», открывем QUIK, наслаждаемся графиком без выходных данных.
Оригинальный, ранее перекопированный файл «SPBFUT_GDZ5_60.dat» НЕ УДАЛЯЕМ, на случай если что-то пойдёт не так или захотите опять узреть график с выходными днями.
Добрый день. Можно ли в QUIK подать заявку на первичное размещение облигаций?
Перестал платить за новости — как настроить бесплатные «МОЛНИИ» в QUIKРаньше я платил за доступ к новостным каналам, думал, что без этого ни...
