Избранное трейдера Владимир

по

Qlua дополняем скрипт советника таймингом: устанавливаем время старта и завершения скрипта, фиксируем время получение сигналов.

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

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

Установим время старта работы скрипта,
Ставим тайминг на получение сигналов на вход,
Установим таймер на завершение скрипта.


Прежде всего начала сделаем
правильное отображение цифровых данных.

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

Qlua дополняем скрипт советника таймингом: устанавливаем время старта и завершения скрипта, фиксируем время получение сигналов.

Типы всегда можно посмотреть по функции AddColumn в файле QLUA (говорили об этом ранее) по запросу «Функции для работы с таблицами Рабочего места QUIK»:

Тип данных в колонке:

QTABLE_INT_TYPE – целое число,



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

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

Продолжаем изучение 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.


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

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 и совместной работе с кодом.



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

Где в открытом доступе можно качнуть цены закрытия дня по акциям на Мосбирже?

Доброго! Собственно такой вопрос:

«Где в открытом доступе можно качнуть цены закрытия дня по акциям на Мосбирже?»

А то у нас на смартлабе есть гребаные пробелы в данных, надо бы их заполнить:*(

Лень писать в поддержку биржи, — долго отвечают, может по-быстрику сориентируете знающие люди.


Как переводить юани в Interactive Brokers через Тиньков. Полный гайд на февраль 2023 года.


Как переводить юани в Interactive Brokers через Тиньков. Полный гайд на февраль 2023 года.

Как купить и перевести юани на свой счет в лучший доступный для россиян иностранный брокер Interactive Brokers? Используем банк и брокер Тиньков. В декабре я писал про доллары и Райфайзен, но у переводов в юанях есть свои плюсы.

Итак:

  1. Комиссия за покупку юаней 0.9% (или дешевле на некоторых тарифах). При этом, за покупку долларов Райф с вас возьмет целых 3%.
  2. Хранение юаней в банках РФ — бесплатное для любой суммы. Если вы не торопитесь, то есть депозиты и облигации в юанях (до 4% годовых). Хранение долларов на счетах бесплатно только до определенного порога.
  3. Комиссия за перевод юаней в IB — или 120 юаней, или бесплатно (в Тинькове на тарифе Премиум).


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

7 блогов про инвестиции в российские акции, на которые точно стоит подписаться!

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

№1
7 блогов про инвестиции в российские акции, на которые точно стоит подписаться!
😊Участник под странным логином "zzznth" пишет глубокие разборы по акциям, особенно глубоко копает именно сектор удобрений.
Очень полезный блог!

https://smart-lab.ru/my/zzznth/


№2
7 блогов про инвестиции в российские акции, на которые точно стоит подписаться!

😊"Точка Спокойствия". Оносительно недавно я его заметил. Интересный автор, который одновременно пишет интересные статьи по рынку и дает разборы компаний...
https://smart-lab.ru/my/Lovkach56rus/


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

Листинги ценных бумаг на Мосбирже или почему вы не не можете их найти

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

  Листинги ценных бумаг на Мосбирже или почему вы не не можете их найти Помоги Даше-следопыту найти акции из третьего уровня листинга на Московской Бирже

Например, возьму трёх брокеров, и посмотрю, сколько акций доступно на Мосбирже в общем списке. То есть, заходим в приложение, идём в раздел российских акций, листаем, считаем.

  • Тинькофф — 147 акций/расписок
  • ВТБ — 259 акций/расписок
  • Альфа — 127 акций/расписок


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

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