Задать вопрос

Какой выбрать способ для работы с QUIK в приложении на Python?

Под работой я понимаю как возможность получения данных, так и подачи заявок. В результате поисков были выявлены следующие варианты:
  1. Для экспорта данных можно использовать DDE или ODBC. Для работы с DDE на Python не нашел удобных решений. Насколько я понял, необходимо реализовать в самом Python и сервер, и клиент, а DDE будет некоторой прослойкой? В случае с ODBC интересует, можно ли как-то автоматизировать процесс присоединения через ODBC к базе данных или же каждый раз нужно выбирать таблицу, нажимать ПКМ и т.д.? Для подачи заявок существует API trans2quik.dll. Была найдена оболочка для Python под названием PyQUIK. Таким образом, цепочка (DDE или ODBC) + trans2quik.dll может дать желаемый результат, если ее реализовать.
  2. Программирование на QLua. Для связи с Python была собрана библиотека lunatic-python. Если кто-то пробовал данный способ, расскажите, как запускали скрипт на Lua в QUIK с использованием Python (я в данном случае получил ряд ошибок от QUIK), а также как передавали данные между программами на Lua и Python (интересует передача в обе стороны).

Какой способ лучше, какой быстрее реализовать или, может, существуют другие способы?
  • Вопрос задан
  • 5986 просмотров
Подписаться 7 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@DonStron
В случае с ODBC интересует, можно ли как-то автоматизировать процесс присоединения через ODBC к базе данных или же каждый раз нужно выбирать таблицу, нажимать ПКМ и т.д.?

С галочкой "Вывод после создания", которая ставится в настройках вывода по ODBC в таблице - Квик сам начинает пихать данные в базу сразу после запуска Квика. Т.е. настроил один раз и забыл, оно работает и стартует само.
Если не нужен автостарт экспорта в базу, то есть галочка для вывода по требованию: "Вывод при нажатии Ctrl+Shift+O". Просто делаешь активным окно Квика - нажимаешь сочетание клавишь и данные пошли.

Тоже самое есть и у вывода по DDE (старт после запуска), правда чтобы корректно работало, сервер DDE должен быть запущен до запуска Квика. Запуск по сочетанию клавиш тоже есть.
Для минимальной задержки вывода оп DDE в инфофайле квика делают вот такую настройку:
5bf51d0c04ae5834341910.png

Ещё можно рассмотреть вариант "всё в одном" без квика вообще - это SmartCom у брокера АйТи Инвест. Модуль Питона для подключения есть на гитхабе, но не знаю допилен ли он энтузиастами до конца. Моих навыков в Питоне пока не хватает. Правда смартком с абоненткой ежемесячной, если торговой комиссии набегает меньше, чем стоимость абонентки.

У меня сейчас работает так:
Данные для своих хитрых графиков получаю из Квика по ODBC, питон их обрабатывает и показывает.
Установку базы и настройку вывода делал по этой инструкции. Ставил старые версии, чтобы не разбираться, а то в комментах там жаловались, что настройки в новых изменились.
Для ручной торговли подключен к Квику привод Кускальп по DDE, там руками выставляю приказы.

Когда обкатаю идею и подниму навыки питона, то попробую со всем этим переехать на смартком. А может даже перепишу всё под C#, он стыкуется со смартком без проблем, всё готово. Правда для этого придется изучить C#
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы