Избранное трейдера Юрий. И.

по

Qlua: получение данных из таблицы текущих торгов, создание таблиц в торговом терминале.

Сегодня рассмотрим:

1. Получение биржевых данных через функцию getParamEx
2. Выгрузка списка параметров функции getParamEx через DDE из торгового терминала
3. Создание пользовательских таблиц в торговом терминале


Одна из особенностей работы через квик это то, что можно получать достаточно большой объем биржевой информации по интересуемым инструментам. Большинство других платформ для алгоритмической торговли и терминалов в РФ будут выдавать только цену открытия, максимум/минимум дня, последнюю цену, цену закрытия, объемы по инструментам и максимум еще 3-5 каких-то дополнительных пунктов. В распоряжении тех, кто использует qlua огромная матрица параметров таблицы текущих торгов.


Получить их можно через функцию getParamEx:

getParamEx(код класса актива, инструмент, параметр), где:

код класса: например в случае акций это «TQBR», а в случае срочного рынка «SPBFUT».
инструмент: тикер.
параметр – один из параметров для соответствующей группы инструментом (об этом подробнее ниже).


Функция возвращает таблицу со следующими полями:



( Читать дальше )

Qlua: структура скрипта для торгового терминала, обработка обрыва связи и её возобновления, работа с файлами

Сегодня начинаем уже писать полноценные скрипты для терминала, а не отдельные блоки кода на lua.

Пройдем:

  • Структуру типового скрипта qlua с примерами.
  • Обработку скриптом «обрыва связи» с сервером и возобновления работы.
  • Работу с файлами: запись, перезапись и чтение файла.
  • getScriptPath, getWorkingFolder

Структура скрипта

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

Qlua: структура скрипта для торгового терминала, обработка обрыва связи и её возобновления, работа с файлами

function OnInit – инициализирует глобальные переменные и константы (например, торгуемые бумаги, размеры тейка и стопа, торговый счет и пр.), имена таблиц, необходимых файлов.

function OnStop – функция остановки скрипта, активируется при нажатии клавиши «Остановить» в панели скриптов терминала.

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



( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Qlua: основы, часть 2

Продолжаем погружаться в основы языка. Сегодня рассмотрим:

 

Циклы for … do… end
while do … end
repeat … until
sleep
Как пройти весь массив циклом
Как пройти таблицу по ключам и значением
break
goto
Локальные и глобальные переменные
Функции
Получение даты и времени
Получение данных через getInfoParam


Цикл for … end

for index = start, end, step do 
-- start – начало отсчета, 
-- end – конец отсчета, step - шаг

  -- тело цикла

end



Пример:

for i = 1, 10 do -- пройтись от 1 до 10 c шагом 1 (по умолчанию)<br />
  message("i="..i)  -- вывод i<br />
end

Можно задать шаг:

for i = 1, 10, 2 do -- пройтись с 1 до 10 с шагом 2

  message("i="..i)

end

Цикл while do...end

while (условие) do

  -- тело цикла

end


Выполняет тело цикла, пока соблюдается условие. Если условие на старте не соблюдается, то цикл не запустится.

Пример:

a = 1

while a < 9 do

   a = a + 1

   message(tostring(a))

end

 

Цикл repeat … until



( Читать дальше )

Qlua: основы, часть 1

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

Сегодня рассмотрим:

  • message
  • конкатенация
  • фильтрация по сообщениям в терминале
  • PrintDbgStr
  • комментарии
  • типы данных
  • type
  • операции с числами
  • операции со строками
  • операции с таблицами
  • условные операторы

 

message

Выводит сообщение в торговом терминале в формате окна (в прошлой статье говорил, что удобнее отключить, чтобы не отвлекаться постоянно) и в таблице системных сообщений.  

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

Для корректного отображения русских букв необходимо выбирать котировку файла Windows-1251 (об этом также в прошлый раз мы уже говорили). Иногда по этой причине некоторые разработчики пишут только на английском весь вывод текста в терминал, чтобы не заморачиваться с кодировкой, в т.ч. при размещении на github и совместной работе с кодом.



( Читать дальше )

Qlua: настраиваем торговый терминал и редактор кода.

Для людей уже торгующих через Quik можно перейти сразу к настройкам редактора кода, а тем, кто хорошо знаком с Notepad++, то сразу к запуску скрипта.

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

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



( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Qlua: введение.

Cерия статей по языку QLua и алгоритмической торговле для тех, кто хочет автоматизировать свою работу на финансовых рынках, освоить написание скриптов, индикаторов, торговых советников и роботов для терминала Quik.

В 2022 году ЦБ выпустил презентацию «Портрет клиента брокера». В ней указано, что в РФ всего 0,03% клиентов используют алгоритмическую торговлю.

Qlua: введение.


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

У меня нет задачи популяризировать эту тему, скорее помочь тем, кто будет идти той же дорогой. Дело в том, что открытой информации по qlua и алгоритмической торговле через Quik в сети немного: есть несколько сайтов энтузиастов, где кусочками выложены разные полезности, часть из этой информации порой уже устаревшая (работает только на более ранних версиях терминала), есть несколько коммерческих проектов (продажи роботов, либо обучения) там информация актуальная, но за неё нужно платить. Есть интересные библиотеки, но отдельные (например, какие-то библиотеки визуального интерфейса) могут отваливаться с появлением новых версий квика.



( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Тестирование арбитражной стратегии с помощью робота. Бесплатный скрипт

Задаем в скрипте 2 инструмента, выставляем настройки и запускаем. В файле формируются сделки, произведенные роботом.
Все сделки виртуальные,  то есть на реальном рынке, но нет исполнения ордеров. Кому интересно скачивайте скрипт.
disk.yandex.ru/d/LGMdRt9bCI_5DA — скачать скрипт

Раздаю бесплатно скринер арбитражных спредов под Quik с выводом ТОП10 лучших вариантов

Всем привет.
Торгую арбитражные стратегии с помощью роботов.
Для выбора инструментов использую скринер спредов.
Решил поделиться)

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

Вот такой внешний вид. В первом окне выводится общая информация о Базовом активе, двух ближайших
фьючерсах и спреде между ними. В последнем столбце активируем какие данные участвует в ТОПЕ
Во второй столбце выводятся лучшие варианты для сделок
Раздаю бесплатно скринер арбитражных спредов под Quik с выводом ТОП10 лучших вариантов

Скачать скрипт — disk.yandex.ru/d/2GcpZeQkL6xZrg

Как я пришел в алготрейдинг. Скринер акций на Мосбирже

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

На этот раз, была успешно реализована идея создания скринера на платформе OsEngine. Суть идеи заключается в том, чтобы запустить рабочие стратегии на постоянный мониторинг выбранных бумаг ММВБ, и при определенных условиях, бот автоматически совершает сделки.

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

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



( Читать дальше )

Внимание, важно!

Всем привет)

Вот такое сообщение в Квик сегодня:

Информируем, что с 3 апреля проведение операций через QUIK будет доступно с использованием российского TLS-сертификата НУЦ Минцифры России.
Клиенты, не установившие сертификат Минцифры РФ, не смогут подключиться к QUIK. Как установить сертификат www.sberbank.ru/ru/certificates

===========
По данной ссылке почему-то не открылось у меня.
Открыл просто через сайт сбербанка.
Скачал.
Установил.

Внимание, важно!

Уж не знаю, эти или нет)
И при чем тут Квик??

Так что, имейте ввиду…
  • обсудить на форуме:
  • QUIK

....все тэги
UPDONW
Новый дизайн