В этой статье подробно рассмотрим Tester Light.
Открываем OsEngine:
Из главного меню запускаем Tester Light:
Попадаем в окно настроек тестера:
Для начала разберемся, как работает эмулятор биржи. Что ему можно подавать на вход и как настраивать бумаги. Нажимаем на кнопку «Connection servers»:
Появится панель управления ходом тестирования. Она пригодится для подачи данных в тестер. А пока нажмём на кнопку «More settings»:
Чтобы запустить тестирование, необходимо подключить исторические данные нужного нам тикера.
В Os Engine существует два способа подключения исторических данных, которые можно увидеть, если нажать на значок стрелочек:
Set — модуль для скачивания и хранения исторических данных свечей, тиков и срезов стакана с помощью коннекторов.
Если используется этот способ трансляции данных, то в строке выбора тестируемого инструмента «Sets»:
Folder – загрузка заранее скаченных или собранных вручную данных из папки. Необходимо указать путь к папке со скаченными тикерами с помощью кнопки «Find in folder». В папке можно хранить только тикеры одного таймфрейма.
Вы можете скачивать данные в любую папку своего компьютера.
Данные хранятся в текстовых файлах, как в примере:
Данные появляются в строке:
«Translation type» содержит 5 разных видов данных, которые служат для различных задач и помогают улучшать результаты оптимизации.
Тикеры станут видны ниже под настройками после выбора данных и успешной их подгрузки.
Период, за который берутся данные, выставляется автоматически.
Возвращаемся в основное меню тестера и жмем на кнопку «Добавить бота»:
Открывается панель «Создания робота»:
1. «Name» — в эту строку вписываем любое имя выбранного робота. В дальнейшем его нельзя будет изменить.
2. «Location» — нажимаем на стрелочки, выбираем место создания робота (3).
Весь список роботов, которые есть в наличии, можно пролистывать колесиком мыши или бегунком.
Можно воспользоваться поиском, если нужно найти определенного робота или скрипт.
Если все сделано правильно, то робот появится в строке:
Если вы хотите удалить робота, которого ранее добавили в тестер, то жмем кнопку «Delete».
Всплывет окно подтверждения действия:
Роботы могут быть как с параметрами, так и без. Если бот, которого вы добавили в тестер, не имеет параметров, то при нажатии на кнопку — «Parameters», всплывет окно оповещения о том, что параметры отсутствуют, и вы просто пропустите этот пункт настроек:
Поскольку у нас в примере робот с параметрами, то при нажатии на кнопку «Parameters» у нас появляется соответствующее окно, в котором мы задаем настройки:
Далее идем в «Control»:
Чтобы робот подключился к серверу и начал получать данные, надо нажать на кнопку «Data settings»:
1. Тип комиссии имеет три режима:
2. Значение комиссии для каждой биржи индивидуально.
3. Класс бумаг. Фильтр для следующего поля. Выбираем нужный нам класс.
4. Инструмент, данные по которому будут браться, и которые мы будем тестировать. Ставим галочку.
5. TimeFrame – временной интервал.
6. Accept — кнопка подтверждения.
Эта функция позволяет следить за просадкой.
Вызывая Risk manager, можно настраивать работу этой функции.
Здесь можно установить роботу лимит убытков на день и тип реакции на этот убыток.
Для любой позиции, открытой в рамках робота, можно назначить стандартные способы по ее сопровождению.
Разберем подробно появившееся окно:
1. Stop.
2. Position closing. 6. Position opening.
3. Close order reject.
4. Profit.
5. On/Off.
7. Values type – можно выбрать абсолют, шаг цены и проценты.
8. Accept – подтверждаем все настройки.
Если в логике робота прописан индекс (в примере на картинке ниже у нас OneLegArbitrage), то чтобы он работал, нужно его добавить и записать формулу, по которой он будет рассчитываться.
Идем в «Настройки данных». Обратите внимание, что у робота 2 вкладки. Если включить вторую вкладку и нажать кнопку Data settings, то всплывет окно стандартных настроек. Здесь нам нужна первая вкладка. В открывшемся окне жмем на «+».
1. Портфель для операций.
2. Класс бумаг.
3. Выбрать инструменты можно вручную, поставив галочки напротив тех, что будем использовать.
4. Если поставить галочку в окошке «Select all», то выберутся все инструменты из списка.
5. После того, как выполнили все необходимые операции, жмем на кнопку «Accept».
Выбранные бумаги добавились, теперь:
При добавлении бумаги ей присваивается номер индекса. Это уникальное имя будет использоваться в формуле.
Пишем формулу расчета (может отличаться от приведенного примера).
Жмем «Accept».
Если нужно удалить бумагу из списка, жмем на «-»:
Закрываем это окно и переходим во вторую вкладку (1).
2. Заходим в Data Settings, открывается окно настроек.
3. Выбираем инструмент, которым будем торговать — тот, что мы задействовали в нашей формуле, которую писали в настройках в первой вкладке.
Для двуногого арбитража выбираем 2 торгуемых инструмента.
Таким образом нужно добавить всех роботов, которыми вы планируете торговать индексный арбитраж.
Для того, чтобы начать тест, идем в «Connection Servers»:
Открывается Эмулятор биржи:
1. Нажатие на кнопку «Start test» начинает тестирование с самого начала. В этот момент в эмуляторе стираются все Ваши старые позиции. Портфель приходит в исходное состояние. Начинается побаровая/потиковая подача данных из сервера.
2. Кнопка «>>>>>>» позволяет включить тестирование в режим перемотки. В этом режиме все визуальные представления панели исчезают. В этом режиме тестирование идёт в десятки раз быстрее, так как прорисовка элементов является самой тяжелой в роботе.
3. Кнопка «||» - останавливает на паузу и запускает процесс подачи данных.
4. Кнопка «+1» - подгружает одну свечку и переходит в состояние паузы.
5. Кнопка «>> next pos» - переход к следующей сделке.
6. Кнопка «>> go to» – позволяет перейти к интересующей нас дате:
Ставим нужную дату с помощью календаря, либо передвигаем оранжевый бегунок и жмем «Accept».
Всю статистику по тестам можно посмотреть в журнале. Журнал доступен по нажатию кнопки «Journal» в главном меню:
Открываем журнал и попадаем во вкладку «Equity». В данной вкладке представлена графическая информация о приросте счета. Отображается общая прибыль, а также отдельно по лонговым и шортовым сделкам:
Слева находится панель, которая позволяет посмотреть изменения в конкретный момент времени:
Вкладка показывает динамику изменения просадки за торгуемый период.
Вкладка показывает максимальный торгуемый объем:
Эта вкладка будет полезна для контроля и мониторинга объемов торгов. Это очень удобно, когда подключено множество различных торговых алгоритмов и торговля ведется на различных инструментах.
Вкладка показывает текущие открытые позиции, которые бот ведет в данный момент:
В этой вкладке отображаются все закрытые сделки — таблица всех исполненных трейдов:
Выше был рассмотрен общий журнал. Чтобы посмотреть сведения по каждому отдельному боту, нужно сделать следующее:
Затем:
Попадаем в журнал нужного нам робота, где можем посмотреть информацию по каждой вкладке так же, как и в общем журнале:
Если нас не устраивает результат, то можно пойти в «Параметры», поменять настройки и снова запустить процесс тестирования.
Но лучше, прежде, чем менять старые настройки, их лучше записать или заскринить, чтобы была возможность сравнить старые и новые настройки, а при необходимости вернуть так, как было.
Удачных алгоритмов!
Комментарии открыты для друзей!
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support