Блог им. 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 для различных точек подключения, в соответствии с настройками маршрутов автотрейдинга в фазе основного цикла работы системы и вызвать функцию завершения работы модуля автотрейдинга и поочередно функции завершения работы точки подключения в фазе завершения работы системы. Может иметь графический интерфейс для запуска, остановки и настройки режима совместной работы модулей.
57 | ★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

Читайте на SMART-LAB:
Фото
Снижение военной премии в нефти: что это меняет для доллара и G10
Во второй половине понедельника – начале вторники рынки активно пересматривают премию за худший сценарий на энергетическом рынке, что цепочкой...
Фото
Обзор рынка облигаций
Если не считать бури вокруг Евротранса, то неделя прошла спокойно. Рынок продолжает взвешивать ситуацию с дефицитом бюджета и способами...
Российский рынок остался в красном секторе
Торги 10 марта на российских фондовых площадках проходили в умеренном минусе на фоне противоречивых новостей внешней политики, ослабления рубля и...
Фото
Гендиректор Инарктики продал свои акции компании. Что это может значить?
Вечером в пятницу (6 марта ) вышел сущфакт о том, что Соснов Илья Геннадьевич, гендиректор Инарктики, продал свои акции компании. В нашем...

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

....все тэги



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