Робот для QUIK "Робот Сетка"
(LUA)
Презентация
Установка
Настройка
Ответы на частые вопросы
История изменений
Технические требования
Техническая поддержка PMN Trade
Торговый робот с огромным количеством
возможностей. Позволяет работать с любыми индикаторами
(штатными и пользовательскими). Поддерживает стоп-лосс и
тейк-профит, пользовательские условия и паттерны,
фронтранниг и множество других возможностей. Позволяет
реализовывать большинство механических торговых систем от
простых до сложных (сеточных, арбитражных, хеджирующих).
Видео (рекомендуется):
"Робот Сетка" (LUA).
Установка.
Шаг 1. Демо-счёт.
👉 Перед использованием на
реальном счёте, рекомендуется использовать демо-счёт. Это
необходимо во избежание ошибок при настройке торговых
систем.
👉 Заявка на доступ к демо-счёту
ARQA:
https://arqatech.com/ru/support/demo/. В течение рабочих
суток, на указанную эл. почту, придут логин и пароль для
входа.
👉 Ссылка для скачивания
терминала:
https://arqatech.com/ru/support/files/.
✅ Доступна торговля
акциями в выходные и праздничные дни.
✅ Доступна торговля
акциями, облигациями, фьючерсами, опционами.
✅ Доступна последняя
версия терминала.
❎ Движение цен инструментов отличается от реального
счёта в сторону увеличения размаха минутных свечей.
Результаты торговли на демо-счёте не будут повторятся на
реальном счёте.
❎ История котировок только за текущий день.
❎ Цены опционов не зависят от теоретической цены и
могут сильно отличаться от справедливых.
❎ Некоторые данные поступают неверно. Например,
параметр «Срок расчётов» равен «T0»,
вместо «T2».
Шаг 2. Установка.
1.
После скачивания
(кнопка "Скачать" на странице программы),
зайдите в архив Робот Сетка (LUA).zip. Перед установкой,
рекомендуется временно отключить антивирусную программу.
Запустите дистрибутив программы «Робот Сетка (LUA).exe»
(QUIK закрывать не обязательно) - нажмите «Принять».
2.
Укажите «Папку назначения»,
выбрав папку
c
QUIK кнопкой «Обзор» (если путь не известен:
пр.кн.мыши на значке программы QUIK (внизу)-пр.кн.мыши на
названии программы QUIK-Свойства-Расположение
файла-откроется Проводник-лев.кн.мыши на пути (вверху) для
выделения-пр.кн.мыши-Копировать-на поле установщика выделить
старый путь-пр.кн.мыши-Вставить).
3.
После успешной установки
откроется папка «lua»,
где Вы увидите папку программы «Робот Сетка».
Шаг 3. Подготовка
QUIK.
Желательно использовать версию QUIK 9.7
и выше.
1.
Необходимо разрешить
получение данных:
QUIK: Система-Настройки-Программа-Получение
данных-Котировки-"умным" заказом данных-Да.
2.
Рекомендуется
отключить сообщения: Система-Настройки-Основные
настройки…-Сообщения-убрать галочку "Обычные", "Ошибки
транзакций".
3.
Рекомендуется
включить проверку скорости соединения:
Система-Соединения…-установить галочку Проверять связь с
сервером каждые…
4.
Загрузка вкладки
Робот Сетка. Пр.кн.мыши на названии любой вкладки
QUIK-Загрузить вкладку из файла-переходим в папку
[QUIK]\lua\Робот Сетка-выбираем файл вкладки Робот Сетка.tab-Открыть. Важными для робота на вкладке являются
таблица Текущие торги с используемым инструментом и
необходимыми столбцами, график с идентификаторами и таблица
робота, остальные таблицы можно удалить при необходимости.
5.
Замена инструмента.
Пр.кн.мыши на таблице Текущие торги - Редактировать
таблицу – выбираем инструмент – Добавить – Да. Теперь можно
воспользоваться привязкой инструмента (якорем справа
вверху), чтобы заменить инструмент на диаграмме.
Шаг 4. Загрузка робота в
QUIK.
1.
В QUIK переходим: Сервисы-Lua
скрипты...-Добавить-переходим в папку [QUIK]\lua\Робот
Сетка-выбираем файл скрипта Робот Сетка.luaс и нажимаем
"Открыть".
2.
В панели выбора скрипта
"Доступные скрипты" выбираем скрипт "Робот Сетка.luac".
В новых версиях, справа кнопки "Запустить" выбираем
"Запустить в
LUA
5.3.5". Если скрипт загрузился успешно, напротив слева
появится зелёный треугольник слева и загрузятся таблицы
«Робот Сетка» и «Робот Сетка. История позиций».
3.
Сохраняем настройки
QUIK-Система-Сохранить настройки в файл...-Сохранить.
Желательно перезапустить QUIK для сохранения скрипта в
запущенном виде.
Вся информация о
пользовательских параметрах находится в окне настроек.
Как
обезопасить счёт от бесконтрольной торговли роботом?
Чтобы робот не мог купить / продать
лишнего, можно ограничить свободные средства / ГО до
необходимого роботу, путём выставления лимитной заявки на
недостижимом расстоянии от текущей цены на любом
инструменте. Такой способ предотвратит совершение лишних
сделок роботом.
Можно ли
оплатить картой Сбербанк прямым переводом и уменьшить
комиссию?
Можно, и не только картой.
Свяжитесь и
оплатите удобным способом.
Можно ли
рассчитывать на техническую поддержку?
Да, я разработчик и решу вопрос с
вероятностью до 100%. Первый час бесплатно, далее согласно
тарифу платной поддержки.
Будет ли
работать робот на новых версиях QUIK?
Да, робот будет работать. Чем новее
терминал, тем стабильнее работа.
Почему при попытке скачивания или
установки выводятся предупреждения
Windows или антивирусной
программы?
Это логично, т.к. файл скачан из
сети Интернет. Если установщик блокируется, отключите
антивирусную программу, при необходимости, перезапустите
компьютер, скачайте архив заново и попытайтесь установить
заново. Если и это не помогло, см. ниже "Можно ли получить
архив скрипта без файла .exe".
Можно ли получить архив скрипта без
файла .exe?
Все дистрибутивы программ
PMN Trade упакованы в обычный
самораспаковывающийся архив RAR. Установите архиватор
RAR, нажмите пр.кн.мыши, пр.кн.мыши на файле
дистрибутива-Открыть в WinRAR. Затем нужно скопировать
содержимое в папку с QUIK. Папку с QUIK можно найти в
Система-Сохранить настройки в файл.
Можно ли
запустить несколько копий скрипта?
Нужно сделать копию папки скрипта с
другим названием в папке lua и заменить название файла
скрипта. Затем запустить созданную копию.
20200518 – Начало разработки.
20210204 –
Выход первой версии.
20210305 – Исправлены некоторые критические ошибки
приводимые к отсутствию связи с утилитой История позиций.
20210216 – Возможность установки в любую папку, ранее можно
было устанавливать только в папку терминала QUIK.
20210308 – Исправлена
работа паттерна "profit.all".
20210309 – Исправлена
вкладка для корректной работы с "умным" заказом данных.
20210310 – Исправлено. Условия закрытия конфликтовали с
фильтром мин./макс. цены для выставления заявок.
20210310 – Исправлено. При удалении привязанного индикатора,
программа завершалась с ошибкой.
20210310 – Добавлено. Версия QUIK и описание сервера в
приветственном сообщении.
20210311 – История позиций. Исправлено. Файлы
EXCEL не открывались кнопками в
новых версиях MS EXCEL.
20210315 – Исправлено. При получении данных новой сессии, в
терминалах некоторых брокеров, робот переходил в режим
остановки из-за отсутствия данных по инструменту и выставлял
дубли заявок.
20210315 – Исправлено. Ошибка «Неверно указан защитный
интервал take profit стоп-заявки» не позволяла использовать
условные тейк-профит заявки на срочном рынке.
20210318 – Добавлено. Возможность тестирования без вывода
торговли в реальный рынок путём добавления в конец
комментария паттерна "TEST", н-р "b1TEST". См. параметр
"Комментарий для заявок".
20210319 – Исправлено. Не работал фильтр
"Условие тейк-профит".
20210319 – Исправлено. При указании
дробного "Количество входа в позицию",
н-р, 1.1 заявки постоянно снимались и
выставлялись заново. Теперь действует
округление до ближайшего целого: 1.1->1,
1.6->2.
20210319 – Исправлено. При указании проскальзывания не в
процентах происходила критическая ошибка.
20210329 – Добавлено. Лимитные заявки на срочном рынке
теперь переносятся через клиринг до экспирации, включая
случаи, когда робот отключён. Данная возможность доступна не
у всех брокеров.
20210329 – Добавлено. Класс инструментов Валютные торги OTC
(код AFXCURR1, для совершения сделок от 1 лота по USDRUB_TOM
и EURRUB_TOM) теперь доступен для торговли роботом. Данный
класс доступен не у всех брокеров. Протестировано только у
брокера «Открытие».
20210329 – Добавлена возможность указывать минимальную
комиссию брокера в программе История позиций.
20210402 – Исправлено. На некоторых серверах брокеров была
ошибка транзакции, связанная с переносом заявок.
20210412 – Исправлено. Патч для брокера Сбербанк не работал,
т.к. изменилось название брокера на серверах.
20210414 – Изменено. В связи с большим количеством
параметров, параметры: last, bid, ask, theorprice,
volatility теперь вызываются с префиксом «q.»
и содержат заглавные буквы, например,
q.Bid. Прежний способ вызова
недоступен.
20210414 – Изменено. В связи с большим количеством
параметров, увеличены размеры области описания параметров.
20210415 – Добавлено. Значительно расширен список параметров
из QUIK: q.MinValue – минимальный объём для текущего
инструмента, для опционов страйк; q.WaPositionPrice – цена
открытия позиции из QUIK; q.HoldDepo - заблокировано по
инструменту; q.RemainDepo - сумма ден. остатков по счёту и
др.
20210416 – Исправлено. На графике Истории позиций не
отображались метки закрытых позиций.
20210417 – Добавлено. Доступна целая группа математических
функций.
20210429 – Добавлено. Функция для запоминания глобальных
переменных math.mem(имя;значение;усл.сохр.;усл.удал.).
Вложения функций не поддерживается.
Примеры:
Безубыток:
math.mem(безубыток500;profit.all<=0;profit.all>=500;value.all=0)
– параметр Условие закрытия. Если общая прибыль робота
достигла 500 рублей, включить условие закрытия
profit.all<=0. Робот закроет все позиции при возврате
прибыли к нулю, т.е. безубыток при достижении общей прибыли
500 рублей.
Трейлинг-стоп покупки:
math.memmax(b1трейлинг20;q.Last-0.2;value.b1>0;value.b1=0)
– параметр Цена Стоп-лосс. Цена стоп-лосс будет установлена
на 20 пунктов цены ниже максимальной последней цены с
момента появления объёма в позиции b1 и будет двигаться
вслед за максимальной ценой Last.
Трейлинг-стоп продажи:
math.memmin(s1трейлинг20;q.Last+0.2;value.s1>0;value.s1=0)
– параметр Цена Стоп-лосс. Цена стоп-лосс будет установлена
на 20 пунктов цены выше минимальной последней цены с момента
появления объёма в позиции s1 и будет двигаться вслед за
минимальной ценой Last.
20210525 – Добавлено. Возможность переставлять заявки и
стоп-заявки в ручном режиме. Параметр Ручное редактирование
заявок. "000" - не использовать. Возможность ручного
редактирования заявок: входа, стоп-лосс и тейк-профит.
Внимание, при включенной опции, заявки будут выставлены на
начальных уровнях и не будут переставляться роботом! Опция
удобна в случаях, когда нужно, чтобы робот выставил заявки,
а далее, трейдер мог перетаскивать заявки на графике и
изменять количества. Н-р: "111" - включено редактирование
заявок: входа, стоп-лосс и тейк-профит. "100" - включено
редактирование только заявок входа. "110" - включено
редактирование только заявок входа и стоп-лосс. Если
значения в списке одинаковые, можно указать один раз.
20210527 – Исправлено. В связи с конфликтом с различными
функциями робота, полностью переделан код Режима Ассистента.
20210528 – Исправлено. Очередная попытка исправить ошибку
перестановки стоп-заявок брокера Сбербанк.
20210620 – Исправлено. Ошибка ACCESS_VIOLATION, возникала
при запуске программы История позиций в оболочке Windows 10.
Однако, при большом количестве открытых и закрытых позиций,
ошибка иногда возникает. Необходима интеграция программы
«История позиций» в среду робота. Данная работа будет
проведена до конца года.
20210807 – Улучшено. При допущении ошибки в параметре
«Настройка столбцов», происходила ошибка программы,
устранить которую можно было только, если найти вручную
папку скрипта и удалить файл настроек, а затем запустить
снова. Теперь, в случае неверно заданного параметра, робот
сам заменяет строчку на значение по умолчанию.
20210808 – Исправлено. Параметр «Условие закрытия 1» работал
некорректно. Если хоть одно условие закрытие, на каком-либо
уровне исполнялось, то закрывались все позиции робота.
20210821 – Добавлено. Возможность указания «отступ от
min/max» для условных тейк-профит заявок. Указывается в
параметре «Проскальзывание стоп-заявок» через нижнее
подчёркивание. Н-р, «0.10_0.5» - проскальзывание 10 пт.,
отступ 50 пт.; «0.1%_0.5%» - проскальзывание 0.1%, отступ
0.5%.
20210821 – Добавлено. Возможность редактирования цветовых
настроек таблиц скриптов в файле colors.ini, который
находится в папке скрипта.
20210903 – Исправлено. После 1-го сентября скрипты перестали
работать из-за неверно указанной даты ограничения.
20210903 – Улучшено. Сделана возможность работы на разных
версиях LUA. Поддержка
LUA 5.4 ещё не завершена.
20210915 – Добавлено. Доступны новые паттерны из Истории
позиций:
value.all - общий объём открытых позиций;
openpriceavg.all - средняя цена открытых позиций.
20210921 – Улучшено. Проведена интеграция скрипта История
позиций в скрипт робота. Теперь нет необходимости
устанавливать отдельно утилиту Историю позиций, а ошибка
ACCESS_VIOLATION в Windows 10
больше не возникает.
20211003 – Улучшение. Добавлен параметр "Блокирование заявок
в рынке". "0" - не использовать. "1" - использовать.
Блокирование заявок в рынке приведёт к запрету выставления
заявок, которые немедленно приведут к сделкам. Н-р, при
сетке покупок из уровней 99,98,97 и последней цене 98.5:
"1" - будут выставлены заявки по 98,97,
заявка по 99 будет заблокирована до приближения цены.
"0" - будут выставлены заявки по 99,98,97, заявка по 99
исполнится немедленно.
20211005 – Добавлено. Вывод предупреждения о неэффективных
транзакциях. При достижении 2000 транзакций по фьючерсам
возможен штраф. Подробнее:
https://www.moex.com/a3825 (Сбор за неэффективные
транзакции).
20211006 – Добавлено. Доступен новый параметр:
q.TranSumFutures – Количество неэффективных транзакций по
фьючерсам МБ. Параметр необходим для остановки робота при
достижении порога 2000 транзакций по фьючерсам. Например,
"Условие входа 1" = " q.TranSumFutures<2000", заявки входа
будут выставляться пока количество транзакций по фьючерсам
МБ меньше 2000.
20211007 – Исправлено. Шаблоны торговых систем, загруженные
из папки Стратегии приводили к ошибкам робота.
20211008 – Добавлено. Доступны паттерны для опционов:
delta.all – дельта всех опционных контрактов робота;
gamma.all – гамма всех опционных контрактов робота.
20211009 – Улучшено. При закрытой сессии, «Последняя цена»
акций выводилась нулевой. История позиций не рассчитывала
прибыль. Теперь, в таком случае, используется «Цена
закрытия».
20211010 – Исправлено. Счёт депо для Санкт-Петербургской
биржи не определялся автоматически.
20211011 – Улучшено. Таблицы робота теперь автоматически
привязываются к текущей вкладке. Параметр "Привязанная
вкладка" больше не нужен и удалён.
20211016 – Исправлено. При использовании режима TEST,
неверно рассчитывалась комиссия для некоторых инструментов
срочного рынка.
20211019 – Улучшено. Исправлено. Обнаружены и устранены
некоторые мелкие ошибки функций math.mem, например, не
обрабатывался знак "=" в условиях записи и чтения
переменной.
20211021 – Исправлено. При использовании режима TEST, в
некоторых случаях бесконтрольно увеличивалось количество по
инструменту.
20211022 – Исправлено. При использовании режима Ассистента,
при указанном фронтраннинге, снималась выставленная заявка,
если не было фронтраннинг объёма в стакане. Теперь заявка
остаётся на том же месте, где был необходимый объём.
20211023 – Исправлено. Знак неравенства «~=» не
обрабатывался в условиях.
20211027 – Исправлено. Иногда, при использовании
фронтраннинга, возникала ошибка, приводящая к остановке
робота.
20211029 – Исправлено. Возникала ошибка в окне настройки
Истории позиций, при вызове описания пользовательской
переменной (нажатие на знак вопроса).
20211101 – Добавлено. В папке [QUIK]\lua\Робот
Сетка\Стратегии доступны новые стратегии с описаниями:
«Канал Цены», «Ассистент», «Арбитраж Лимит».
20211104 – Исправлено. Для расчёта объёма и прибыли в рублях
на СПБ бирже, в первые секунды торгов иногда недоступна
котировка курса валюты инструмента, например, "CETS",
"USD000UTSTOM", как запасной вариант, теперь используется
"CROSSRATE", "USD".
20211105 - Исправлено. Определение кода инструмента из
графика не поддерживалось для названий инструментов с
некоторыми символами, например, "1-800-FLOWERS.COM, Inc.
ClassA".
20211106 - Добавлено. В папке Стратегии доступен пример
торговой системы "Мувинг".
20211107 – Исправлено. Во время аукциона закрытия (ЦАЗ) на
рынке акций МБ, были попытки робота выставить заявки вне
цены аукциона, что приводило к ошибкам выставления.
20211108 – Улучшено. Организовано редактирование настроек в
MS EXCEL. Внимание! Файл настроек теперь имеет
расширение csv.
20211109 – Улучшено. Организовано автоматическое
конвертирование файлов настроек из txt в csv (MS EXCEL).
20211110 – Исправлено. Разделитель формул заменён с
символа ";" на "&", т.к. символ ";" теперь является
разделителем параметров в файле csv (MS EXCEL).
20211111 – Улучшено. Добавлено описание работы с настройками
в MS EXCEL прямо в файле настроек csv.
20211112 – Улучшено. При работе с настройками в MS EXCEL
налажена синхронизация отображения параметров в реальном
времени с окном настроек.
20211113 – Улучшено. Добавлена возможность открытия настроек
в EXCEL путём двойного клика на кнопку
[НАСТРОЙКИ] на таблице скрипта.
20211114 – Исправлено. В папке Стратегии заменены файлы
настроек на формат csv (MS EXCEL).
20211122 – Улучшено. При сохранении настроек, автоматически
сохраняется резервная копия файла csv в папку settings.
20211125 – Улучшено. Файлы Истории позиций перемещены в
папку history. Внимание! Если использовалась
предыдущая версия робота, необходимо самостоятельно
переместить файлы Истории позиций в папку history.
Список файлов: ЗакрытыеПозиции.csv, Заявки.csv,
ОткрытыеПозиции.csv, Сделки.csv, Статистика.csv,
Стоп-заявки.csv, УдалённыеПозиции.csv.
20211216 – Исправлено. При указании параметра Блокирование
заявок в рынке = 1 и Стоп-лосс = 0, уровни с заявками,
которые находились в цене хуже рынка, исполнялись по
рыночным ценам (Блокирование заявок в рынке не выполняло
свою функцию).
20211217 – Добавлено. Доступны новые паттерны:
profitwin.all - общая прибыль всех открытых прибыльных
позиций робота;
profitloss.all - общая прибыль всех открытых убыточных
позиций робота;
percent.комментарий – прибыль открытой позиции в процентах;
closepercent.комментарий – прибыль последней закрытой
позиции в процентах.
20211223 – Исправлено. При указании параметра Блокирование
заявок в рынке = 1 не выполняло свою функцию при отсутствии
цены предложения или спроса (например, цена может нулевой
ошибочно, при переподключении QUIK к серверу).
20220105 – Исправлено. Возникала ошибка в строке 8340,
приводившая к остановке робота.
20220106 – Исправлено. Автоматическое определение
инструмента не работало, если привязать к графику параметра,
например, "Теор. цена".
20220107 – Исправлено. Были обнаружены и исправлены
нарушения обработки списка параметров, при определённом
указании порядка. Например, ",1,,,,", "1" присваивался не
2-му, а 3-му комментарию в списке.
20220108 – Добавлено. Доступен новый паттерн из Таблицы
торгов:
q.PrevPrice - Цена закрытия предыдущего дня (для фондовой и
валютной секции).
q.CanBuy - Количество лотов или контрактов доступных для
покупки.
q.CanSell - Количество лотов или контрактов доступных для
продажи.
20220110 – Добавлено. Доступны новые параметры в настройках:
Количество стоп-лосс;
Количество тейк-профит.
Количество лотов или контрактов закрытия позиции. Н-р
"3,2,1,1,2,3".
"0" - выставлять полное количество для закрытия позиции.
Например, если указать "1", при указанном количестве входа
"3" лота,
будет выставлен "1" лот для закрытия позиции, после
исполнения,
количество открытой позиции будет равно "2".
Можно использовать для частичного закрытия позиций,
например, для частичного закрытия хеджирующей части
арбитражных систем.
Поддерживаются паттерны и выражения. Н-р,
"quantity.s1" - берётся количество открытой позиции с
комментарием s1.
"closequantity.s1" - берётся количество последней закрытой
позиции с комментарием s1.
Если значения в списке одинаковые, можно указать один раз.
20220111 – Улучшено. При указании большого периода расчёта
скрипта, актуальные данные в таблице были доступны только
при следующем расчёте. Теперь данные обновляются сразу после
нажатия кнопки "Сохранить" в окне настроек, а также при
нажатии на любую ячейку таблицы робота или Истории позиций.
20220112 - Исправлено. При запуске QUIK и использовании
нескольких копий робота, окна скрипта размещались не на
своих вкладках.
20220113 – Исправлено. При нажатии кнопки "Очистка" в
настройках Истории позиций робота, история очищалась, но,
при перезапуске робота, подхватывались сделки текущего дня.
20220116 – Улучшено. Алгоритм фронтраннига теперь правильно
работает с сеткой. Ранее, своё количество в стакане
котировок другого уровня или сетки воспринималось чужим.
20220117 – Улучшено. Алгоритм фронтраннига теперь позволяет
выставлять заявку по первоначальной цене, если указанного
чужого количества нет в стакане котировок. Для этого нужно
указазать Количество фронтраннига с паттерном "f" вначале,
например, "f1".
20220118 – Улучшено. Сообщения об ошибках транзакций теперь
записываются в файл лога.
20220119 – Улучшено. Расширены min/max цены для некоторых
инструментов.
20220120 – Улучшено. Ускорено ожидание вывода окна
сообщений.
20220125 – Исправлено. Ошибочный ввод условия в виде "0>2>1"
приводил к ошибке робота, исправление которой было возможно
только при ручном удалении или исправлении файла настроек.
20220127 – Исправлено. Заявка стоп-лосс не выставлялась,
если параметр "Количество стоп-лосс" = 0 (не использовался).
20220128 – Исправлено. Если в настройках скрипта была
указана привязанная вкладка, которой не было в QUIK, таблицы
робота и Истории позиций не отображались.
20220202 – Добавлено. Теперь доступен параметр "Функции", в
котором можно указывать функции, любые значения и
паттерны. Наличие этого параметра позволяет
- вызывать функции внутри функций;
- ускорять работу однократным вызовом, там, где это
возможно;
- безопасно тестировать разные выражения и паттерны не
нарушая работу робота.
Н-р "Функции" =
"math.memmax(b1mamax&ma&value.b1>0&value.b1=0)" означает,
что с момента открытия позиции "b1" (value.b1>0),
будет выводится максимальное значение индикатора "ma".
Когда позиция будет закрыта значение обнулится.
Вызов значения можно осуществлять в любом поле настроек,
н-р "Условие закрытия 1 = mem.b1mamax > 300".
Функции значительно расширяют возможности робота.
ДОСТУПНЫЕ ФУНКЦИИ.
math.mem(имя&значение&условие_сохранения&условие_удаления)
Сохраняет "значение" в переменную с именем "имя",
пока действует "условие_сохранения".
Когда действует "условие_удаления", значение обнуляется,
в полях цен становится недоступным (н-р, заявки не
выставляются),
в условиях переходит в состояние невыполнения.
Параметр функции "условие_удаления" имеет приоритет над
параметром "условие_сохранения".
Параметр "имя" должен быть уникален для каждого значения.
Параметр "значение" может быть числом, выражением или
условием.
Поддерживаются все доступные паттерны.
Внутренний вызов функций не поддерживается,
н-р,
"math.memmax(b1mamax&math.min(ma&0)&value.b1>0&value.b1=0)",
указывать нельзя из-за наличия функции "math.min".
Несколько функций для одного комментария
можно указывать через разделитель " and ", н-р,
"math.memmax(b1mamax&ma&value.b1>0&value.b1=0) and
math.memmin(s1mamin&ma&value.s1>0&value.s1=0)".
Быстрый вызов значения функции осуществляется паттерном
"mem.имя"
в любом текущем или последующем комментарии, н-р,
"mem.b1mamax".
В некоторых случаях можно ускорить работу,
если одинаковое значение используется в разных комментариях,
н-р, указать функцию с формулами в первом комментарии,
а получать значение можно быстрым вызовом.
math.memmax(имя&значение&условие_сохранения&условие_удаления)
Аналогично "math.mem", отличие в сохранении максимального
значения.
math.memmin(имя&значение&условие_сохранения&условие_удаления)
Аналогично "math.mem", отличие в сохранении минимального
значения.
Параметр "Функции" можно использовать для тестирования
любых выражений, переменных и условий, т.к. результат
не влияет на работу робота.
20220204 - Улучшено. Добавлена пауза в расчёте между
обработкой комментариев. Пауза составляет 1/10 периода
расчёта. Данное улучшение может избежать ошибок QUIK
(неожиданный выход из терминала с ошибкой или без).
20220205 - Улучшено. Если указать комментарий с пробелом в
предыдущих версиях, История позиций не видела позиции робота
и робот выставлял одну и ту же заявку, пока не заканчивались
лимиты денежных средств.
20220226 - Исправлено. Неверно рассчитывалась прибыль для
некоторых инструментов на валютной секции Московской биржи.
20220325 - В работе. Добавление возможности лицензирования.
20220415 - В работе. Добавление возможности лицензирования.
20220623 - Добавлено. Добавлена возможность лицензирования и
приобретения программы. Появился новый пользовательский
параметр "Код лицензии". Код необходим для работы на
реальном счёте (для демо счёта ARQA код не требуется).
Лицензия распространяется на один брокерский счёт. 1.
Оплатите лицензию на странице программы. 2. Запустите робот
на терминале с реальным счётом. 3. Удалите код в параметре
"Код лицензии", если он указан. 4. Появится сообщение с
данными для отправки 5. Отправьте данные удобным способом
(эл. почта, WhatsApp, Telegram) с
отметкой об оплате 5. В ответном сообщении получите код
лицензии. 6. Введите полученный код в поле "Код лицензии" и
сохраните настройки. После можно начать работу нажав кнопку
[СТАРТ].
20220624 - Добавлено. В архив, вместе с дистрибутивом,
добавлен файл обновления робота: "Робот Сетка (LUA)
обновление.exe". Данный файл позволяет обновлять несколько
копий робота с разными названиями. 1. Запустите файл "Робот
Сетка (LUA) обновление.exe". 2. Укажите путь к папке робота,
например: "[QUIK]\lua\Робот Сетка". 3. Для копий робота
процедуру нужно провести аналогично. 4. Если робот запущен,
остановите и запустите его снова в QUIK-Сервисы-LUA
скрипты...-Доступные скрипты.
20220627 - Исправлено. При начале новой сессии и изменении
некоторых настроек, сбивалось определение лицензии и робот
приходилось перезапускать в таблице "Доступные скрипты".
20220627 - Исправлено. Автоматическое определение кода
опциона не определяло опционы пятой недели ("E").
20220630 - Добавлено. Паттерн profitclose.all – общая
прибыль всех закрытых позиций робота.
20220701 - Добавлено. balance.комментарий – баланс (продажа
со знаком "-") открытой позиции с указанным комментарием.
20220701 - Изменено. quantity.комментарий – количество
(модуль) открытой позиции с указанным комментарием. Ранее,
этот патерн отображал баланс (+/-).
20220701 - Исправлено. В столбце "Функции" не отображался
результат.
20220701 - Исправлено. Паттерн openpriceavg.all неверно
рассчитывался, если количество лотов в позициях больше 1.
20220701 - Исправлено. В таблице "История позиций" неверно
рассчитывалась прибыль по инструментам валютной секции:
"EURUSD", "GBPUSD", "USDCHF", "USDCNY", "USDJPY", "USDKZT".
20220702 - Исправлено. При удалении одного или нескольких
значений параметра в списке "Комментарий для заявок".
Например: при указании "s3,s2,s1,b1,,b3", в таблице робота,
вместо пропущенного комментария, отображался предыдущий
"b1".
20220702 - Исправлено. Таблица "История позиций" исчезала
при перемещении на другую вкладку.
20220702 - Исправлено. Если таблица "История позиций"
перемещалась пользователем сразу после запуска скрипта
робота, положение и размеры таблицы не сохранялись.
20220702 - Улучшено. Окно настроек теперь восстанавливается
из свёрнутого вида, при нажатии на кнопку [НАСТРОЙКИ].
20220702 - Улучшено. В окне настроек скрипта удалены стрелки
добавления/уменьшения в числовых параметрах, т.к. при
прокрутке окна, случайно менялось значение параметра.
20220702 - Исправлено. При торговле инструментами группы
"Календарные спреды", в Истории позиций закрытые позиции
спреда теперь не отображаются. Позиции двух ног отображаются
и по ним рассчитывается прибыль. Открытые позиции спреда
отображаются (удалить их не представляется возможным), но
прибыль и объём всегда равны нулю.
20220707 - Исправлено. В результате неудачной упаковки,
архив с новой версией был повреждён.
20220707 - Исправлено. В папку settings сохранялся резервный
файл настроек с каждым расчётом робота.
20220707 - Улучшено. Папка с архивом теперь содержит
обновления для предыдущих версий. Можно откатываться назад
на предыдущие версии.
20220709 - Добавлено. Двойное нажатие на кнопку
[СТАРТ]/[СТОП] перезапускает скрипт. Перезапуск может решить
проблемы отображения таблиц.
20220820 - Добавлено. Доступна торговля инструментами с
кодом класса TQIR (облигации с повышенным риском).
20221026 - Исправлено. В начале новой сессии робот выставлял
дубли заявок.
20221112 – Изменение. Три условия закрытия теперь работают в
условии "И". В прежних версиях было условие "ИЛИ", что
вводило в заблуждение, т.к. в других условиях использовалось
условие "И".
20221116 – Изменение. Если условие закрытие было указано
неверно, значение условия принималось за ИСТИНУ и позиции
закрывались. Теперь позиции не закрываются.
20221117 – Добавление. Добавлен параметр "Условие закрытия
всех позиций робота". Исполнение условия закрывает все
позиции робота. Закрытие продолжается, даже, если в процессе
закрытия условие закрытия перестало действовать.
20221118 – Добавление. Добавлена кнопка [ЗАКР.ВСЕХ ПОЗ.] при
двойном нажатии которой закрываются все позиции робота.
20221119 – Добавление. Добавлена кнопка [ЗАКР.ПОЗИЦИИ] при
двойном нажатии которой закрывается позиции робота на
текущей строке.
20221120 – Добавление. Добавлена торговая система «RSI V1».
Простейшая, контртрендовая торговая система, основанная на
ловле разворота на экстремумах. Если индикатор RSI ниже,
например, 35 и текущая свечка закрывается в зелёной зоне, –
вход в покупку. При зеркальной ситуации – продажа. Стоп-лосс
и тейк-профит не добавлены в систему, но есть возможность их
добавить.
20221221 – Исправление. При удалении позиции из таблицы
История позиций, нажатие кнопки [УДАЛИТЬ] приводило к сбою
терминала.
20221227 – Исправление. Определение лицензии некорректно
работало на первых секундах после запуска QUIK. Сообщение о
лицензии теперь отображается отдельно.
20230104 – Изменение. Сохранение привязанной вкладки теперь
происходит при нажатии кнопки [НАСТРОЙКИ].
20230111 – Исправление. При изменении некоторых настроек в
Истории позиций, таблица исчезала.
20230112 – Исправление. При загрузке QUIK или подключению к
серверу лицензия не определялась, приходилось перегружать
скрипт в таблице "Доступные скрипты".
20230113 – Улучшено. Вывод сообщения о лицензии теперь
выводится последним, отображается во внутренних сообщениях
по кнопке [СООБЩЕНИЯ] и сохраняется в файл log.txt.
20230115 – Исправление. Загрузка стратегий из файла
приводила к очистке / перезаписи лицензии./p>
20230117 – Исправление. При изменении некоторых настроек в
Истории позиций, таблица исчезала.
20230119 – Исправление. В некоторых ситуациях неверно
расчитывались параметры "Количество стоп-лосс" и "Количество
тейк-профит".
20230120 – Улучшено. Обновлена стратегия "Арбитраж Лимит".
20230121 – Улучшено. Обновлены все вкладки стратегий и
добавлены новые параметры в таблицу Текущие торги.
20230201 – Добавление. Доступны новые паттерны текущих
значений времени и даты: q.CurYear - Год, q.CurMonth –
Месяц, q.CurDay - День, q.CurHour - Час, q.CurMin - Минута,
q.CurSec - Секунда, q.CurWeekDay – День недели: 1 - 7 (1 -
понедельник).
20230203 – Добавление. Доступны новые паттерны:
opentime.last – время с момента открытия последней открытой
позиции в сек., closeclosetime.last - время с момента
закрытия последней закрытой позиции в сек.
20230527 – Изменение. Для сохранения положения и размеров
окна робота теперь нужно нажать [НАСТРОЙКИ] и "Сохранить".
Очередная попытка зафиксировать таблицу на своей вкладке.
20230528 – Исправление. Переменная автоматического
определения кода недельного опциноа "RIM3_C_W1_0" неверно
определяла июньские CALL опционы.
20230610 – Исправление. Если не указан первый комментарий в
списке, робот аварийно останавливался с ошибкой.
20230611 – Улучшение. Добавлена проверка нахождения таблиц
робота на указанной вкладке. Очередная попытка зафиксировать
таблицу на своей вкладке.
20230703 – Исправление. Инструмент NG-9.23 определялся как
HANG-9.23 при автоматическом определении инструмента из
графика.
20230712 – Исправление. Сообщения об ошибке транзакции
отображали дату вместо ошибки, например: "Транзакция не
отправлена. Сообщение системы: 20230317."
20230713 – Исправление. Инструменты группы вечных фьючерсов
у брокера Открытия, (USDRUBF и др.) выводили ошибку при
попытке выставить заявку.
20230721 – Исправление. При нажатии кнопки [НАСТРОЙКИ],
иногда блокировался файл настроек, открытый в EXCEL.
20231005 – Изменение. При нажатии кнопки [СПРАВКА] теперь
открывается инструкция «Робот Сетка инструкция.pdf» (ранее
был переход на страницу программы).
20231007 – Добавление. Доступны новые паттерны. q.NumBids -
Количество заявок на покупку. q.NumOffers - Количество
заявок на продажу.
20231111 – Добавление. Доступна возможность выставления
заявки в центр спреда.
В пользовательские параметры "Количество фронтраннинга
входа" и "Количество фронтраннинга выхода" добавлен паттерн
"с" (англ. "с").
Н-р, "Количество фронтраннинга входа" = "с", приведёт к
выставлению заявки в центре спреда, независимо от указания
расчётной цены (имеет приоритет).
Если цена спроса или предложения отсутствует, то заявка не
выставляется.
Цена центра спреда стакана рассчитывается без собственного
выставленного количества всех заявок терминала по
инструменту (включая субсчета и пр.), т.к. простая формула
(спрос+предложение)/2 привела бы к искажению центра
собственным выставленным количеством.
Возможно смещение относительно спреда с указанием пунктов
(шагов цены) выше или ниже центра.
Н-р, "Количество фронтраннинга входа" = "с+1", приведёт к
выставлению заявки на 1 пункт выше центра спреда.
"Количество фронтраннинга входа" = "с-1", приведёт к
выставлению заявки на 1 пункт ниже центра спреда.
20231121 – Улучшение. Скрипт Истории позиций теперь
корректно проводит экспирацию позиций с комментарием.
Ранее, сделки экспирации не попадали в учёт роботов.
Из-за этого возникала необходимость ручного редактирования
файла Сделки.csv.
20240112 – Исправление. При запуске в версии lua 5.4
некоторых стратегий появлялась ошибка функции unpack,
приводящая к аварийной остановке робота.
20240119 – Добавление. Возможность фиксирования даты
экспирации в автоматическом определении кода опциона. Н-р,
если указать "RIH4_P_W2_0", опцион предпоследней недели
будет заменён на следующий, когда превратится в опцион
последней недели. Теперь, если указать "RIH4_P_BM4D_0",
опцион будет удерживаться до экспирации, при этом, смена
страйков сохранится. В данном примере пут RI будет
роллироваться по страйкам.
20240126 – Добавление. Возможность получать значения
параметров Истории позиций используя фильтры: по коду
инструмента (Код бумаги из Текущие торги, н-р,
opentime.last.sSiZ3, где "s" идентификатор фильтра), по
направлению операции (BUY - покупка или SELL – продажа, н-р,
openprice.b1.oBUY, где "o" идентификатор фильтра), по типу
опциона (CALL - колл или PUT - пут, н-р, openprice.b1.tPUT,
где "t" идентификатор фильтра). Фильтры не распространяются
на паттерны с использованием ".all". Н-р, если указать
"opentime.last.sSiZ3", получим время с момента открытия
последней открытой позиции в сек. по инструменту SiZ3, если
подходящая позиция есть в открытых позициях Истории позиций.
Можно использовать несколько фильтров одновременно. Н-р,
если указать "opentime.last.sSiZ3.oBUY",
получим время с момента открытия последней открытой позиции
в сек. по инструменту SiZ3 и позиции покупки.
20240201 – Исправление. В новых версиях с добавлением
фильтров получения параметров из Истории позиций, при
использовании некоторых названий комментариев, получение
параметров не происходило. Чтобы избежать проблемы,
увеличено название идентификаторов фильтров: с "s" на
"seccode", с "o" на "operation", с "t" на "optiontype". Н-р,
"opentime.last.seccodeSiH4".
20240410 – Улучшение. Ускорена отправка заявок при
одинаковых алгоритмах.
20240426 – Добавление. Новая торговая система "Парковщик
средств", которая позволяет автоматически размещать
свободные средства на счёте в ОФЗ, фонды ликвидности и
прочие инструменты.
20240428 – Добавление. Доступны лицензии на 1 год.
20240515 – Исправление. Инструмент LQDT у брокера ВТБ был
недоступен, т.к. перемещён брокером в код класса TQTF_F.
20240629 – Исправление. При использовании некоторых
стратегий и начале нового торгового дня (при работе QUIK
круглосуточно), заявки снимались и выставлялись заново.
20240722 – Исправление. У брокера ВТБ лицензия не работала
на сервере "Резерв".
20240810 – Добавление. Паттерны доступа к значениям из
таблицы "Текущие торги" теперь доступны для выбранного
инструмента (ранее были доступны только для инструмента
конкретного алгоритма). Н-р, "q.Last.SBER" выведет последнюю
цену для акций "SBER". Такая возможность позволяет связывать
инструменты разных алгоритмов (комментариев) в одном роботе.
20240816 – Добавление. Доступны новые паттерны:
"q.LevelBidЧИСЛО" - цена за "плитой" (указанный большой
объём) в стакане котировок для спроса; "q.LevelAskЧИСЛО" -
цена за "плитой" для предложения. Н-р, "q.LevelBid10"
выведет цену, которая будет находится сзади "плиты" размером
10 лотов для цен спроса. Данный паттерн удобно использовать
для торговой стратегии "Пробой плиты".
20240816 – Добавление. Доступна новая торговая стратегия
"Пробой плиты". Если в стратегии фронтраннинга в стакане
котировок выставляется заявка ПЕРЕД "плитой"(указанный
большой объём), то при пробое "плиты", выставляется условная
стоп-заявка по направлению рынка. Применение условной
стоп-заявки на сервере QUIK ускоряет исполнение, в отличии
от отправки заявки уже после факта пробития "плиты".
20240817 – Добавление. Доступен новый паттерн:
openpriceavg.ФИЛЬТРЫ - средняя цена открытия всех открытых
позиций с указанным фильтром, н-р "openpriceavg.seccodeSBER.operationBUY"
- выведет среднюю цену открытия всех открытых позиций по
инструменту SBER и операции покупка.
20240822 – Добавление. Доступна возможность выставления
заявки в центр спреда с ипользованием выражений. Н-р,
"Количество фронтраннинга входа" = "с-maSpread", приведёт к
выставлению заявки ниже центра спреда на количество пунктов
из индикатора maSpread.
20241005 – Добавление. Доступны новые паттерны math.minrate(номер_в_рейтинге&переменная1&переменная2&переменнаяХ...)
и math.maxrate(номер_в_рейтинге&переменная1&переменная2&переменнаяХ...).
Паттерны позволяют выводить значение указанной позиции в
рейтинге. Например, math.maxrate(1&12&13&14) выведет 12
(равно math.max), math.maxrate(2&12&13&14) выведет 13
(вторая позиция в рейтинге от максимума).
Таким образом, можно, например, покупать только лучшие 5
инструментов по RSI, указав rsiX>math.maxrate(6&rsi1&rsi2&rsi3...)
в условии входа.
20241023 – Исправление. В Истории позиций теперь учитывается
различие комиссий мейкерской и тейкерской заявки для
срочного рынка.
20241024 – Исправление. В Истории позиций теперь учитывается
различие комиссий мейкерской и тейкерской заявки для
фондового рынка. Комиссию брокера теперь нужно указывать без
учёта биржевой комиссии.
20241024 – Исправление. В Истории позиций для брокера ВТБ
комиссия по LQDT не учитывается.
Вы
можете
оставить пожелание по добавлению новой возможности.
• Операционная система
Windows (x64) редакций Vista/Server 2008/7/Server
2012/8/10/Server 2016/Server 2019
• Процессор не менее 2 ГГц
• Оперативная память не менее 2 ГБ (рекомендуется 4 ГБ)
• 2 ГБ свободного места на жестком диске
• Минимальное разрешение экрана — 1024x600 пикселей (рекомендуется
1920x1080)
• Рабочее место QUIK версии 8.5 и выше
• Доступ в сеть Интернет
(рекомендуется 10Мбит
и выше)
•
Рекомендуется пакет MS Office (Word,
Excel)
* Системные требования
программы совпадают с требованиями Рабочего места QUIK:
http://arqatech.com/ru/products/quik/requirements/.
Многолетний опыт работы с
клиентами позволил мне находить самые удобные методы
взаимосвязи.
Видео в YouTube. Я стараюсь обеспечить максимально
понятное описание своих программных продуктов. Гораздо
понятней один раз увидеть, чем несколько раз прочитать.
Мой канал YouTube:
https://www.youtube.com/user/pmntrade.
Чтобы отслеживать новости можно подписаться:
https://www.youtube.com/channel/UCydba-rfY38J8QMJE34J_4Q?sub_confirmation=1.
Скачать видео с YouTube можно при помощи программы Download Master:
https://downloads-master.ru.
Электронная почта. Приоритетный вариант связи. При
покупке, именно Ваша электронная почта является
доказательством приобретения.
Моя электронная почта:
support@pmntrade.ru.
Я отвечаю на каждое письмо, однако, иногда письма блокируются спам
фильтрами, поэтому, если Вы не получили ответ в течении трёх
дней рекомендую попробовать другой способ связи. Если Вы
хотите переслать какую-либо программу *.exe и т.п., то
рекомендуется её упаковать и установить пароль с
шифрованием.
WhatsApp. Включает в себя чат, передачу файлов,
звонки, видеозвонки.
Скачать для ПК:
https://www.whatsapp.com/download или
https://whatsappe.ru/whatsapp-dlya-windows-10
Мой личный номер телефона для WhatsApp:
+7(904)445-77-75.
Skype. Включает в себя чат, передачу файлов, звонки,
видеозвонки, видео Рабочего стола.
Скачать для ПК:
https://www.skype.com/ru/get-skype
Мой личный Skype:
mihalich-bataysk.
Telegram. Включает в себя чат, передачу
файлов, звонки, видеозвонки, группу (где публикуются новости
по обновлениям, новым программам и возможностям).
Скачать для ПК:
https://desktop.telegram.org
Мой Telegram аккаунт:
https://t.me/mikhail_ponamarenko.
Группа PMN TRADE:
https://t.me/pmn_trade.
Удалённый доступ. Если у Вас быстрый доступ в сеть
Интернет, рекомендую установить
AnyDesk
https://anydesk.com/ru/downloads/windows.
Благодаря такому доступу, я и Вы сможем одновременно наблюдать рабочий стол
и совершать на нём действия. Это идеальное решение для
удалённой поддержки, особенно в связке со звонком.
Что потребуется для быстрого решения проблем? -
Скриншоты. Я рекомендую высылать скриншоты с указанными
проблемами. В Windows есть программа «Ножницы» и много
альтернативных в Интернет: Яндекс Диск, Clip2net и пр.
Также, сделать скриншот всего экрана можно нажав
Ctrl+PrintScreen или PrtSc (кнопка в правом верхнем углу
клавиатуры), затем перейдите к окну переписки и нажмите
Ctrl+V, изображение экрана будет вставлено.
- Файлы. Возможно потребуются файлы из папки скрипта.
Спасибо за
интерес к моим разработкам!
С уважением,
Понамаренко Михаил Николаевич.
Ключевые слова: Робот Сетка
(LUA), робот для quik, пирамидинг, усреднение,
арбитраж, фронтранниг, quik, квик, lua, qlua,
robot_setka_lua |