Блог им. ttools

Модули торговых автоматов qSDK

Добрый день, уважаемые смартлабовцы!

Хочу поделиться с вами новостями о грядущих изменениях в QuikOrdersDOM и подходах к разработке новых программ ttools.ru 

В настоящее время QuikOrdersDOM — это программа для быстрого ввода заявок для терминала Quik (скальперский привод). Корме того, QuikOrdersDOM — это платформа для торговых автоматов (модулей автотрейдинга), которые могут быть реализованы любым независимым разработчиком. Также уже реализованы торговые автоматы и индикаторы в виде модулей автотрейдинга. Пришло время сделать следующий логический шаг в эволюции средств автоматизации биржевой торговли ttools.ru: QuikOrdersDOM будет разделен на платформу для модулей автотрейдинга и скальперский привод, реализованный, как модуль автотрейдинга. Кроме того, платформа (точка подключения) станет заменяемым модулем, который также может быть реализован любым разработчиком по описанным правилам реализации. Для любого способа подключения к биржевым торгам (терминалам, протоколу Plaza2, FIX, и другим) будет возможно реализовать (и будет реализовано) платформу, с которой будет работать QuikOrdersDOM и другие модули автотрейдинга. Дистрибутивы и документация будут доступны в ближайшее время. Удачной торговли и больших профитов! Модули торговых автоматов qSDK Торговый алгоритм (модуль автотрейдинга qSDK, qSDKTrader) Модуль, осуществляющий анализ рыночных данных и принятие торговых решений. Взаимодействует с точкой подключения посредством функций qSDK для получения рыночных данных и отправки транзакций. Должен быть реализован по правилам реализации модуля автотрейдинга qSDK в виде dll библиотеки, экспортирующей обязательные функции инициализации, основного цикла, функции завершения работы и необязательные функции настройки параметров модуля и информационного сообщения. Точка подключения qSDK (QConnectionPoint) Модуль, реализующий правила и функции qSDK, вызываемые торговым алгоритмом для конкретного способа подключения к биржевым торгам (биржевой терминал, протокол FAST|FIX, Plaza2, и т.д…). Точка подключения обеспечивает прозрачную работу и независимость кода торгового алгоритма от физического способа взаимодействия клиентской торговой системы с биржевой инфраструктурой. Точка подключения должна быть реализована в соответствии с правилами реализации модуля точки подключения, в виде dll библиотеки, экспортирующей обязательные функции инициализации, основного цикла, функции завершения работы. Драйвер точки подключения qSDK (QCPDriver) Модуль, обеспечивающий совместную работу торгового алгоритма и точки подключения. Реализуется по правилам реализации драйвера точки подключения qSDK в виде исполняемого файла. Модуль должен запустить функцию инициализации точки подключения, функцию инициализации модуля автотрейдинга в фазе инициализации работы системы, обеспечить непрерывный поочередный вызов функции основного цикла точки подключения и функции основного цикла модуля автотрейдинга в фазе основного цикла работы системы и вызвать поочередно функции завершения работы модуля автотрейдинга и точки подключения в фазе завершения работы системы. Может иметь графический интерфейс для запуска, остановки и настройки режима совместной работы модулей. Роутер qSDK (qSDKRouter) Модуль, обеспечивающий совместную работу торгового алгоритма и нескольких точек подключения. Является частным (расширенным) случаем драйвера точки подключения. Используется для одновременной работы на нескольких рынках (например, в арбитражных торговых алгоритмах) Реализуется по правилам реализации драйвера точки подключения qSDK в виде исполняемого файла. Модуль должен поочередно запустить функции инициализации всех точек подключения, функцию инициализации модуля автотрейдинга в фазе инициализации работы системы, обеспечить непрерывный поочередный вызов функций основного цикла точек подключения и функции основного цикла модуля, а также маршрутизацию вызовов qSDK для различных точек подключения, в соответствии с настройками маршрутов автотрейдинга в фазе основного цикла работы системы и вызвать функцию завершения работы модуля автотрейдинга и поочередно функции завершения работы точки подключения в фазе завершения работы системы. Может иметь графический интерфейс для запуска, остановки и настройки режима совместной работы модулей.
★2
21 комментарий
Очнулись. Давно уже stocksharp существует, тс лаб и другие.
avatar
reist, вы написали робота использующего библиотеки stocksharp?
avatar
fau, и не одного.
avatar
reist,
qSDK в QuikOrdersDOM существует дольше стокшарпа и тслаба. Теперь qSDK можно будет использовать без QuikOrdersDOM
avatar
почему ваш привод работает только с одной версией квика?
avatar
а в чем преимущественное отличие от других библиотек для автотрейдинга?
avatar
troll,
Если быть точнее, QuikOrdersDOM работает с большим списком версий Quik, но не выше версии 5.18. Связано это с тем, что способ получения информациии из QUIK (прямое чтение памяти) был выбран быстрый, удобный с точки зрения настройки софта, но не стандартный для QUIK. Стандартные способы обмена (DDE, ODBC) до сих пор являются чуть более медленными и самое главное неудобными в настройке (вспомните, как приходится настраивать экспорт DDE или ODBC из квик).

Использование этого способ требует большой работы при выпуске каждой новой версии Quik, а начиная с версии 5.18. структура данных в Quik поменялась существенно и адаптация потребовала бы еще большей работы, на что я не был готов пойти. Сейчас все QUIK брокеры могут работать с 5.17 версией клиента QUIK, поэтому было принято решение пока оставить всё как есть (проблем при работе с 5.17 нет, на ttools.ru можно также скачать дистрибутив, содержащий необходимую версию). В недалеком будущем появится точка подключения, позволяющая использовать стандартный способ обмена через DDE(да, в ней будут все «достоинства» настройки экспорта по DDE), которая будет работать с любой версией Quik
avatar
ttools, поддержка старой (5.18) версии терминала — путь в никуда…
avatar
vfreeman,
в чем приемущества не знаю, это надо сравнивать, может кто-то сравнит когда-нибудь. Могу только сказать о приоритетах разработки: открытая архитектура, поддержка и основное ориентирование на больше трейдера, чем на разработчика

>поддержка старой (5.18) версии терминала — путь в никуда…

путь — это поддержка не только 5.18, а всех остальных версий одним махом
avatar
ttools, а) платная б) закрытый код в) устаревший язык программирования. Это то, что вы предлагаете.

Чтение из памяти Квика — это смех сквозь слезы. Какие скорости при Квике?
avatar
reist,
а) QuikOrdersDOM бесплатный, прежде чем писать надо бы выяснить, не так ли?

б) архитектура открытая, все протоколы и правила разработки документированы. Код закрытый (Чего ради он должен быть открытым? Пишите свой и делайте каким хотите)

в) язык программирования для разработки модуля может быть абсолютно любой, который способен скомпилировать обычную Windows dll-библиотеку, без использования дополнительных платформ, фреймворков, COM-серверов, SQL-серверов и прочего лишнего софта

г) Чтение памяти квик это максимально быстрый способ при работе с квик при нулевых расходах на инфраструктуру. Как бы вам не хотелось плакать, для некоторых торговых автоматов это оптимально по соотношению расходы/скорость
avatar
ttools, прежде чем писать, сказали бы, что нормально без версии Плюс это работать не будет. А она платная.

Язык любой? Ява, СиШарп? Поддерживается только старье.

Еще раз про скорость. Если нужна скорость — выбирать нужно не Квик.
avatar
reist,
простите, не понял, что вы имели ввиду под «нормально без версии Плюс это работать не будет»? пакет QuikOrdersDOM+?

QuikOrdersDOM работать нормально будет без плюса. А QuikOrdersDOM+ это больше, чем QuikOrdersDOM, это дополнительный пакет с дополнительными средствами автоматизации, которые продаются за деньги.

Я не писал про любой язык, читайте внимательно: любой компилятор, способный генерировать обычную dll, то, что вы перечислили не является таковым, и не являются эти вещи абсолютно позитивными, для них необходимо тащить платформу плюс интерпретируемые языки не быстрее компилируемых
avatar
sam063rus,
Очень сомневаюсь) И причем тут QuikOrdersDOM казалось бы
avatar
sam063rus,
можно не обновлять версию QUIK для торговли, а когда появится DDE-версия платформы можно перейти на нее
avatar
sam063rus,
пока это устраивает большинство пользователей (не устраивает только тех, кто то принципиально хочет работать с последней версией), чуть позже проблема исчезнет совсем

Да, квик в плане способов взаимодействия со сторонними продуктами не сахар, к сожалению, но жить можно. Было бы из-за чего переживать и ругаться
avatar
sam063rus,
ок :)
avatar

теги блога ttools.ru

....все тэги



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