Скрипт multiAutoStop

[ скрипт  lua  qlua  квик  quik  автостоп  ]

Реализация автоматической установки стоп, профит ордеров по открытым позициям, сопровождение позиции в терминале Квик.

Видео работы скрипта Развитие скрипта

Основные возможности скрипта

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

Поддерживается автоматический запуск и остановка исполнения скрипта по конкретному торгуемому инструменту по времени. Существует возможность автоматически закрыть позицию по инструменту по истечении времени. Для срочного рынка (фьючерсы) поддерживается возможность автоматической замены торгуемого инструмента на следующий.

Поддерживаются виды стоп-лосса:

Поддерживаются виды тейк-профита:

Поддерживаются виды указания значения величины стоп-лосса и тейк-профита от средней цены позиции:

Поддерживаются виды указания времени жизни стоп-ордеров:

Поддерживаются виды указания типы отступа и спреда для стоп–профит-ордера:

Поддерживаются виды указания значения трейлинга стоп-лосса:

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

Скрипт корректно отрабатывает закрытие торгового терминал без остановки скрипта. После перезапуска терминала скрипт автоматически запустится, перейдет в период ожидания подключения к серверу брокера, загрузки всех информационных пакетов с сервера брокера. Для каждого запуска формируется файл лога в каталоге /logs. Если в процессе работы скрипта возникнут ошибки, то будет дополнительно сформирован файл лога ошибок. Если ошибок будет слишком много, то скрипт принудительно остановится.

Окно настроек скрипта.

Для настройки торговых параметров по инструменту необходимо выполнить команду “[…]” в поле “Set”. В результате будет показана форма настроек.

Если включить настройку отображения окна настроек с закладками (параметр WINDOW_TABS = 1 в файле multiAutoStopUltra_params.txt), то окно будет показано в таком виде:

Большинство параметров содержат описание. Его можно вызвать по кнопке “?”.

Раздел “ОБЩИЕ НАСТРОЙКИ” содержит настройки:

Окно формы редактирования позиции:

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

Раздел “ТОРГОВЫЕ НАСТРОЙКИ” содержит настройки:

Раздел “ОТЛОЖЕННЫЙ ВХОД” содержит настройки:

Раздел “НАСТРОЙКИ СТОПА” содержит настройки:

Модуль ТРИГГЕРНЫЙ СТОП

Режимы триггерного стопа:
Общие настройки триггерного стопа:
Пример окна настройки алгоритма MA:

Можно указать вариант расчет MA:

Пример окна настройки алгоритма MACD:

Варианты расчета тренда:

Пример окна настройки алгоритма OSC:

Допустимые методы расчета осциллятора:

Модуль “АЛГОРИТМИЧЕСКИЙ СТОП”:

При исполнении команды “Настроить алгоритмический стоп” появится окно настроек выбранного алгоритма. Пример окна настроек алгоритма ATR:

Пример окна настроек алгоритма FRAC:

Раздел “НАСТРОЙКИ ПРОФИТА” содержит настройки:

В данном окне можно указать уровни тейк-профита в единицах, указанных в настройке “Тип цены тейк-профита”. Значения имеют тот же смысл что значение Тейк-профит в окне настроек. Если необходимо указать два тейк-профита в 75 и 100 шагов цены, то настройка “Тип цены тейк-профита” имеет значение “Steps”, а в строке вводим 75 в колонке “take_profit”. В колонке “qty (%)” указывается объем, который относится к этому тейк профиту. Допустим, на первом шаге мы хотим закрыть 30% от позиции. Тогда в поле вводится значение 30. Аналогично для второй строки. В приведенном выше примере будут установлены три тейк-профита на 75, 100 и 150 шагов цены. Первый и второй уровни - 30% от объема позиции. Т.о. вводятся все уровни тейк-профита. Если на последнем уровне необходимо закрыть остаток позиции, то для этого необходимо ввести в поле “qty (%)” значение 0.

Важно: сумма процентов уровней не должна превышать 100%. Также с помощью этой настройки можно ввести тейк-профит на часть позиции, не закрывая все позицию. Допустим только 50%. Остальная позиция не будет закрыта по тейк-профиту (а, допустим, по трейл-стопу). Для этого достаточно ввести одну строку с указанием уровня тейк-профита и необходимым объемом, допустим 50%.

Раздел “НАСТРОЙКИ ТРЕЙЛА” содержит настройки:

Раздел “КОНТРОЛЬ СДЕЛОК” содержит настройки

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

В скрипте (и в окне настроек) действуют следующие правила редактирования значения параметров:

Скрипт поддерживает горячие клавиши:

Если выполнить команду “Калькулятор инструмента” из окна настроек или команду “+/-“ из основного окна, то откроется окно калькулятора по инструменту:

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

Также скрипт поддерживает отправку сообщений в Телеграм, E-Mail, реализованную через библиотеку