Избранное трейдера UnusSedLeo
Сегодня:
Работа с биржевым стаканом через getQuoteLevel2
Особенность нумерации в стакане заявок терминала квик
Работа через функцию обратного вызова OnQuote
Примеры работы со стаканом из скрипта
Сравнение реализации одного алгоритма через разные функции
Из таблицы текущих торгов мы можем получать большой перечень данных, в т.ч. по лучшим ценам спроса и предложения, из которых желающие получат спрэд по выбранному инструменту. Однако иногда нужно заглянуть именно в биржевой стакан. Это, например, пригодится нам далее при выставлении заявок.
Работать с биржевым стаканом можно через getQuoteLevel2 и функцию обратного вызова OnQuote.
Функция getQuoteLevel2 возвращает 2 массива котировок (bid и offer) и 2 значения: количество бидов в стакане (bid_count) и количество офферов (offer_count). Чтобы нам не было скучно разработчики терминала решили последних 2 параметра передавать в виде строки, поэтому при работе их нужно перевести в числа (через tonumber).
Массивы bid и offer содержат цены (price) и количество (quantity) по каждому уровню заявок стакана. Их также нужно будет предварительно перевести в число.
Продолжаем изучение qlua, cегодня:
Интегрируем таблицы в структуру скрипта qlua.
Удаляем таблицы через DestroyTable.
Останавливаем скрипт через IsWindowClosed.
Обработка события закрытия таблицы через коллбэк.
Работа с цветом SetColor, Highlight, SetSelectedRow.
Пишем простого советника.
В прошлый раз мы рассмотрели как с помощью qlua создать таблицу в торговом терминале и заполнить её информацией из таблицы текущих торгов. Но это была статичная табличка, чтобы её «оживить» нужно разместить операции с нашей таблицей внутри структуры скрипта в функции main.
Саму таблицу мы можем создать до цикла while и внести неизменяемые данные (в нашем случае тикер и наименование бумаги), а уже заполнить цифрами и обновлять внутри цикла. Пока будет работать скрипт таблица будет обновляться.
function OnInit() tikers = {"GAZP", "SBER", "VKCO"} progname = "mytable :" timeout = 5000 end function OnStop() do_it = false message(progname.." Финиш.") end function main() message(progname.
Сегодня начинаем уже писать полноценные скрипты для терминала, а не отдельные блоки кода на lua.
Пройдем:
Структура скрипта
В торговом терминале можно запускать небольшие примеры на lua, как мы это делали ранее, но если говорить о постоянно работающем алгоритме, а не о компактной программе, которая должна выполнить только несколько коротких действий, то минимальная структура скрипта для квика будет содержать следующие функции:
function OnInit – инициализирует глобальные переменные и константы (например, торгуемые бумаги, размеры тейка и стопа, торговый счет и пр.), имена таблиц, необходимых файлов.
function OnStop – функция остановки скрипта, активируется при нажатии клавиши «Остановить» в панели скриптов терминала.
function main – основная функция, создает отдельный поток для выполнения скрипта. Обычно внутри main создается цикл для непрерывной работы, т.к. без него функция выполнит один раз весь код, который в ней прописан и скрипт остановится.
Продолжаем погружаться в основы языка. Сегодня рассмотрим:
Циклы 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
Для людей уже торгующих через Quik можно перейти сразу к настройкам редактора кода, а тем, кто хорошо знаком с Notepad++, то сразу к запуску скрипта.
В прошлой статье я привел статистику ЦБ, что клиентов, работающих через мобильные приложения брокеров сейчас в разы больше тех, кто работает через торговые терминалы. По этой причине я решил кратко затронуть и установку квика, и поделиться полезными настройками на старте (хотя, полагаю, что среди аудитории смартлаба, доминирующая часть именно тех, кто с терминалом «на ты», продвинутые пользователи сами могут в комментариях указать свои лайфхаки по настройкам и работе).
Подробную инструкцию по работе в квике и всем возможным настройкам я не планирую делать – желающие могут найти всё это в виде различных статей, полезных обзоров, в т.ч. соответствующего мануала по терминалу от разработчиков. Здесь я лишь хочу коснуться основных моментов, которые сделают работу в квике более комфортной для глаз, удобной и быстрой в части работы со скриптами.
На Московской бирже торгуется большое количество облигаций, но не все из них можно приобрести без соблюдения определенных условий.
Существует Федеральный закон от 22.04.1996 N 39-ФЗ (ред. от 24.06.2023) «О рынке ценных бумаг», в нем есть статья «51.2. Квалифицированные инвесторы», из этой статьи следует:
Физическое лицо может быть признано квалифицированным инвестором, если оно отвечает любому из указанных требований:
1) общая стоимость ценных бумаг, которыми владеет это лицо, и (или) общий размер обязательств из договоров, являющихся производными финансовыми инструментами и заключенных за счет этого лица, соответствуют требованиям, установленным нормативными актами Банка России. При этом указанный орган определяет требования к ценным бумагам и иным финансовым инструментам, которые могут учитываться при расчете указанной общей стоимости (общего размера обязательств), а также порядок ее (его) расчета;
2) имеет установленный нормативными актами Банка России опыт работы, непосредстве
После пары постов про недвижимость где показывал, что облигации дают купонный доход в два раза больше чем аренда, что золото дорожает быстрей, что в обоих случаях со сдачей недвижимости в аренду больше головняка чем с золотом и/или облигациями.
Получил и в личку сообщения, и под постами на разных площадках, что это я от незнания и без опыта не могу на недвижимости нормально заработать, а только «вот эти вот 5-6% в год». А кто надо зарабатывает (было пару предложений вложиться). А если я напишу, что в недвижимость тоже инвестирую много лет, так это я всё придумал. Пруфов то нет.
Что ж, пора сорвать покровы, разберём один из моих кейсов инвестирования в недвижимость в Санкт-Петербурге и как можно купить недвижимость со скидкой и главное у кого
В насыщенным на события 2022 рынок недвижимости кидало из стороны в сторону. Сначала на объявлении спецоперации в Феврале, позже на объявление частичной мобилизации в Сентябре. И если в начале года многие хотели запрыгнуть в уходящий поезд и выкупали с рынка всё быстро. Тогда, если помните, курс $USDRUB штурмовал 120 рублей и многим недвижимость казалась отличным вариантом сохранить деньги.
✅ Для тех у кого на графике до сих пор куча осцилляторов и терминал в ярких тонах от которого идет кровь из глаз после часа торгов.
🔻 Настройки Квика я подогнал под свой стиль торговли, функционал заточен именно на интрадей и краткосрок. Цветовая тема на мой взгляд подобранна оптимальна для глаз, при такой теме глаза устают меньше всего. Говорю с уверенностью тк перебрал кучу разных настроек с цветами.
🔻Вот видео по функционалу моих настроек, это я снимал еще на ВТБ брокере, но суть одна и та же.