Меню

Как подключить торгового робота к quik

Торговый робот для QUIK. На каком языке программирования его написать, как протестировать и как установить в торговый терминал

Как и многие другие, я начинал свою работу в качестве трейдера с торгового терминала Metatrader4. И когда у меня созрела необходимость в написании собственных скриптов и советников (торговых роботов), я не мудрствуя лукаво открыл учебник по MQL4 и изучив основы этого языка, через пару часов уже мог состряпать простую программку.

Дальше-больше, после реализации простых скриптов пришло желание запрограммировать более сложные алгоритмы торговли. Возникали, конечно, вопросы, но ответы на них достаточно легко дают Яндекс с Гуглом. В настоящее время существуют столько сайтов и форумов посвящённых данной тематике, что достаточно трудно найти такой вопрос, который остался бы без ответа после более-менее тщательного штудирования интернета.

Для чего я вам все это рассказал? Дело в том, что никакого особого опыта в программировании, кроме школьных уроков информатики у меня до этого не было. А это означает, что для того, чтобы справиться с этим делом вовсе не обязательно быть программистом.

Если же у вас за плечами уже есть какой-либо опыт программирования на любых языках, то данная задача вам покажется элементарной. Уверяю вас, так оно на самом деле и есть, на деле здесь всё оказывается куда проще и стоит только начать, как вы незаметно для себя уже превратитесь в матёрого создателя торговых роботов.

Как написать программу

В QUIK предусмотрена возможность установки двух основных типов программ скриптов и торговых роботов:

На мой взгляд, наиболее простым вариантом является работа с программами на языке LUA. Область применения данного языка программирования не ограничивается только написанием программ для торговых терминалов, на нём пишут и компьютерные игры, и мобильные приложения, и много чего ещё. Но нас сейчас интересует его использование в контексте написания программ торговых роботов для торгового терминала QUIK. К слову сказать, используемая здесь разновидность данного языка часто именуется QLUA (Q от QUIK).

Программирование на LUA

Описать все особенности и синтаксические конструкции языка в рамках одной этой статьи конечно не получится, впрочем в этом и нет особой необходимости. Как я уже говорил, синтаксис здесь довольно простой и включает в себя все основные команды свойственные любому современному языку программирования. Есть, конечно, некоторые специфические моменты, но все они подробно описаны на многочисленных тематических ресурсах. Например здесь: https://forum.quik.ru/forum10/topic2029/

Я сильно не заморачивался ни синтаксисом, ни изучением языка, а просто сразу начал писать программу. По ходу необходимости, уточнял синтаксис той или иной необходимой мне команды через поисковики. Например запрос типа “оператор для открытия позиции в QLUA” подсказывал мне, что для данной цели необходимо использовать оператор sendTransaction(), а запрос “синтаксис оператора sendTransaction() в LUA” выдавал в первой же позиции результатов поиска сайт содержащий ответ:

На этом сайте вы найдёте синтаксис всех команд языка с конкретными примерами их использования: http://luaq.ru/

А вот здесь вы найдёте полное руководство по азам программирования на LUA: https://lua.org.ru/contents_ru.html

Кроме этого есть ещё масса других ресурсов содержащих исчерпывающую информацию по данной теме.

Где писать программу. Какой редактор использовать?

Прелесть состоит в том, что для написания программ на QLUA можно обойтись штатными средствами Windows, без установки каких-либо специализированных редакторов. Вы можете писать и редактировать программу прямо в текстовом файле.

Для этого сначала создаёте обычный текстовый файл:

Неудобство данного метода написания состоит в том, что без редактора невозможно скомпилировать файл и проверить его на наличие ошибок. Однако это не так критично, как может показаться на первый взгляд, поскольку наличие ошибок (а также их краткое описание) вам выдаст торговый терминал после того как вы попытаетесь запустить в нем программу.

После запуска программы терминал показывает в ней ошибку

После этого достаточно будет её отредактировать и запустить вновь. В том случае, если ошибок больше нет, окно “Ошибки выполнения скрипта” останется пустым, а программа начнёт работать (об этом будет свидетельствовать характерный значок “play” перед названием). После того, как заложенный в неё алгоритм отработает, она остановится. Если же она специально зациклена (работает на постоянное отслеживание текущей рыночной ситуации), то остановить её можно будет нажатием на кнопку “Остановить”.

Читайте также:  Водафон как подключить год без абонплат

Как протестировать торгового робота

В Метатрейдере с этим делом всё обстоит довольно просто – запускаешь тестер стратегий, выбираешь временной интервал ценовой истории и вперёд. Тестер прогонит через загруженного в него торгового робота весь массив цен из заданного в настройках интервала и выдаст вам график прибыли/убытка которые были бы получены роботом при реальной торговле online. При этом у вас ещё будет возможность оптимизировать настройки тестируемого торгового робота таким образом, чтобы получить наилучший результат (наибольший профит), правда на всё том же ограниченном интервале истории.

В QUIK такого тестера априори не существует. То есть тестировать созданных роботов на истории вы здесь не сможете**, но оно, пожалуй, и к лучшему. Почему к лучшему? Излишняя оптимизация на истории может сыграть с вами злую шутку. Дело в том, что самые замечательные результаты торговли в прошлом никогда не гарантируют вам того же и в будущем. Часто бывает так, что стратегии “заточенные” (читай – оптимизированные) под определённый интервал времени в прошлом и приносящие на нём стабильно высокий доход, в реальном времени начинают откровенно сливать депозит.

Но не расстраивайтесь, торговых роботов для терминала QUIK вы сможете тестировать в реальном времени. Правда для этого вам потребуется так называемый демо-счёт (вы ведь не хотите, чтобы тестируемый советник принялся сразу же торговать реальными деньгами).

В отличие от метатрейдера в котором и реальные, и учебные счета открываются в одном и том же терминале, в квике для этого нужно установить специальный учебный терминал. По сути своей это тот же QUIK, только данные он берет со специального – учебного сервера (котировки немного отстают по времени от реальных, но в целом повторяют их с достаточной точностью) и для торговли здесь используются виртуальные деньги.

Учебный QWIK можно скачать у любого брокера, желательно у того, через которого вы планируете в дальнейшем торговать. Правда здесь возможны некоторые заморочки связанные с тем, что не всегда учебная версия данного торгового терминала позволяет работать со скриптами LUA.

Если та версия, которую предлагает ваш брокер не поддерживает возможножность установки и запуска LUA-скриптов, то можете установить демку от брокера БКС. Это не реклама, просто у меня стоит такая же и я точно знаю, что данная версия позволяет работать с любыми скриптами и советниками написанными на языке программирования LUA (QLUA).

** По крайней мере чистыми средствами QUIK, без использования какого-либо дополнительного софта.

Как установить LUA-скрипт в торговый терминал

Процесс установки торгового робота (скрипта) одинаков и для учебного, и для реального терминалов. Он довольно прост и выглядит следующим образом:

Вот и всё, на этом процесс установки торгового робота закончен. Для того, чтобы он начал работать достаточно выбрать его кликом мышки и нажать кнопку “Запустить”. Если в программе не будет обнаружено ошибок, то она начнёт работать, а иначе выдаст вам соответствующее сообщение (см. выше).

Источник

Как установить и запустить робота или скрипт в терминале КВИК (QUIK)

3. Сохраните Скрипт в какую либо папку на Вашем компьютере, можно даже в папке QUIK создать новую папку и задать название, желательно на латинскими буквами, например «robot»

И видим следующее окно, где находятся все наши запущенные в Квике роботы и скрипты.

5. Жмем кнопку «Добавить», находим нашего робота/ скрипт из Папки, что мы создали «robot». Выделяем файл робота и нажимаем «Открыть», скрипт добавится в «Загруженные скрипты».

6. Выделяем наш скрипт в текущем окне «Доступные скрипты» с справа нажимаем кнопку «Запустить». Если робот или скрипт без ошибок, то вместо «красного квадратика» появится «зеленый треугольник», все скрипт запущен, если в скрипте есть ошибки, то текст ошибки будет виден в подокне «Ошибки выполнения скрипта» данного окна.

Читайте также:  Билайн как подключить 2 номера на личный кабинет

7. Для того, чтобы остановить скрипт робота — выделяем скрипт — нажимаем кнопку «Остановить» и дальше можно удалить, нажав на кнопку «Удалить».

8. После запуска скрипта, можно свернуть или закрыть окно «Доступные скрипты» — скрипт робота все равно продолжит свою работу.

9. Если Вы выключили терминал, а скрипт при этом у Вас остался включенным, т.е. Вы его не останавливали из окна «Доступные скрипты», то при последующем включении терминала Ваш скрипт продолжит работу, если иного не прописано внутри самого робота — принудительная остановка.

Не откладывайте свой шанс заработать на бирже уже сегодня!

Источник

Торговые роботы: Как автоматизировать передачу заявок в QUIK

После того, как написан и оттестирован прибыльный торговый алгоритм, трейдер обязательно задается вопросом: «А что же дальше?» Ведь необходимо сделать так, чтобы этот механизм начал работать и приносить прибыль своему автору. Мы расскажем о возможностях создания торгового робота на основе самых распространенных программ для технического анализа — Metastock 7.0 — 9.0, Omega Research Tradestation 2000, Wealth-Lab 4.0 и их связке с QUIK.

Можно, конечно, в течение всей торговой сессии наблюдать за работой связки «Quik + программа анализа» и, как только система сгенерирует сигнал, сразу же вручную совершать соответствующую сделку. У этого метода множество недостатков и любой, кто не первый день на рынке, сразу заметит их.

Оптимальным решением будет настроить экспорт торговых сигналов в QUIK и полностью автоматизировать этот процесс.

Проблемой является то, что перечисленные программы в штатном режиме не поддерживают возможность экспорта данных в QUIK. Решение находится с помощью дополнительных адаптеров, которые переводят сигналы торговых систем в сигналы, понятные этому терминалу.

Технология экспорта внешних транзакций в QUIK подробно описана в разделах 6.10 и 6.11 документации. Скачать ее можно с сайта разработчиков ИТС QUIK.

Далее мы рассмотрим существующие решения для каждой из платформ.

Metastock 7.0 — 9.0

Программа не поддерживает возможность экспорта данных о сделках. Для получения такой возможности необходимо установить дополнительные библиотеки, расширяющие ее функционал.

Одна из таких библиотек (автора Сергея Косинского) добавляет в Metastock не только новые индикаторы, но и функции работы с файлами, и возможность записи данных о транзакциях для дальнейшей их обработки торговым терминалом. Разработка является бесплатной.

От пользователя потребуется модификация стратегий и индикаторов, чтобы они могли обращаться к новым функциям программы.

Подробнее о библиотеке можно прочитать на сайте разработчика по адресу

В частности, функция TraderQuik отвечает за работу с файлами заявок QUIK.

На этой странице дано её подробное описание и примеры реализации торговых алгоритмов. Если вы уже разобрались с программным языком Metastock и хотите сделать робота на его основе, вы легко произведете все необходимые настройки.

Для новичка же все эти манипуляции с файлами настроек и модификация индикаторов могут показаться слишком сложными, но следует помнить, что авторы Metastock не закладывали торговых возможностей на российском рынке в свою программу.

Omega Research Tradestation 2000i

Существует несколько платных разработок, позволяющих автоматизировать экспорт данных о заявках в QUIK. Вашему вниманию я хочу предоставить две из них:

Разработки являются самостоятельными программами с понятным интерфейсом. От пользователя потребуется произвести минимальные настройки, указав номер своего торгового счета, путь установки ИТС QUIK и условия синхронизации заявок. Всю дальнейшую работу эти системы берут на себя. Вносить изменения в уже существующие стратегии и индикаторы Omega Research не придется.

В бесплатном демо-режиме обе программы позволяют вести торговлю одним лотом выбранного инструмента без ограничения времени. Это дает возможность оценить программы без дополнительных затрат.

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

Читайте также:  Как селфи палку подключить к телефону highscreen

Wealth-Lab 4.0.

Для этой платформы также существуют адаптеры, позволяющие транслировать сигналы стратегий в ИТС QUIK.

Он содержит дополнительную библиотеку, расширяющую функционал программы. Все настройки экспорта производятся через модуль установки. Требует от пользователя небольшой настройки Wealth-Lab без внесения изменений в стратегии и индикаторы.
Сайт разработчика содержит всю необходимую информацию.

Работает только с версией Developer. Как и предыдущий, содержит дополнительную библиотеку и модуль настройки. Требует минимальной перенастройки Wealth-Lab.
На сайте разработчика есть вся необходимая документация, ответы на частые вопросы и форум с обсуждением программы.

Платный адаптер AXY 2 с бесплатным тестовым периодом в 45 дней.
— http://robotrader.ru/content/view/56/228/

Программа сопровождается подробными инструкциями по настройке связки «QUIK+Wealth-Lab+адаптер».

В какой бы из систем вы ни программировали свои торговые идеи, вы обязательно найдете решение, позволяющее автоматизировать передачу заявок в торговый терминал. К сожалению, это не единственная проблема, которую должен решить потенциальный автор робота. Кроме этого, придется обеспечить бесперебойную работу компьютера с торговыми программами и стабильное соединение с интернетом. Эти и подобные темы будут рассматриваться в последующих статьях.

БКС Экспресс

Последние новости

Рекомендованные новости

Сбербанк ждет 700 млрд руб. прибыли в 2020 г. Что это значит для дивидендов?

Топ-5 успешных IPO на рынке США в 2020

Три интересные бумаги на следующую неделю

Какие акции вырастут в 2021

Рубль нашел силы для рывка вверх

Паразиты, пенициллин, потенция и еще три «П» компании Pfizer

Адрес для вопросов и предложений по сайту: bcs-express@bcs.ru

* Материалы, представленные в данном разделе, не являются индивидуальными инвестиционными рекомендациями. Финансовые инструменты либо операции, упомянутые в данном разделе, могут не подходить Вам, не соответствовать Вашему инвестиционному профилю, финансовому положению, опыту инвестиций, знаниям, инвестиционным целям, отношению к риску и доходности. Определение соответствия финансового инструмента либо операции инвестиционным целям, инвестиционному горизонту и толерантности к риску является задачей инвестора. ООО «Компания БКС» не несет ответственности за возможные убытки инвестора в случае совершения операций, либо инвестирования в финансовые инструменты, упомянутые в данном разделе.

Информация не может рассматриваться как публичная оферта, предложение или приглашение приобрести, или продать какие-либо ценные бумаги, иные финансовые инструменты, совершить с ними сделки. Информация не может рассматриваться в качестве гарантий или обещаний в будущем доходности вложений, уровня риска, размера издержек, безубыточности инвестиций. Результат инвестирования в прошлом не определяет дохода в будущем. Не является рекламой ценных бумаг. Перед принятием инвестиционного решения Инвестору необходимо самостоятельно оценить экономические риски и выгоды, налоговые, юридические, бухгалтерские последствия заключения сделки, свою готовность и возможность принять такие риски. Клиент также несет расходы на оплату брокерских и депозитарных услуг, подачи поручений по телефону, иные расходы, подлежащие оплате клиентом. Полный список тарифов ООО «Компания БКС» приведен в приложении № 11 к Регламенту оказания услуг на рынке ценных бумаг ООО «Компания БКС». Перед совершением сделок вам также необходимо ознакомиться с: уведомлением о рисках, связанных с осуществлением операций на рынке ценных бумаг; информацией о рисках клиента, связанных с совершением сделок с неполным покрытием, возникновением непокрытых позиций, временно непокрытых позиций; заявлением, раскрывающим риски, связанные с проведением операций на рынке фьючерсных контрактов, форвардных контрактов и опционов; декларацией о рисках, связанных с приобретением иностранных ценных бумаг.

Приведенная информация и мнения составлены на основе публичных источников, которые признаны надежными, однако за достоверность предоставленной информации ООО «Компания БКС» ответственности не несёт. Приведенная информация и мнения формируются различными экспертами, в том числе независимыми, и мнение по одной и той же ситуации может кардинально различаться даже среди экспертов БКС. Принимая во внимание вышесказанное, не следует полагаться исключительно на представленные материалы в ущерб проведению независимого анализа. ООО «Компания БКС» и её аффилированные лица и сотрудники не несут ответственности за использование данной информации, за прямой или косвенный ущерб, наступивший вследствие использования данной информации, а также за ее достоверность.

Источник