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

Получение тикеров торгуемых бумаг через getClassSecurities

Благодаря наводке @quant_trader (за что отдельное спасибо!), переписал свой первый скрипт из поста https://smart-lab.ru/blog/916765.php по выгрузке из терминала всех торгуемых бумаг. Теперь всё выполняется штатными средствами с помощью getClassSecurities.

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

Особенности запроса. Если ввести:

sec_list = getClassSecurities("TQBR")<br />message(sec_list)

то терминал выдаст строку, где через запятую будут все тикеры, при этом видим, что список не полон, обрывается на RTSB:

Получение тикеров торгуемых бумаг через getClassSecurities

Как выяснилось, это связано только с ограничением самого терминала на вывод строки (не более 899 символов).

При этом если посмотреть длину строки, то будет видно, что символов больше:

sec_list = getClassSecurities("TQBR")
message(tostring(string.len(sec_list)))

выдаст 1281

Разбив строку по запятым получим весь массив тикеров для дальнейшей работы:



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

Выгрузка данных на конец дня по всем акциям Московской Биржи

Иногда бывает необходимым проанализировать не отдельную бумагу, а рынок в целом.

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

Получить котировки на конкретную дату можно через сайт Московской Биржи (https://www.moex.com/ru/marketdata/#/mode=groups&group=4&collection=3&boardgroup=57&data_type=history&date=2023-06-27&category=main), но это не очень удобно т.к. требуется либо парсить (для чего нужен уже нетривиальный уровень в программировании), либо вручную выдергивать эту страницу, например в excel (тем, кто попробует выгрузить всё по кнопкам скачать Excel / CSV биржа предложит воспользоваться платной подпиской для получения данных).



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

Тиковые данные по Сберу (обычка).

Добрый день!

Тестирую несколько HFT стратегий на тиковых данных. Понадобилась история до 2017 года включительно. Обычно качаю котировки с Финама и MFD. Но у первого за начало 2017 не полные данные (не указаны операции B/S), а второй предоставляет только начиная от минуток.

Если у кого-то есть архив сделок (тиковых) с указанием Buy/Sell за I кв. 2017 или есть ссылка на ресурс, где их можно найти буду очень признателен.


Венчурный подход в криптовалютах

16.10.2018 в 19:00 состоится бесплатный обзорный семинар по криптовалютам через призму венчурного инвестирования.

Венчурный подход в криптовалютах

г.Санкт-Петербург, ул. Марата, 69/71, 7й этаж
Проводит Алексей Анисимов.

Программа семинара: 

  1. Чем отличается традиционный инвестор от венчурного;
  2. Основы и история венчурного рынка;
  3. Почему венчурный подход лучше всех работает на крипторынке;
  4. На какой стадии находится сейчас рынок криптовалют;
  5. Возможности инвесторов при работе с компанией КИТ Финанс;
  6. Обсуждение кейсов и вопросов. 


Участие бесплатное. Только аналитика и авторский взгляд на ситуацию
Никаких «продаж» курсов не подразумевает.

Регистрация:
morefinances.timepad.ru/event/827137/

Тестирование торговых стратегий (light)

Всем привет!

Начинающих трейдеров, кто пока торгует на интуиции, но хотел бы перейти на более системный подход, приглашаем на наше тестирование торговых стратегий. Участие бесплатное. Будут рассмотрены 3 стратегии на одном графике (каждый участник формирует свой, чтобы позже сравнить с результатами у других команд и участников).

Тестирование торговых стратегий (light)

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

1. Строим график.

Правила построения очень просты:
У вас 20 торговых дней.
В начале месяца стоимость нашей экспериментальной акции приравнивается к 50 руб.
В дальнейшем динамика котировок меняется следующим образом:
монетка определяет направление движение: решка рост котировки, орёл — снижение. А кубик, брошенный каждый раз после этого, покажет на какое значение в рублях произошло изменение.



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

Круглый стол по перспективам и динамике фондового рынка «Считанные дни»

Санкт-Петербург. 25 августа (четверг). 19:00

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


Круглый стол по перспективам и динамике фондового рынка «Считанные дни»

 

 

 

Куда движется российская экономика?
Остались считанные дни до нового «дна» кризиса или, наоборот, экономика восстанавливается, осталось лишь подождать немного, считанные дни, и скоро всё на рынках нормализуется и начнется постепенный рост?

 

Ответы на эти вопросы можно будет получить на нашем круглом столе, который состоится 25 августа (четверг) в 19:00

Организаторы:
Клуб «Профессиональные финансы» (club.professfinance.com)
Сообщество трейдеров, инвесторов и финансовых консультантов.

Компания Conomy (www.conomy.ru)
Сервис, который позволяет комплексно оценить инвестиционную привлекательность акций российских компаний, ОМС, ПИФов, банковских депозитов и других финансовых инструментов.



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

теги блога alfacentavra

....все тэги



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