Оптимизатор в OsEngine.

Оптимизатор в OsEngine.

Этот модуль позволяет тестировать одного робота с различными настройками, с автоматическим перебором параметров. В отличии от тестера, в котором одновременно можно запустить множество различных стратегий, оптимизатор может запустить одномоментно только одну стратегию. Но делает он это в многопоточном режиме и много раз одновременно. Что позволяет в кратчайшие строки выявить хорошие и стабильные настройки для робота. Для того, чтобы быть загруженными в оптимизатор, в Ваших стратегиях должны быть реализованы настройки через параметры. В стандартной сборке есть минимум пять примеров таких ботов. Если параметров у бота нет, данные роботы не отразятся в списке возможных для оптимизации ботов.

Внимание!!! Оптимизация очень затратная и тяжелая для процессора задача. В ходе которой, в некоторых случаях, загрузка процессора приближается к ста процентам в течении нескольких десятков минут и часов. Если Вы давно не прочищали свои вентиляторы и Ваша термопаста на процессоре попала туда несколько лет назад, сейчас самое время заняться плановым обслуживанием процессора.

 Для начала работы запускаем exe файл с платформой:

 

Попадаем в главное меню, выбираем «Оптимизатор»:

Открывается в вот такое окно настроек:

Сейчас поэтапно пройдемся по каждой кнопке и посмотрим, для чего они нужны.

Управление.

Здесь находится основное меню настроек:

Первое, что нужно сделать, настроить сет данных, из которых робот будет брать данные. Чтобы это осуществить, идем в «Настройки сервера данных»:

После чего выбрать сет данных:

Выбор источника данных:

1.Жмем на стрелочки.

2. «Set» - сеты данных, скаченные при помощи OsData.

3. «Folder» - данные, скаченные из других источников (не рекомендуется, т.к. не все типы данных принимаются. Подробное описание форматов в инструкции к OsTester.

Тип транслируемых данных:


1.Снова жмем на стрелочки.

2. «Candle» -  свечи.

3. «TickOnlyReadyCandle» - тиковые данные. 

4. «MarketDepthOnlyReadyCandle» - стаканы.

 

Далее идем в «Сеты»:

1. Стрелочки.

2 Выбираем из ранее скаченных нужный тайм-фрейм.

Время начала и завершения тестирования выставляется автоматически, после выбора сета:

Путь к папке с данными. Если выбран источник Folde (сет не трогаем):

После завершения всех настроек данной вкладки жмем на крестик и идем добавлять робота:

Жмем на кнопку «Выбрать», затем:

1. «Встроенные» - бесплатный набор ботов, который встроен в нашу платформу.

2. «Скрипты» - роботы, которые добавляются Вами и хранятся в папке «Robots».

3. Выбираем бота.

4. Жмем «Принять».

 

Если выбрать стратегию с индексом и несколькими инструментами, то нужно будет настроить и индексы:

1. Жмем на стрелочки и выбираем инструмент.

2. Жмём на кнопку добавить столько раз, сколько бумаг нам нужно в индексе.

3. Выбираем таймФрейм для бумаг и индекса.

4. Вводим формулу для рассчёта индекса. В качестве возможных знаков она принимает: 

  • () скобки;
  • + - * / стандартныые знаки;
  • номера бумаг формата из таблицы;
  • целые числа;

5. Жмем «Принять».

Затем идем в «Пaраметры»:

  1. Включаем те параметры, которые мы хотим оптимизировать (можно несколько).
  2. Выбираем стартовое значение, шаг приращения и последнее значение для параметров оптимизации. Внимание! Параметры, не включенные галочкой в перебор, будут иметь все итерации «Стартовые значения».
  3. Выбираем для string и bool параметров значения, которыми они будут обладать во время всех обходов. Эти параметры не перебираются. Переводим в режим «On».
  4. Все остальные параметры, которые не были выбраны для оптимизации, подсвечиваются серым цветом, и их оптимизировать будет нельзя.
  5. Следим за количеством ботов. Большое число очень сильно затормозит процесс (до 5000 нормально).
  6. «Вернуть стандартные параметры» - при нажатии этой кнопки, все параметры возвращаются к исходным значениям, которые были выставлены по умолчанию.

1. Переходим в «Этапы».

2. Жмем на «Создать схему оптимизации».

3. Подбираем числа таким образом, чтобы значение InSample было от 700 до 800, а значение OutOfSample от 100 до 120. (Эти значения зависят от периода тестирования. Чем он больше, тем и больше значения.)

Во вкладке «Фильтры» все выставляется автоматически и лучше ничего там не трогать:

После того, как все настройки сделаны, возвращаемся во вкладку «Управление» и запускаем оптимизацию:

1. Выставляем количество потоков.

2. Жмем «Погнали!».

Важно! Не устанавливайте большое количество потоков, если не готовы к тому, чтобы у Вас зависли все остальные процессы в Windows. Следите за тем, сколько памяти потребляет оптимизатор. Если это необходимо, перезагружайте программу между перезапусками оптимизации. Как следует оттестируйте стратегию в обычном Тестере, чтобы в ней не было проблем и ошибок до перехода к её оптимизации.

Работа с результатами.

После завершения процесса оптимизации идем во вкладку «Результаты»:

Затем выбираем «Статистика по Out of sample»:

Далее:

  1. Жмем на стрелочки.
  2. Выбираем характеристику, по которой нам нужны результаты оптимизации, например «Average Profit Percent».
  3. Показатель робастности - показывает устойчивость нашей стратегии по отношению к различным факторам (чем выше, тем лучше). 

4. Итоговый профит - окно общего профита, собранного из результатов в Out Of Sample.

5. Профит фактор - отношение прибыли к убытку. Как по отдельному OOS, так и Average.

6. Окно результатов по PL % 1 contract - как по отдельному OOS, так и Average.

Делаем скрин и далее:

1. Идем во вкладку «Серии и результаты».

2. Листаем в конец серии.

3. Жмем на последнее значение.

4. Выбираем нужную нам характеристику, например «Average Profit %».

5. «Параметры».

Видим вот такое окошко:

Если есть желание, то можно нажать на «График» и посмотреть его:

 

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

Теперь можно снова вернуться во вкладку «Параметры» и поменять там немного оптимизируемые значения. И снова запустить процесс оптимизации. И так до получения желательного результата.

PS:

Если что-то не получилось или остались вопросы, пишите в чат поддержки, ссылка:

https://t.me/osengine_official_support

 

14:40
291
Seo

Комментарии

Нет комментариев. Ваш будет первым!