alfacentavra
alfacentavra личный блог
04 июля 2023, 17:08

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

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

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

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

За годы эксплуатации квика я уже привык к терминалу. И хотя много что можно настроить под себя и автоматизировать, это всё равно не привычка к чему-то хорошему. Скорее это как новые Жигули, вышедшие с конвейера, которые требуют доработки, настройки и тюнинга. Привыкнуть можно, но это точно далеко не продуманный во всех мелочах Mercedes или технологичная Tesla.

Установка торгового терминала.

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

Чаще всего установка идет либо через генерацию публичного pubring.txk и секретного ключа secring.txk (плюс пользователь придумывает логин и пароль на вход, первый ключ нужно через личный кабинет или почтой отправить брокеру для регистрации), либо через создание логина и пароля (и дополнительной идентификации, например, через смс или какой-то специальный дополнительный код). Следуя по инструкции, как правило, достаточно легко проходится этот квест. Для всех, кроме счастливых владельцев макбуков. Т.к. изначально Quik разрабатывался под Windows, то на маке его можно запустить только «с бубнами», на некоторых моделях только далеко не последней версии (т.е. у своего брокера нужно будет запросить ссылку на соответствующую версию терминала).

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

Если установка терминала прошла успешна, то мы можем подготовить терминал к будущей работе с нашими скриптами.

Подготовка терминала после установки.

После установки терминал активно мигает, напоминая фасады казино в Лас-Вегасе, призывая активнее и побыстрее окунуться в эту пучину адреналина и высоких убытков доходов. Поэтому я бы рекомендовал сделать интерфейс максимально нейтральным и спокойным, чтобы не поддаваться эмоциям.

Для начала убираем мчащий нас к успешному успеху куда-то на запад паровозик (картинки в углу):

Qlua: настраиваем торговый терминал и редактор кода.
По задумке разработчиков этот локомотив показывает есть ли у нас соединение с сервером брокера или нет. В нашем случае мы будем эту информацию и так видеть в таблице системных сообщений.

Меняем цветовые настройки.

В таблице текущих торгов нажимаем правую клавиши мыши выбираем «Редактировать таблицу» и выключаем Цветовые настройки (показывают в таблице цветом снижение или рост котировки):

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

Графики и биржевой стакан можно также привести к единому стилю (это уже по желанию). Для этого можно просто нажать на график, выбрать «Редактировать …» (альтернатива: горячие клавиши CTRL + E). Далее выбираем «Диаграмма» в самом начале списка и вторая вкладка сверху «Внешний вид»:

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

Можно поменять фон графика, цвет сетки и шрифта на спокойные и приятные лично для вас.

Аналогично с биржевым стаканом, клик на стакане правой клавишей, «Редактировать таблицу» (или CTRL + E), далее в пункте «Выделять котировки цветом» можно либо совсем отключить цвета, либо заменить стандартные на менее раздражающие:

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

Полученные настройки можно сохранить в шаблон. В случае графика: правый клик на графике > шаблон диаграммы > сделать шаблоном.

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

Далее сохраняем в новый шаблон и закрываем.

Чтобы изменения коснулись не одного графика, а отразились на всех повторяем вход в «Шаблон диаграммы», только теперь выбираем последний подпункт меню «Шаблоны…»:

Выбираем «Применить ко всем окнам» и «Брать по умолчанию». Теперь по вашему шаблону будут выглядеть все графики.

Аналогично проделываем с биржевыми стаканами – сохраняем в шаблоны (Шаблоны > Сохранить шаблон > Сохранить как новый) и если нужно применяем для всех вкладок (Шаблоны > Настроить шаблоны> Применить ко всем окнам и брать по умолчанию).

Вкладки.

Удобнее расположить вкладки сверху, чтобы было ближе к пунктам меню: не нужно будет постоянно прыгать мышкой вверх/вниз с вкладок на разделы меню и обратно. Для этого нажимаем на вкладках правой клавишей мыши, выбираем «Показать сверху».

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

Сохранение и загрузка настроек.

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

Нажимаем в меню «Система», выбираем «Сохранить настройки в файл».

Я рекомендую сохранять настройки хотя бы раз в неделю в отдельный файл с отметкой даты в названии. Так легче делать бэкапы, если что-то произошло (например, если случайно закрыли нужные таблицы и не можете быстро вспомнить как их создавали, либо не хочется заново делать их т.к. слишком долго). Загружаются настройки через меню «Система» > «Загрузить настройки из файла».

Чтобы терминал по умолчанию при открытии подтягивал конкретные настройки можно указать соответствующий файл в разделе Основных настроек: «Система» > «Настройки» > «Основные настройки» (или сразу F9 из терминала), Программа, Использовать файл настроек, Сохранить).

Окно сообщений.

Основные коммуникации скрипта с пользователем терминала идут через таблицу системных сообщений (если не считать создание собственных таблиц, запись в файлы и создание меток на графиках, к этому мы придем позже). Чтобы подключить это окно, если оно у вас не настроено, необходимо в меню выбрать Создать окно > Настроить меню.

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

Далее нужно найти Таблицу сообщений и добавить её в правую часть:

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

Нажимаем ОК. Теперь этот пункт будет доступен в меню в разделе Создать окно > Таблица сообщений. Выбираем нужную вкладку (для qlua лучше создать отдельную) и размещаем здесь данную таблицу сообщений.

Отключаем окно сообщений.

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

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

Мы на финишной прямой. Теперь осталось только в нашей вкладке добавить панель доступных скриптов: меню «Сервисы» > «Lua скрипты…». И расположить данную панель и таблицу системных сообщений одну относительно другой так, чтобы было удобно работать. Например так:

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

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

Скрипты в список панели загружаются через кнопку «Добавить». Там же можно неактуальный файл удалить. Здесь же скрипты запускаются и останавливаются (последнее можно предусмотреть и программно). В разделе «Ошибки выполнения скрипта» будут указаны ошибки в скрипте, если терминал не понял, что именно от него хотят или нашел ошибку.

После всех изменений сохраняем настройки и можно переходить к установке редактора кода.


Редактор кода
Notepad ++.

Можно на первых порах работу вести в обычном блокноте («Пуск» > «Стандартные Windows» > «Блокнот»), но лучше сразу установить профессиональный, с подсветкой кода.

Я бы порекомендовал Notepad++, это очень гибкий и быстрый редактор кода.

Например, если вы случайно закроете обычный блокнот, не сохранив в нем данные, то потеряете их навсегда. В случае Notepad++ эти данные автоматически откроются при перезапуске программы. Очень удобно.  

Настройка русского языка.

Изначально редактор будет на английском, если вы хотите «русифицировать» его, то необходимо выбрать в главном меню Settings > Preferences.
И здесь в разделе General поменять язык на русский:

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

Выбор синтаксиса языка и кодировки.

Далее находим в главном меню Синтаксисы и выбираем «L» > «Lua», чтобы у нас была соответствующая подсветка синтаксиса языка.

Чтобы правильно отображались русские буквы при выводе в торговом терминале необходимо выбрать кодировку Windows-1251. Это делается через соответствующий пункт главного меню: Кодировка:

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

Цветовые настройки.

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

Здесь, как и в случае с настройками терминала, также лучше проявлять меру и выбирать комфортные для себя, нераздражающие сочетания цветов. В меню выбираем «Опции» > «Определение стилей». Далее выбираем язык Lua и задаем стиль для соответствующей категории.

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

Редактор содержит в себе много полезного. Какие-то опции и горячие клавиши мы рассмотрим позже далее при написании кода.

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

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

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

Эту же опцию можно включить, если нажать правой клавишей мышки на активной вкладке, далее «Управление вкладкой» > «Дублировать в другой области».

Если необходимо можно также включить синхронизацию вертикальной прокрутки (при прокручивании на N строк в одном окне аналогично прокрутится содержимое во втором на те же N строк):

Qlua: настраиваем торговый терминал и редактор кода.
Аналогичным образом эта опция отключается.  

Запуск первого скрипта.

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

В редакторе кода вводим простую команду:

message(«Всё ok»)

Сохраняем файл в выбранной директории, проверяем, что файл с расширением *.lua.

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

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

Выделяем скрипт, нажимаем «Запустить».

Если ничего не произошло, а в поле «Ошибки выполнения скрипта» появилась надпись: attempt to call a nil value (global 'Message'), значит вы ввели Message() с большой буквы.

Дело в том, что lua регистрочувствительный (зависимый от регистра) язык, т.е. A = 1 и a = 3 это две разные переменные для него. Тоже самое с функциями: message() – стандартная для qlua функция, а Message() язык не знает и мы в скрипте эту функцию не определили, поэтому терминал и ругается.

Замените заглавную букву на маленькую, сохраните и запустите скрипт в терминале повторно.

Если у вас терминал вывел часть сообщения иероглифами:
Qlua: настраиваем торговый терминал и редактор кода.

значит вы не выбрали нужную кодировку.

Возвращаемся в Notepad++, выбираем в кодировках Кириллицу Windows-1251, при этом русские буквы в редакторе тут же поменяются на то, что выдал терминал:
Qlua: настраиваем торговый терминал и редактор кода.

Нужно будет перебить их:

Qlua: настраиваем торговый терминал и редактор кода.
Сохраняемся (иконка вкладки поменяет цвет с красной на синию) и перезапускаем скрипт в терминале:

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

Поздравляю! Вы успешно запустили свой первый скрипт на qlua!

Теперь вы уже не просто пользователь терминала, а программист!) Пусть и самого начального уровня)

Если у вас сразу всё получилось, значит вы очень внимательно выполняли все пункты инструкции и ваши шансы на успех в написании скриптов будут выше! Если нет, то значит вам нужно быть внимательнее впредь, чтобы поменьше тратить времени на поиски мелких неточностей и ошибок в коде.


В следующей статье мы рассмотрим основы языка и уже начнем писать первые собственные примеры.


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

Предыдущая статья:
QLua: введение

Телеграм канала нет, ютуб канала нет, роботов не продаю.
Теги: qlua для начинающих, кружок авиамоделизма.

 

21 Комментарий
  • Beach Bunny
    04 июля 2023, 19:20
    Ты так и через год не закончишь.
    Когда вам надоесть читать сии длинные опусы, можете посмотреть кучу готового кода на Qlua => github.com/nick-nh/qlua
    Это не мое, там очень много всего, хорошо написано, но ошибки местами есть.
    Куча индикаторов, примеры роботов, сканеров и прочего.
  • Через 2-3 года это дрочево никто уже не будет использовать, только самые упоротые сектанты.
    • Кирилл Гудков
      05 июля 2023, 09:47
      Алексей Мананников, и что же будут использовать перспективные провидцы будущего?
    • GOLD
      05 июля 2023, 11:43
      Алексей Мананников, торговый терминал — это сложное программное обеспечение, предназначенное для людей, профессионально занимающихся трейдингом.

      Для обычных частных инвесторов придуманы мобильные приложения с упрощенным интерфейсом, протестированном на группе шимпанзе из воронежского зоопарка.
  • bohemian rhapsody
    05 июля 2023, 19:42
    Да хоть 700 пядей во лбу будет у программиста и он напишет самый лучший в мире бот. Без торговых идеи и стратегии, приносящих прибыль, грош им цена.

    Программист в трейдинге — это простой инструмент, подобный молотку или отвертке. А не курица с золотыми яйцами.
      • bohemian rhapsody
        06 июля 2023, 14:08
        alfacentavra, Татарин руками торгует, без qlua. Не надо ставить карету впереди лошади. Начните лучше со стратегии.
          • bohemian rhapsody
            06 июля 2023, 14:58
            alfacentavra, так почему же вы ее еще в код не перевели и не побеждаете в ЛЧИ? 
  • PanStepan
    13 сентября 2023, 04:32

    alfacentavra, здравствуйте. Notepade установил, кодировку поменял. При попытке запуска скрипта выдает ошибку:

    Syntax error while compiling C:\Qlua\ok.lua: C:\Qlua\ok.lua:1: unexpected symbol near '<\171>'

    В чем проблема?

      • PanStepan
        30 сентября 2023, 19:24
        alfacentavra, уже разобрался. Проблема была в том, что я копировал текст «Всё ok» со смартлаба, а компилятор ругается на скопированные кавычки. Заменил их, и всё заработало. Спасибо за Ваш труд!
  • SpSound
    25 сентября 2023, 22:43
    Авто заразил рвением изучать кодировку Lua. Забил на банальный рутинный слив депозита и начал ковыряться по представленным методичкам. Действительно на команду  «message» терминал матерится выдаваемой ошибкой постом выше, а вот если задать тоже самое только через команду print(), то ок. 
  • 100 ik
    11 февраля 2024, 19:27
  • *ложный процент
    02 июня 2024, 20:45
    Содержание этого поста мне отчасти знакомо, и в дальнейшем я буду этим материалом пользоваться как справочником.
    Но польза уже есть! Я не стал пренебрегать Вашим советом по созданию резервных копий ключей и настроек. Сделано! Спасибо!
    Пытаюсь загрузить Notepad++. Пока не грузится. Попробую позже.
  • *ложный процент
    02 июня 2024, 21:08
    Notepad++ загрузился. Ура!
    Какая-то последняя версия, и там язык выбирается уже при установке.
    Спасибо! Буду разбираться.
    Всех благ!
  • *ложный процент
    02 июня 2024, 21:51
    «Все ok»
    И это получилось!!!
    Спасибо!

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн