Приветствую. В этой статье будем разбирать такую полезную функцию в OsEngine как Tester.
Открываем OsEngine:
Попадаем в окошко главного меню, в котором выбираем " Тестер":
Оранжевым цветом подсвечивается вкладка, в которой мы находимся:
Сервера подключения
Прежде всего, надо разобраться в том, как работает эмулятор биржи. Что ему можно подавать на вход и как настраивать бумаги. Для этого нажмём на кнопочку "Сервера подключения":
Перед Вами появиться панель управления ходом тестирования. Она пригодиться для подачи данных в тестер. А пока же нажмём на кнопку "Дополнительно":
Слева у нас две панели для показа данных, а также панель управления данными. Справа график приращения портфеля, шкала времени для тестирования и окно для установки проскальзывания
Для того чтобы запустить тестирование, необходимо подключить исторические данные нужного нам тикера.
Источник.
В Os.Engine существует две возможности подключения исторических данных, которые можно увидеть если нажать на значок стрелочек :
1. Set
2. Folder
Set - модуль для скачивания и хранения исторических данных свечей, тиков и срезов стакана с помощью коннекторов, а также с сервера Finam.
Если мы пользуемся этим способом трансляции данных, то в строке выбора тестируемого инструмента "Cеты":
1. Жмем на стрелочки
2. Выбираем инструмент
2. Folder – загрузка заранее скаченных данных из папки. Необходимо указать путь к папке со скаченными тикерами с помощью кнопки «Указать в папке». В папке можно хранить только тикеры одного тайм-фрейма
Ищем нужную папку, открываем ее:
1. Выбираем папку с нужным сетом
2. Жмем "Ок"
Данные появляются в строке:
Формат хранения текстовый файл как в примере:
Транслируем-содержит 5 разных видов данных, которые служат для различных задач и помогают улучшать результаты оптимизации
1. Жмем на стрелочки
2. Выбираем нужный вид данных
• Candle - готовые свечки
• TickAllCandleState – тики, и все изменения свечей
• TickOnlyReadyCandle –тики, а свечи только по их завершению
• MarketDepthAllCandleState – стаканы и все изменения свечей
• MarketDepthOnlyReadyCandle –стаканы, а свечи только по их завершению
После выбора данных, и успешной их подгрузки, тикеры станут видны в левом нижнем экране:
Период за которые берутся данные выставляется автоматически:
Добавление робота
Возвращаемся в основное меню тестера и жмем на кнопку: "Добавить бота":
Открывается панель "Создания робота":
1. "Имя"- строка куда нужно вписать имя нашего бота
2. "Скрипты"-при нажатии открывается список роботов, которые вы написали или добавили самостоятельно
3. "Встроенные"- бесплатные роботы, которыми можно воспользоваться для тестирования
4. Список роботов, которые есть в наличии
5. Бегунок
6. "Принять"- кнопка подтверждения выбора
Если все сделано правильно, то робот появится в окне:
Удаление роботов
Если вы хотите удалить робота, которого ранее добавили в тестер, то жмем кнопку- "Удалить":
1. "Нет"- отменяет выбранную команду
2. "Принять"-подтверждает выбранное действие
Роботы могут быть как с параметрами, так и без. Если бот которого вы добавили в тестер не имеет параметров, то при нажатии на кнопку - "Параметры", система об этом вам скажет, и вы просто пропустите этот пункт настроек:
Поскольку у нас в примере бот с параметрами, то при нажатии на кнопку "Параметры" у нас появляется соответствующее окошко, в котором мы задаем настройки:
Затем:
1. Меняем режим с "Off" на тот который нам нужен
2. После выполнения всех нужных действий жмем "Принять"
Настройка данных
Для того чтобы панель подключилась к серверу, и начала получать данные - надо нажать на кнопку «Настройки данных":
1. Тип комисии имеет три режима:
• None- не учитывать комиссию
• OneLotFit- комиссия по лотам
• Persent- комиссия в %
2. Значение комиссии - для каждой биржи индивидуален
3. Класс бумаг. Фильтр для следующего поля- выбираем нужный нам класс
4. Инструмент, данные по которому будут браться и которые мы будем тестировать- ставим галочку
5. Тайм-фрейм – временной интервал
6. Принять- кнопка подтверждения
Риск-менеджер
В платформе реализованы два уровня риск менеджмента:
1. Глобальный риск менеджер следит за просадкой всех панелей.
2. Локальные риск менеджеры, контролируют просадку отдельной панели.
Вызывая соответствующие меню, можно настраивать их работу:
Настройки интуитивно понятны и подписаны. Здесь можно установить панели/платформе лимит убытков на день и тип реакции на этот убыток.
Сопровождение позиций
Для любой позиции открытой в рамках панели можно назначить стандартные способы по ее сопровождению.
Перед нами появится следующее окно:
1. Стоп
2. Закрытие позиции 6. Открытие позиции
3. Ордер на закрытие отозван
4. Профит
5. Включить
• Ставим галочки там, где хотим, чтобы учитывалось в тестах
7.Тип переменных
8. Принять
ВАЖНО!!!
• Эти настройки не заменяют и не настраивают индивидуальных тактик выставления стопов и профитов внутри роботов. Если в рамках робота предусмотрен стоп и дополнительно настроить эту панель - то возникнет конфликт!
• Не отключайте "Реакцию на отзыв заявок на закрытие"! В этом случае вы остаётесь
беззащитны во время резких движений рынка!
• У каждой вкладки на панели, отдельные настройки сопровождения! Если ваш робот использует несколько инструментов, надо убедиться, что сопровождение настраивалось у всех вкладок.
• У рынка FORTS нет Market заявок. Чтобы гарантировать закрытие открытых позиций при исключительных ситуациях нужно ставить тип ордера Limit.
Построение индекса
Если у вас робот, в логике которого прописан индекс, то чтобы он работал нужно его добавить и записать формулу по которой он будет рассчитываться.
Для этого идем в "Настройки данных":
Далее в открывшемся окне жмем на "+":
Затем:
1. Портфель для операций
• Жмем на стрелочки и выбираем- "GodMode"
2. Класс бумаг
• Снова жмем на стрелочки и выбираем "TestClass"
3. Выбрать инструменты можно вручную поставив галочки на против тех, что будем использовать
4. Если поставить галочку в окошке "Выбрать все", то выберутся все инструменты из списка
5. После того как выполнили все необходимые операции жмем на кнопку "Принять"
Видим, что выбранные бумаги добавились, теперь:
1. При добавлении бумаги, ей присваивается номер индекса. Это уникальное имя будет использоваться в формуле
2. Пишем формулу расчета (может отличаться от приведенного примера)
3. Жмем "Принять"
Если нужно удалить бумагу из списка жмем на "-":
Запуск тестирования
Для того чтобы начать тест снова идем в "Сервера подключения":
Открывается уже знакомое нам окно:
1. Нажатие на кнопку "Начать тест" начинает тестирование с самого начала. В этот момент в эмуляторе стираются все Ваши старые позиции. Портфель приходит в исходное состояние. И начинается побаровая/потиковая подача данных из сервера.
2. Кнопка ">>>>>>"- позволяет включить тестирование в режим перемотки. В этом режиме все визуальные представления панели исчезает. В этом режиме тестирование идёт в десятки раз быстрее, т.к. прорисовка элементов является самым тяжелым элементом в роботе.
3. Кнопка "||"- останавливает и запускает вновь процесс подачи данных.
4. Кнопка "+1"- подгружает одну свечку и переходит в состояние паузы.
5. Кнопка ">> к сделке"- переход к следующей сделке
6. Кнопка">> переход к" – позволяет перейти к интересующей нас дате:
1) Ставим нужную дату
2) Жмем принять
Журнал
Всю статистику по торговле или тестировании можно посмотреть в журнале. Журнал доступен по нажатию одноименной кнопки в главном меню:
Эквити
При открытии журнала, мы сразу попадаем во вкладку "Эквити". В данной вкладке представлена графическая информация о приросте счета. Отображается общая прибыль, а также отдельно по лонговым и шортовым сделкам:
Статистика
• Чистый П\У - прибыль или убыток в результате всех операций.
• Чистый П\У % - прибыль или убыток в % в отношении капитала
• Количество сделок - ...
• Profit Factor – отношение полученной прибыли за определенный временной промежуток к убыткам
• Recovery – показывает, насколько прибыль превышает глубину максимальной просадки.
• Прибыльных % - процент прибыльных сделок от общего их числа
• Сред. П\У 1 контракт - среднее движение инструмента, за время нахождения нас в позиции. Как буд-то мы входим 1 контрактом.
• Сред. П\У 1 контракт % движение - среднее движение инструмента в %, за время нахождения нас в позиции. Как буд-то мы входим 1 контрактом.
• Сред. П\У стандарт - средняя прибыль с позиции
• Сред. П\У % капитал - средняя прибыль с позиции в отношении портфеля
• Максимум подряд - кол-во прибыльных позиции подряд 5.2 Общий журнал. Просадка
• Убыточных сделок - ...
• Убыточных % - процент прибыльных сделок от общего их числа
• Сред. П\У 1 контракт - среднее движение инструмента, за время нахождения нас в позиции. Как буд-то мы входим 1 контрактом.
• Сред. П\У 1 контракт % - среднее движение инструмента в %, за время нахождения нас в позиции. Как буд-то мы входим 1 контрактом.
• Сред. П\У стандарт - средняя прибыль с позиции
• Сред. П\У % капитал - средняя прибыль с позиции в отношении портфеля
• Максимум подряд - кол-во прибыльных позиции подряд
Просадка
Данная вкладка показывает динамику изменения просадки за торгуемый период
Объем
Данная вкладка показывает максимальный торгуемый объем:
Эта вкладка будет полезна для контроля и мониторинга объемов торгов. Это очень удобно, когда подключено множество различных торговых алгоритмов и торговля ведется на различных инструментах.
Открытые позиции
Данная вкладка показывает текущие открытые позиции, которые бот ведет в данный момент:
Закрытые позиции
В этой вкладке отображаются все закрытые сделки, или по-другому таблица всех исполненных трейдов:
Вот, пожалуй, и все. Удачных тестов и прибыльной торговли!
PS:
Если что-то не получилось или остались вопросы пишите в чат поддержки, ссылка:
https://t.me/osengine_official_support
Комментарии