Cерия статей по языку QLua и алгоритмической торговле для тех, кто хочет автоматизировать свою работу на финансовых рынках, освоить написание скриптов, индикаторов, торговых советников и роботов для терминала Quik.
В 2022 году ЦБ выпустил презентацию «Портрет клиента брокера». В ней указано, что в РФ всего 0,03% клиентов используют алгоритмическую торговлю.
Поэтому я понимаю, что людей, которые будут интересоваться темой программирования в трейдинге, совсем немного (хотя с ростом популярности изучения программирования доля со временем может подрасти, но вряд ли существенно).
У меня нет задачи популяризировать эту тему, скорее помочь тем, кто будет идти той же дорогой. Дело в том, что открытой информации по qlua и алгоритмической торговле через Quik в сети немного: есть несколько сайтов энтузиастов, где кусочками выложены разные полезности, часть из этой информации порой уже устаревшая (работает только на более ранних версиях терминала), есть несколько коммерческих проектов (продажи роботов, либо обучения) там информация актуальная, но за неё нужно платить. Есть интересные библиотеки, но отдельные (например, какие-то библиотеки визуального интерфейса) могут отваливаться с появлением новых версий квика.
Есть ужасный форум разработчиков терминала, где информация малоструктурирована, но куда можно писать по возникшим трудностям с разбором кода. Есть мануал по qlua и справка по языку, которые поставляются с торговым терминалом, при этом они очень скупы на подробности и примеры. Поэтому приходится из разных источников самому собирать по крупицам кусочки кода и делать из этого всего какую-то мозаику.
Кружок авиамоделизма.
Где-то здесь на форуме я встретил сравнение, что круг программирующих на qlua людей – это «кружок авиамоделизма». Очень близко к действительности. Хотя, наверное, более близкое сравнение — это создание парусников в бутылках. Когда ты через узкое горлышко торгового терминала пытаешься запустить свои скрипты при нелепых причудах, огромных ограничениях и извращенных особенностях терминала Quik.
Если вы решили войти в этот «кружок», то придётся набраться терпения и сперва изучить основы, научиться писать простые скрипты, научиться получать информацию из терминала, работать с заявками и сделками, таблицами, самостоятельно сохранять и читать внешние файлы, после чего уже можно будет подходить к написанию собственного робота. Я постараюсь поэтапно делиться своими наработками, полезными ссылками и материалами, чтобы этот путь можно было пройти легче и быстрее.
Немного истории.
Всего каких-то 5-8 лет назад все преимущественно работали на финансовых рынках через торговые терминалы (чаще всего брокеры предлагали терминал Quik для торговли, но были и собственные разработки у отдельных компаний – FinamTrade, АльфаДирект, SmartX, АЛОР-трейд и пр., где пытались посоревноваться по дизайну и по функциональности). При этом у некоторых из них была возможность написания и запуска скриптов для частичной или полной автоматизации своей торговли.
Однако за последние годы большинство крупных брокеров выпустили свои приложения для смартфонов и по статистике уже большая часть людей мониторят рынок или совершают операции именно через них. В том же «портрете клиента» от ЦБ указано, что 74% пользуются мобильными приложениями, а торговыми платформами (квик и аналоги) всего 17%.
Однако если вы хотите оперативно анализировать динамику котировок интересуемых компаний, сегмента или динамики рынка в целом, автоматизировать частично или полностью свою работу на финансовых рынках, попробовать свои силы в алгоритмической торговле, то вам, в любом случае, понадобится торговый терминал. В случае программирования на qlua потребуется установить терминал Quik.
Почему не MetaTrader, где используется гораздо более простой язык MQL? Дело в том, что MetaTrader изначально в нашей стране предлагали форекс-компании. Сейчас часть брокеров, ориентируюсь, прежде всего, на аудиторию, которая ранее торговала форекс и для кого терминал MetaTrader более привычен, тоже стали его предлагать как альтернативу. Но Quik, тем не менее, остается основным терминалом у большинства брокеров. Т.к. сейчас уже такие времена, когда торговля редко ведется только через одного брокера, да и основной брокер может поменяться со временем (смена тарифов, списка торгуемых бумаг – после санкций, например, или просто другой брокер стал более технологичным и удобным), то проще сразу сориентироваться на более массовый Quik и язык qlua.
Выбирать какие-то разработки от отдельных брокеров, вроде SmartX, это полностью привязываться только к данному брокеру и языку программирования данного терминала. Если по каким-то причинам в будущем нужно будет перейти торговать к другому брокеру, придется переписывать весь код.
Варианты различных конструкторов вроде TSLab или Tradematic годятся разве что только для работы совсем простых торговых стратегий, хотя там и заложена возможность составлять логику не только графически «кубиками», но и прописывать алгоритмы кодом (но, во-первых, это платные платформы, во-вторых, они не всегда устойчиво работают, в-третьих, программирование через qlua в терминале даёт больше возможности как по получению информации по рынку, так и по реализации своей торговой стратегии). Хотя для тестирования простых стратегий TSLab для начинающих, наверное, очень даже неплохой вариант. Тем более, что функционал тестирования на исторических данных у них бесплатный.
Основной функционал.
С помощью qlua вы сможете в торговом терминале:
В следующей статье мы коснемся необходимых настроек торгового терминала, особенностям программирования на qlua, напишем и запустим в терминале первый простенький скрипт.
Телеграмканала нет, ютубканала нет, роботов не продаю.
Теги: qlua для начинающих, кружок «авиамоделизма».
Странные цифры. При постановке вопроса «хотя бы раз пользовались одним из перечисленных» сумма процентов должна быть существенно выше 100.
цифра должна быть существенно более 100%. Не верю я в то, что использующие Квик ни разу не использовали мобильное приложение.
мда… теперь я понимаю кто именно пишет на qlua. успехов :)
Но никто не пишет, как встроить психологию в алгоритм.
В алгоритмы в т.ч. уходят чтобы убрать эмоциональную/импульсивную составляющую и более формализировать все свои правила.
Низкая доля во-первых, потому что не всем близко программирование в целом (сколько пользователей excel и какая доля из них используют макросы VBA? которые существенно упрощают работу, бесплатны и не требуют никаких дополнительных установок — 1-3 % максимум). Во-вторых, в отличие от VBA excel qlua квика не столь простой и интуитивно понятный.
если математика говорит о том, что вероятность выигрыша за 10 лет равна нулю, то тогда остается только психология))
сайт писал программист… для программистов… поэтому юзабилити и дизайн — почти на дне… но контент годный
Я буду давать разные полезные ссылки и материалы, но уже после какой-то минимальной базы. На начальном этапе некоторые из них (например мануалы разработчиков, скорее могут напугать или оттолкнуть от этой темы).
основной обмен информации, на сколько знаю, это С + ++ в куче его видов Java тоже, где работают банки и системы,
QLua — это чисто внешка обертка для обращения, правильно понимаю ? или через нее процессы проходят непосредственно самой биржи ?
не разбираюсь, поэтому спрашиваю
Что такое не понял, потому и спрашиваю.
А базы то все же на чем работают? У нашей Мосбиржи ?
она настолько допатопна, и не меняется уже лет 10 по сути, может больше
эт так, инфа к размышлению
В команде разработчиков квика в Новосибе люди когда-то связанные с биржей и они уже очень сильно интегрировались. Но ничто не вечно.
alfacentavra, мы упираемся в монополизм, российский
но было интересно ваше мнение послушать, спасибо.
Вообще с точки зрения логики, могли бы люди протолкнуть тему, организации более эффективности обмена информации защищенной системы, но… воз там дальше и останется, кому эт надо
и к вашей теме QLua — это мертвый язык, согласитесь, его в принципе нету )
Причём lua много где применяется, в т.ч. в играх, т.е. вполне себе современный язык, но qlua уже давно мог бы и API различные иметь от разработчиков, и с другими языками программирования быть совместимым (python, c#, c++, java, kotlin, go и пр.), но самим разработчикам это не нужно, в т.ч. потому что нет конкуренции.
К слову в штатах около 50 различных терминалов. Вот это конкуренция! Правда они платные) И исторические данные платные) Но это уже другая история)
Спасибо.
Есть много разработчиков роботов, которые написали их и оптимизировали лет 5 назад и теперь просят ставить только какой-нибудь 7 квик и ни в коем случае не обновлять его. Этого всего не было, если бы речь шла о простом lua, прикрученным в терминал
В сам язык они «улучшений» не вносили, к счастью.
Какими инструментами сейчас проводится отладка кодов в qlua? Имеется ли что-то подобное mql5?
Ну так я пошел!
Все Вы правильно написали, в интернете что-то найти очень сложно. Я пытался.
Все оказалось гораздо ближе, просто рядом!
Попробую пройти следом за Вами этот путь.
Я понял, что мне нужен советник, когда осознал, что все мои задумки, вручную, просто нереализуемы.
Мне нужна работа с событиями, и она у Вас описана, но я не пожалею времени прочитать и осознать все Вами написанное. Надеюсь, к 70 годам успею.
Спасибо Вам за Ваши труды!