Блог им. AlexShurenberg

Backtrader-next и коннектор подключения к Quik (bn_quik)

Я завершил разработку коннектора bn_quik (репозиторий на GitHub) для интеграции с backtrader-next. Коннектор основан на моем модуле quik_python (репозиторий на GitHub). Теперь вы можете подключаться к Quik и осуществлять торговлю!

С чего начать?
  1. Зарегистрируйте демо-аккаунт Quik на сайте ARQA.
  2. Попробуйте свои силы на демо-версии.
  3. Ознакомьтесь с примерами использования коннектора в репозитории.
Немного о backtrader-next

Backtrader-next — это обновленная версия оригинального backtrader. Хотя модуль не мой, я активно его использую и могу выделить следующие преимущества:

  • Ускоренное тестирование: работает примерно в 4 раза быстрее, чем оригинальный backtrader.
  • Новые индикаторы: добавлены индикаторы Джона Эллерса, реализованные с использованием Numba для высокой производительности.
  • Улучшенная визуализация: графики, индикаторы, таблицы сделок и навигация по датам сделок реализованы на базе библиотеки TradingView.
  • Расширенная статистика: доступна как в тестовом формате (аналогично backtesting.py), так и в HTML-формате (похожем на quantstats).

Примеры

Примеры визуализации:

  • ГрафикиBacktrader-next и коннектор подключения к Quik (bn_quik)
  • СтатистикаBacktrader-next и коннектор подключения к Quik (bn_quik)

P.S. Отвечаю только на вопросы, связанные с коннектором bn_quik!

  • обсудить на форуме:
  • QUIK
2.9К | ★9
21 комментарий
Выглядит неплохо
avatar
Всё решение построено на одном довольно плохом кирпичике, что делает и само решение так себе.

КвикШарп очень-очень-очень тормознутая штука. Луа скрипты не компилируются Квик совсем. Они интепретируются. На тиках можно терминал прибивать.
avatar
Просто трейдер, 
Всё решение построено на одном довольно плохом кирпичике,

Настолько плохом, что за 12 лет ничего лучше не придумали…
avatar
Synthetic, есть trans2quik.dll  от ARQA, можно через нее подключаться, но не факт что будет лучше
avatar
Synthetic, с чего бы такие утверждения.

Tiger.Trade, StockSharp. Еще давно был QScalp. Отлично тянут тики и стаканы и таблицу текущих параметров с кучей опционов. У них там другая технология, не Lua. Вот и скорость.

Скроее не захотел никто. Мертв QUIK уже давно для алго. Брокеры свои API предлагают, и дают пониженную комиссию торговать через их API. Автор поста сделал хорошую работа, но она лишена практического смысла. Но работа хорошая проделана.
avatar
Просто трейдер, Ok
назовите брокера у которого стабильное API, с нормальным RPS — а не типа мах 10 запросов в 1сек, посмотрю как вариант для следующего подключения. 
avatar
Красаучег, ноу айдиа. Я такой скоростью транзакций не балуюсь.
avatar
Просто трейдер, 
Tiger.Trade, StockSharp. Еще давно был QScalp. Отлично тянут тики и стаканы и таблицу текущих параметров с кучей опционов. У них там другая технология, не Lua. Вот и скорость.

StockSharp:

Способ подключения к терминалу QUIK заключается в использовании скрипта Lua. Ниже описан процесс установки и настройки скрипта.

    Открываем таблицу доступных скриптов (Сервисы — Lua скрипты — Доступные скрипты).
    Выбираем кнопку «Добавить».
    После добавления скрипта, его необходимо запустить.

Tiger.Trade:

В главном меню QUIK выберите Сервисы → Lua скрипты. В открывшемся окне нажмите Добавить и выберите файл С:\ProgramFiles(x86)\TigerTrade\Connectors\Quik\TigerTrade.Quik.lua.

Qscalp:

В меню Сервисы терминала QUIK выберите пункт Lua скрипты1. В открывшемся окне нажмите на
кнопку «Добавить» и выберите файл «QScalpAgent.lua», который находится в папке
«QScalp\Connectors\Quik»:
avatar
Synthetic, ох и выросло поколение.

У них скрипты в 1 строчку. Вызывают дальше какую то dll. На C++ наверное написана. Там и вся скорость. А у QuikSharp всё запрограммировано через Lua. Поэтому и тормоза.
avatar

Просто трейдер, 

Про QuikSharp легко рассуждать, потому что это open source. А остальное нет. Вот когда откроют код, возможно окажется, что это то же самое. Только транспорт некоторые поменяли. Поскольку библиотека Луа socket, на которой построен транспорт в QuikSharp в последнее время объективно плохо поддерживается автором (Diego Nehab). Даже бинарник собрать под Windows x64 не удосужился.

avatar
Synthetic, какой бинарник x64, там на С# написано, поэтому одна и таже библиотека и для x64
avatar
Красаучег, 
там на С# написано

LuaSocket is a Lua extension library composed of two parts:

  1. a set of C modules that provide support for the TCP and UDP transport layers, and
  2. a set of Lua modules that provide functions commonly needed by applications that deal with the Internet.
avatar
Synthetic, я не программист, мне совершенно без разницы как там что-то устроено, с открытым кодом или нет. Я довольно четко описал критерий, почему для себя КвикШарп не смог пользоваться — зависает при трансляции тиков. Зависает QUIK терминал. Торговать через него невозможно. А как они сделали, то же самое, или по другому — совершенно не важно. Главное для меня — это или работает или нет. Для вас возможно это не главное. Свою т.з. навязывать вам не буду. А описал лишь почему столь большая работает по факту пшик. Из-за такого коннектора. Что мне с красивых графиков, если я подключусь к тикам и терминал зависнет? Никакого проку.
avatar
Просто трейдер, 
Я довольно четко описал критерий, почему для себя КвикШарп не смог пользоваться — зависает при трансляции тиков. Зависает QUIK терминал. Торговать через него невозможно.

Если использовать неправильно скомпилированную библиотеку Luasocket, то будет зависать и без Квикшарпа. Кстати, для тиков я давно использую odbc экспорт в SQL server. Не зависает никогда. При кратковременных потерях связи самовосстанавливается без каких либо усилий с моей стороны.

avatar
Synthetic, честно — не знаю и знать не хочу. Родной КвикШарп коннектор работал так. И робот сделанный на нем. К роботу без претензий, коннектор брался без модификаций. Кто когда почему — это к сыщикам. Мне лень на это тратить было время тогда. А сейчас это уже бессмысленно.

Решения с базами данных и так далее — это к программистам, кому не интересна альфа, а кому интересны фишечки технические. Не хотел тогда тратить время, а сейчас все проблемы с техникой закрывает вайбкодинг.
avatar
Просто трейдер,  Из квикшарпа только Lua скрипты
1. Python не для торговля по тикам, да и зарабатывать на тиках с нормальными деньгами нечего. 
2. Если вы думаете что Квик и подключения через него это дно, ТО откройте и почитайте чат поддержки к примеру Алор OpenAPI или других, где переодически-постоянно вопли, как что-то упало посреди торгов, задвоение лотов в ЛК, проблемы с заявками. Ну и посмотрите на лимиты вызовов API, которые ОЧЕНЬ маленькие, практически у всех API: Финам, БКС и прочих. И зачем нужен «быстрый» API, если при активном использовании, вы быстро улетите в бан из-за превышения лимитов RPS?
avatar
Красаучег, 

1. даже комментировать не буду. Вы наверное молодой, еще не знакомы с таким роботом Panda. Который выиграл конкурс ЛЧИ в ломахмто году, написав на Питоне робота под Плазу.

2. Постоянно там и присутствую. Где ликвидность, там и вопли. А там где метрвое решение, там уже никаких отголосков. Тишина.
avatar

Читайте на SMART-LAB:
X5 проведёт вебкаст по результатам 2025 года
Друзья, всем привет! Рады пригласить вас на вебкаст, посвящённый финансовым результатам X5 за 2025 год. В ходе звонка мы подведём итоги 2025...
Фото
🔒 Что скрывает под собой доходность
Как узнать, какой актив показал себя успешнее на дистанции? Сравнить их исторические доходности. Но у этого показателя есть два существенных...
⚙️ Как Займер использует ИИ в своей работе
Мы часто говорим, что наш сервис — высокотехнологичный, и это не пустые слова. Ранее мы уже рассказывали, как в Займере работают скоринг и...
Фото
Хэдхантер. Отчет МСФО 25г. “Режет косты“ и ждёт X2 темпов роста по выручке на 26г.
Вышли финансовые результаты по МСФО за Q4 2025г. от компании Хэдхантер: 👉Выручка — 10,47 млрд руб. (+0,4% г/г) 👉Операционные расходы —...

теги блога Красаучег

....все тэги



UPDONW
Новый дизайн