В этой статье подробно рассмотрим Tester Light.

Открываем OsEngine:
Из главного меню запускаем Tester Light:

Попадаем в окно настроек тестера:

Для начала разберемся, как работает эмулятор биржи. Что ему можно подавать на вход и как настраивать бумаги. Нажимаем на кнопку «Сервера подключения»:

Появится панель управления ходом тестирования. Она пригодится для подачи данных в тестер. А пока нажмём на кнопку «Дополнительно»:

Чтобы запустить тестирование, необходимо подключить исторические данные нужного нам тикера.
В Os Engine существует два способа подключения исторических данных, которые можно увидеть, если нажать на значок стрелочек:

Set — модуль для скачивания и хранения исторических данных свечей, тиков и срезов стакана с помощью коннекторов.
Если используется этот способ трансляции данных, то в строке выбора тестируемого инструмента «Сеты»:

Folder – загрузка заранее скаченных или собранных вручную данных из папки. Необходимо указать путь к папке со скаченными тикерами с помощью кнопки «Указать в папке». В папке можно хранить только тикеры одного таймфрейма.
Вы можете скачивать данные в любую папку своего компьютера.
Данные хранятся в текстовых файлах, как в примере:
Данные появляются в строке:

«Транслируем» содержит 5 разных видов данных, которые служат для различных задач и помогают улучшать результаты оптимизации.

Тикеры станут видны ниже под настройками после выбора данных и успешной их подгрузки.
Период, за который берутся данные, выставляется автоматически.

Возвращаемся в основное меню тестера и жмем на кнопку «Добавить бота»:
Открывается панель «Создания робота»:

1. «Имя» — в эту строку вписываем любое имя выбранного робота. В дальнейшем его нельзя будет изменить.
2. «Расположение» — нажимаем на стрелочки, выбираем место создания робота (3).
Весь список роботов, которые есть в наличии, можно пролистывать колесиком мыши или бегунком.
Можно воспользоваться поиском, если нужно найти определенного робота или скрипт.

Если все сделано правильно, то робот появится в строке:
Если вы хотите удалить робота, которого ранее добавили в тестер, то жмем кнопку «Delete».
Всплывет окно подтверждения действия:
Роботы могут быть как с параметрами, так и без. Если бот, которого вы добавили в тестер, не имеет параметров, то при нажатии на кнопку — «Параметры», всплывет окно оповещения о том, что параметры отсутствуют, и вы просто пропустите этот пункт настроек:
Поскольку у нас в примере робот с параметрами, то при нажатии на кнопку «Parameters» у нас появляется соответствующее окно, в котором мы задаем настройки:


Далее идем в «Управление»:

Чтобы робот подключился к серверу и начал получать данные, надо нажать на кнопку «Настройки данных»:
1. Тип комиссии имеет три режима:
2. Значение комиссии для каждой биржи индивидуально.
3. Класс бумаг. Фильтр для следующего поля. Выбираем нужный нам класс.
4. Инструмент, данные по которому будут браться, и которые мы будем тестировать. Ставим галочку.
5. Таймфрейм – временной интервал.
6. Принять — кнопка подтверждения.

Эта функция позволяет следить за просадкой.
Вызывая Риск-менеджер, можно настраивать работу этой функции.

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

1. Стоп.
2. Закрытие позиции. 6. Открытие позиции.
3. Ордер на закрытие отозван.
4. Профит.
5. Включить.
7. Тип переменных – можно выбрать абсолют, шаг цены и проценты.
8. Принять – подтверждаем все настройки.
Если в логике робота прописан индекс (в примере на картинке ниже у нас OneLegArbitrage), то чтобы он работал, нужно его добавить и записать формулу, по которой он будет рассчитываться.
Идем в «Настройки данных». Обратите внимание, что у робота 2 вкладки. Если включить вторую вкладку и нажать кнопку Data settings, то всплывет окно стандартных настроек. Здесь нам нужна первая вкладка. В открывшемся окне жмем на «+».

1. Портфель для операций.
2. Класс бумаг.
3. Выбрать инструменты можно вручную, поставив галочки напротив тех, что будем использовать.
4. Если поставить галочку в окошке «Выбрать всё», то выберутся все инструменты из списка.
5. После того, как выполнили все необходимые операции, жмем на кнопку «Принять».

Выбранные бумаги добавились, теперь:
При добавлении бумаги ей присваивается номер индекса. Это уникальное имя будет использоваться в формуле.
Пишем формулу расчета (может отличаться от приведенного примера).
Жмем «Принять».

Если нужно удалить бумагу из списка, жмем на «-»:

Закрываем это окно.
1. переходим во вторую вкладку.

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

Открывается Эмулятор биржи:

1. Нажатие на кнопку «Начать тест» начинает тестирование с самого начала. В этот момент в эмуляторе стираются все Ваши старые позиции. Портфель приходит в исходное состояние. Начинается побаровая/потиковая подача данных из сервера.
2. Кнопка «>>>>>>» позволяет включить тестирование в режим перемотки. В этом режиме все визуальные представления панели исчезают. В этом режиме тестирование идёт в десятки раз быстрее, так как прорисовка элементов является самой тяжелой в роботе.
3. Кнопка «||» - останавливает на паузу и запускает процесс подачи данных.
4. Кнопка «+1» - подгружает одну свечку и переходит в состояние паузы.
5. Кнопка «>> к сделке» - переход к следующей сделке.
6. Кнопка «>> переход к» – позволяет перейти к интересующей нас дате:

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

Слева находится панель, которая позволяет посмотреть изменения в конкретный момент времени:




Вкладка показывает динамику изменения просадки за торгуемый период.
Вкладка показывает максимальный торгуемый объем:

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

В этой вкладке отображаются все закрытые сделки — таблица всех исполненных трейдов:

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

Затем:

Попадаем в журнал нужного нам робота, где можем посмотреть информацию по каждой вкладке так же, как и в общем журнале:

Если нас не устраивает результат, то можно пойти в «Параметры», поменять настройки и снова запустить процесс тестирования.
Но лучше, прежде, чем менять старые настройки, их лучше записать или заскринить, чтобы была возможность сравнить старые и новые настройки, а при необходимости вернуть так, как было.
Удачных алгоритмов!
Комментарии открыты для друзей!
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support