Пример запуска торгового Агента
Last updated
Last updated
Внимание! Данная инструкция первого запуска торгового робота (Агента) не учитывает всех нюансов и подходит только для первого запуска, в ознакомительных целях.
Выполните подключение, например, к Демо-серверу АЛОР-Трейд Демо
В предыдущей статье Пример разработки торгового алгоритма в TSLab был рассмотрен пример реализации стратегии "Пересечение двух скользящих средних".
Ставим задачу запустить данный скрипт в торговлю на демо сервере.
В качестве инструмента выбран фьючерс на индекс РТС. Параметры средних 200 и 5.
Проверьте параметр в свойствах скрипта "Торговать с (бар)". Его следует устанавливать больше, чем получившийся максимальный период из всех индикаторов скрипта.
Дополнительная информация
В примере два индикатора, не зависящих друг от друга. Индикатор EMA имеет формулу, по которой полный расчет, без ошибок, занимает около 3 периодов. Таким образом, параметр Торговать с (бар) следует поставить не менее чем 200*3=600 Таких индикаторов немного: EMA, AMA , DEMA , TEMA, FAMA, JMA, TRIX. Для расчета JMA требуется 5 периодов. Например, индикатор SMA считается полностью за установленный период в индикаторе.
Особая ситуация при использовании индикатора от индикатора и индикатора от блока Сжать.
Период индикатора1 * Период индикатора2 * коэф.для полного расчета = Торговать с (бар)
Период сжатия * Период индикатора * коэф.для полного расчета = Торговать с (бар)
Второе, необходимо установить параметр "Макс.Баров". Его следует устанавливать таким образом, чтобы последний, не закрытый вход в позицию всегда находился на своём баре. Для нашего примера мы установим значение, равное 3000
Дополнительная информация
Установка ограничения баров позволит работать с оперативной памятью более продуктивно. Текущее количество доступных баров можно посмотреть на вкладке Лог скрипта, при нажатии на кнопку Сохранить и выполнить.
Таким образом, скрипту из нашего примера хватает баров для полного расчета индикаторов 1000<1618 и Агент сможет торговать , но после запуска скрипта, пройдет некоторое время, прежде чем Агент наберет установленные 3000 баров в Макс.Баров.
На картинке ниже представлен Скрипт. Нужно устанавливать Макс.Баров так, чтобы последний не закрытый вход в позицию в Агенте, всегда находился не на первом баре загруженной истории.
Можно сориентироваться по показателям Баров на сделку(в среднем) во вкладке Результаты, и установить параметр с запасом.
Макс.Баров должен быть больше, чем Торговать(с бар)
Нажмите Сохранить и выполнить или на клавиатуре кнопку F5.
В окне Свойства скрипта откройте вкладку Режим агента
Рекомендуется отключить данные параметры перед первым запуском Агента. Данные параметры позволяют Агенту выставлять заявки на открытие и закрытие позиции без подтверждения со стороны пользователя. Вы можете включить данную настройку после того, как выполните окончательную настройку Агента.
В окне Свойства скрипта откройте вкладку Режим агента
Рекомендуем установить значение этих параметров = 0 перед первым запуском Агента. Данные позволяют указать количество баров, в течении которых заявка на открытие (закрытие) позиции может быть отправлена в случае пропуска сигнала.
Допустим, что при первом запуске Агента параметры скрипта будут рассчитаны так, что Агент пропустит последний сигнал на открытие позиции, который был 10 баров назад (перед последним загруженным баром на графике), а в настройках параметра Автооткрытие стоит значение 15. В данном случае Агент отправит заявку на биржу на покупку выбранного в скрипте количества лотов. При этом за 10 последних баров цена могла измениться в разы.
Рекомендуем пользоваться данной настройкой с осторожностью и выставить нужные Вам значения после окончательной настройки Агента.
Создадим новый Агент. Откройте Торговля | Агенты. Нажмите кнопку справа Добавить Агент.
Нажмите кнопку выбора скрипта. Если скриптов много, то удобно использовать сортировку по дате изменения. Таким образом, последний измененный скрипт будет вверху.
Следующее поле, Торговое имя. Если его не указать, программа создаст агент, по умолчанию с именем скрипта. Можно оставить по умолчанию.
Дополнительная информация
О торговом имени следует знать следующее:
не рекомендуется использовать спец.символы. $#%^&*()! и т.д., точки и запятые.
если агентов много, желательно не создавать агенты с похожими именами. Например, Агент1, Агент11, Агент111
Если нужно перезапустить торговлю данным агентом, достаточно изменить Торговое имя агента. Если оно не использовалось, просто дать имя. Агент запуститься с "Чистого листа", прошлая торговля будет доступна по старому Торговому имени.
Следующая настройка - Тип управления лимитами и Значение лимита.
Значение, указанное в данном поле является множителем к тому, что указано в блоках входа в Позицию.
Значение лимита в настройках агента * Количество в блоке входа = Объем заявки
В нашем примере. В лотах 1*1= на 1 лот будет заходить Агент в позицию.
Следующая настройка Выбор инструмента, необходимо выбрать инструмент для торговли. В случае с Демо Алор трейд все просто, счет в поставщике данных только один.
Дополнительно, в качестве истории для основного инструмента, можно использовать "+Добавить инструмент". Таким образом увеличить необходимую для расчета индикаторов историю.
Нажмите ОК, Настройки агента выполнены и необходимо перейти к Торговым настройкам.
Нажмите кнопку торговых настроек и выполните настройку Агента в соответствии с приведенным ниже скриншотом.
Информацию о всех настройках можно узнать в статье Торговые настройки агента
Переведите ползунок включения агента в положение Включено
Сам торгующий агент доступен по кнопке:
При нажатии на кнопку, откроется Агент. Заголовок окна имеет иконку в виде буквы А.
В данном случае Агент запущен в такой момент, что в истории расчетов скрипта есть сигнал входа в позицию, маркер Желтого цвета.
Желтый маркер на графике агента всегда обозначает Виртуальную позицию.
Программа выдает сообщение "Пропущен сигнал":
Сигнал скриптом был сформирован за пределами установленной настройки Автооткрытие 50 баров. Например, если бы Автооткрытие стояло бы 1000, то сигнал был бы исполнен немедленно, при запуске агента.
Вручную такой сигнал можно выполнить из Менеджера команд. Или просто игнорировать данный сигнал, при этом, если вход в позицию Виртуальный, то выхода из позиции в реальности не произойдет. Программа TSLab основывается на Позициях.
Когда скрипт насчитает выход из данной позиции, сигнал пропадет сам и так как алгоритм имеет Переворот в противоположную позицию, скрипт сформирует сигнал на продажу и Агент его уже исполнит самостоятельно.
Если сигнал необходимо выполнить вручную, нажмите Торговля | Менеджер команд
Найдите в таблице нужный сигнал по имени Агента и имени сигнала.
Если сигнал в скрипте "по рынку", как в нашем примере, нажмите "Выполнить по рынку" Если сигнал Условной или Лимитной заявки, то необходимо сначала выставить заявку кнопкой "Выполнить" и после этого нажать "Выполнить по рынку".
При нажатии Выполнить по рынку, произойдет сделка или придет сообщение от брокера с причиной, почему нельзя этого выполнить.
На графике агента, при следующем пересчете скрипта, отобразиться Маркер входа в позицию.
Если навести курсор указателя мыши на бар входа, в круглых скобках будет Портфельный номер заявки TSLab.
Агент запущен и ведет позиции самостоятельно.
Без ручного входа через Менеджер команд Агент тоже вел бы позиции самостоятельно, так как в Торговых настройках агента стоят флаги Исполнять входы сразу и Исполнять выходы сразу.
Использование Менеджера команд выполнено для примера работы с сигналами Агента в ручном режиме.
Во время создания и оптимизации скрипта Вы могли создать готовые Наборы сохраненных параметров. Подробнее о сохраненных наборах читайте в статье Вкладка Параметры.
Откройте вкладку Параметры в окне выбранного Агента.
На примере выше отмечены 2 таблицы:
Таблица набора параметров, сохраненная в скрипте, на основании которого был создан Агент.
Таблица набора параметров, сохраненная в Агенте. Сразу после создания нового Агента таблица будет пуста.
Обратите внимание! В таблице наборов параметров зеленой галкой отмечены выбранные (Текущие) наборы параметров.
В таблице наборов скрипта (1) зеленая галка всегда будет отображаться напротив набора, который был сохранен, как Текущий в скрипте. Тоесть если Вы выберите в Агенте один из наборов из этой таблицы, то Текущие параметры Агенты изменятся. После перезагрузки программы зеленая галка вновь будет отображаться напротив набора, который сохранен как Текущий в скрипте, хотя для Агента вы выбрали другой набор. При этом Текущие настройки Агента останутся прежнми - теми, которые вы выбрали до перезагрузки.
Выберите один из наборов параметров в таблице 1. Нажмите на кнопку Применить . Параметры, полученные во время оптимизации скрипта будут установлены как Текущие для Агента.
В таблице 2 Вы можете создать отдельные каталоги для хранения наборов параметров. Для этого используйте кнопку .
Создадим новый каталог Параметры Агента (не обязательный пункт, для удобства разделения наборов). Выберите строку Каталог в таблице 2 и нажмите на кнопку . Введите название нового каталога и нажмите ОК.
Напомним, что на предыдущем этапе Вы установили Текущими параметрами Агента набор параметров из таблицы 1. Далее нам необходимо сохранить Текущий набор параметров в таблицу 2. Выберите созданный каталог Параметры Агента и нажмите на кнопку Создать набор из текущих параметров . Введите название нового набора параметров и нажмите ОК. Выделите созданный набор и нажмите на кнопку Применить . Выбранный набор параметров буден задан как Текущий в Агенте.