DayTradingSchool
17 members
493 photos
173 links
Алготрейдинг в терминалах ТСЛаб, КВИК, МТ5
Download Telegram
to view and join the conversation
Вот такие полуавтоматы ребята делают для ручной торговли в ТСЛаб
Всем привет! 💹👇 Качаем 💪котировки тут: http://daytradingschool.ru/trejderu/skachat-kotirovki-istoricheskie-dannye-po-fyuchersam/
ГДЕ НАЙТИ СПРАВОЧНИКИ ПО QLUA? 🙋‍♂️

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

Для начала разберем структуру языка, чтобы знать, что именно и где именно нужно искать ответ.

КАКИЕ ЕСТЬ ИСТОЧНИКИ ИНФОРМАЦИИ ДЛЯ КВИК.
1. Прилагающаяся Документация по терминалу Quik.

Первое, где мы можем узнать о том, как работает сама программа КВИК и как в ней все можно настраивать, это открыть папку, в которую установлен терминал КВИК. В данной папке находим файл с именем «info.chm».

Запускаем данный файл и нам открывается справочник.

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

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

2. Прилагающаяся Документация по QLUA.

Вместе с обычной документацией по терминалу, в папке, где установлен КВИК, находится и нужная нам документация по QLUA. В папке КВИК находим файл с название «QLUA.chm».

Открываем файл. Это уже как раз то, что нам нужно!

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

ГДЕ ЖЕ НАЙТИ СПРАВОЧНИКИ ПО LUA?
Руководство по языку LUA нет в наборе с программой КВИК, поэтому искать его в папке с КВИКом не стоит. Но он там и не должен присутствовать, потому что разработчики программы не имеют отношения к созданию этого языка, они сделали только некий модуль для КВИК, расширяющий возможности пользователей терминала. Если попробовать покопаться в интернете, то руководство по LUA также можно найти. Язык LUA используется для написания многих программ, поэтому, если будете искать, то смотрите любые примеры на разных порталах, т.к. это не обязательно может быть связано именно с КВИКом. Единственное на что обращайте внимание, это то, что разработчики, которые делятся частью кода могут использовать в нем различные функции, которые сами разрабатывали, а без этих функций этот модуль кода может не запуститься, поэтому, если хотите применить этот код в своих разработках, то попросите у авторов используемые функции.

ПОСТАРАЕМСЯ ПОМОЧЬ НАЧИНАЮЩИМ!
На нашей сайте мы постараемся продолжить серию постов, рассказывающих о том, что такое LUA, что такое QLUA, как и что откуда брать, структуру и функции языка. Возможно даже поделимся некоторыми примерами, чтобы новичкам было проще!

ЗАКЛЮЧЕНИЕ.
Узнали, где искать справочник по работе с самой платформой QUIK.

Узнали, что в папке КВИК есть еще и описание по работе с QLUA.

Продолжение следует, следите за следующими постами, посвященными QUIK и QLUA.

Подробнее тут: http://daytradingschool.ru/gde-najti-spravochniki-po-qlua/
МЫ ПРЕДЛАГАЕМ ВАМ ДВА ВАРИАНТА РОБОТА-ПОМОЩНИКА
«CLOSE ALL BY TIME» — ЗАКРЫТИЕ ВСЕХ СДЕЛОК В УКАЗАННОЕ ВРЕМЯ ДЛЯ MT5
«Close All By Time» — закрывает любые открытые сделки в указанное в настройках времени. Данная функция очень нужна, если вы торгуете вручную и не хотите оставлять позиции на следующий день, чтобы не принимать риски утренних гепов или выхода новостей на выходных или ночью. Теперь вы можете открывать сделки, причем у вас могут параллельно на разных компьютерах установлены несколько терминалов на одном счету, вы также можете торговать с мобильного приложение Метатрейдер 5, но роботу-помощнику не важен источник сделок, он все равно закроет все открытые сделки в указанное время!

Если Вы хотите спокойно оставлять сделки и контролировать убытки — этот робот именно для Вас!

Робот разработан на языке MQL для терминала Metatrader 5 (МТ5).

ПЕРВЫЙ ВАРИАНТ РОБОТА- ПОМОЩНИКА

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

ВТОРОЙ ВАРИАНТ РОБОТА- ПОМОЩНИКА

Вы в настройках скрипта указываете просто время, когда надо закрывать все сделки. Данный скрипт будет вам в указанное время каждый день закрывать все открытые сделки. Т.е. после закрытия данный робот с графика не удаляется, а остается. Это необходимо для того, если вы не любите оставлять открытые сделки на следующий день, а времени не хватает, чтобы контролировать открытые позиции, то данный робот-помощник сделает работу за вас и закроет сделки. Источник открытия сделок его также не интересует, сделки могут быть открыты по любым инструментам, с любого устройства (со второго терминала на другом ПК или с мобильного приложения МТ5).

Подробнее тут: http://daytradingschool.ru/magazin-torgovyx-robotov-dlya-mt5/robot-pomoshhnik-close-all-by-time-dlya-mt5/
ОЖИДАНИЕ УСТАНОВКИ СОЕДИНЕНИЯ В LUA СКРИПТЕ ПРИ ЗАПУСКЕ КВИК 💻

Иногда при запуске скрипта необходимо, чтобы QUIK уже был соединён с сервером. Это достаточно легко обеспечить, запуская LUA скрипт уже после самого соединения.

Но что если, например, скрипт не был остановлен в предыдущий сеанс работы с Квиком и запускается вместе с ним при старте Квика? Ведь при старте Квика запуск скриптов производится раньше, чем соединение с сервером (даже с использованием любого автологина).

С этим может помочь добавление в скрипт проверки на наличие соединения QUIK с сервером брокера. Проверка эта будет производиться в цикле в начале функции main (ни в коем случае не в функции OnInit, иначе QUIK просто подвиснет, т.к. его поток будет занят этим циклом.

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

В цикле будем использовать функцию isConnected 👆🏻

Данная функция возвращает 1 в случае если QUIK подключён к серверу, и 0 если подключения нет.

ИТАК, ПРИСТУПИМ… 📝
В самом начале скрипта объявим переменные для используемых кодов инструмента SEC и его класса CLASS. А также вспомогательную переменную is_run.

Добавим функцию OnStop, которая вызывается Квиком при остановке скрипта из диалога управления и при закрытии терминала. В ней присвоим переменной is_run значение false. Это будет означать для проверок в дальнейшем коде факт того, что мы хотим остановить скрипт.

Каждую итерацию (повторение) цикла будет проверяться статус соединения, и также значение переменной-флага is_run (для отслеживания нажатия на кнопку остановки скрипта). В самом же теле цикла вставим паузу перед следующей проверкой соединения. 🤔

Если при очередной проверке функция isConnected вернёт 1, либо переменная is_run будет иметь значение false, произойдёт выход из этого цикла. Т.е. это случится только в двух случаях: если есть соединение с сервером и/или нажали на кнопку остановки скрипта.

После этого необходимо определить по какой причине вышли из цикла. Если было нажатие на кнопку остановки скрипта (или закрытия терминала QUIK), то ничего далее не выполняем, а просто выходим из функции main.

Далее идёт основной цикл скрипта с какими-либо своими функциями внутри, в котором скрипт будет продолжаться нужная работа, до того момента пока переменная is_run не станет равна false (по причине остановки скрипта с помощью нажатия на кнопку остановки или закрытия терминала, либо по какой-либо заранее указанной причине программистом в другом месте кода). 👨‍🎓

Подробнее читайте тут: 👉🏻 http://daytradingschool.ru/ozhidanie-ustanovki-soedineniya-v-lua-skripte-pri-zapuske-kvik/

Также в статье можно будет скачать готовый скрипт LUA 👍🏻🎁