OsTester в OsEngine.

OsTester в OsEngine.

Приветствую. В этой статье будем разбирать такую полезную функцию в 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. Ордер на закрытие отозван.

  • Бывает такое, что у позиции отзывается или не срабатывает заявка на закрытие. Например, не сработал стоп приказ, так как рынок ушёл от него.  
  • На этот случай можно выставить реакцию. Market закроет Вашу позицию по рынку. Limit закроет её лимитным ордером с выставленным заранее проскальзыванием. 

4. Профит.

  • Обычный профит приказ, который будет выставлен по реальной цене входа в позицию +/- величина «От входа до Профита». Дополнительно можно выставить проскальзывание, с которым в систему будет выставлен конечный ордер на покупку/продажу. 
  • Макс откат от цены - расстояние в пунктах, на которое цена может «уйти» от цены ордера, после чего ордер будет отозван. 
  • Если заявка отзывается у ранее открытой позиции. То получается, что закрытие не сработало. В таком случае лучше воспользоваться блоком ниже. 

5. Включить.

  • Ставим галочки там, где хотим, чтобы учитывалось в тестах.

7. Тип переменных.

8. Принять.

  • Кнопка подтверждения настроек.

ВАЖНО!!!

  • Эти настройки не заменяют и не настраивают индивидуальных тактик выставления стопов и профитов внутри роботов. Если в рамках робота предусмотрен стоп и дополнительно настроить эту панель, то возникнет конфликт!
  • Не отключайте «Реакцию на отзыв заявок на закрытие»! В этом случае вы остаётесь беззащитны во время резких движений рынка!
  • У каждой вкладки на панели отдельные настройки сопровождения! Если ваш робот использует несколько инструментов, надо убедиться, что сопровождение настраивалось у всех вкладок.
  • У рынка FORTS нет Market заявок. Чтобы гарантировать закрытие открытых позиций при исключительных ситуациях, нужно ставить тип ордера Limit.

Построение индекса.

Если у вас робот, в логике которого прописан индекс, то чтобы он работал, нужно его добавить и записать формулу, по которой он будет рассчитываться.

Для этого идем в «Настройки данных»:

 Далее, в открывшемся окне, жмем на «+»:

 

Затем:

1. Портфель для операций.

  • Жмем на стрелочки и выбираем - «GodMode».

2. Класс бумаг.

  • Снова жмем на стрелочки и выбираем «TestClass».

3. Выбрать инструменты можно вручную, поставив галочки напротив тех, что будем использовать.

4. Если поставить галочку в окошке «Выбрать все», то выберутся все инструменты из списка.

5. После того, как выполнили все необходимые операции, жмем на кнопку «Принять».

Видим, что выбранные бумаги добавились, теперь:

1. При добавлении бумаги, ей присваивается номер индекса. Это уникальное имя будет использоваться в формуле.

2. Пишем формулу расчета (может отличаться от приведенного примера).

3. Жмем "Принять».


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

Запуск тестирования.

Для того, чтобы начать тест снова идем в «Сервера подключения»:

 

 Открывается уже знакомое нам окно:

1. Нажатие на кнопку «Начать тест» начинает тестирование с самого начала. В этот момент в эмуляторе стираются все Ваши старые позиции. Портфель приходит в исходное состояние. И начинается побаровая/потиковая подача данных из сервера.

2. Кнопка «>>>>>>»- позволяет включить тестирование в режим перемотки. В этом режиме все визуальные представления панели исчезают. В этом режиме тестирование идёт в десятки раз быстрее, так как прорисовка элементов является самым тяжелым элементом в роботе.

3. Кнопка «||» - останавливает и запускает вновь процесс подачи данных.

4. Кнопка «+1» - подгружает одну свечку и переходит в состояние паузы. 

5. Кнопка «>> к сделке» - переход к следующей сделке.

6. Кнопка «>> переход к» – позволяет перейти к интересующей нас дате:

  • Ставим нужную дату.
  • Жмем принять.

Журнал.

Всю статистику по торговле или тестированию можно посмотреть в журнале. Журнал доступен по нажатию одноименной кнопки в главном меню:

Эквити.

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

Статистика.

  • Чистый П\У - прибыль или убыток в результате всех операций.
  • Чистый П\У % - прибыль или убыток в % в отношении капитала.
  • Количество сделок - ...
  • Profit Factor – отношение полученной прибыли за определенный временной промежуток к убыткам.
  • Recovery – показывает на сколько прибыль превышает глубину максимальной просадки.

  • Сред. П\У  1 контракт - усреднённое значение прибыли с движения в абсолютном выражении без учёта объёма. Как будто мы входим 1 контрактом. Без учёта объёмов, которыми заходим. 
  • Сред. П\У 1 контракт % - усреднённое значение прибыли с движения в процентном выражении без учёта объёма. Без учёта объёмов, которыми заходим. Как будто мы входим 1 контрактом. Только движение инструмента от входа до выхода.
  • Сред. П\У стандарт - усреднённое значение прибыли с движения в абсолютном выражении с учётом объёма. 
  • Сред. П\У % капитал - усреднённое значение прибыли с движения в процентном выражении с учётом объёма, рассчитанный относительно предыдущего значения портфеля.

  •  Прибыльных сделок - ...
  • Прибыльных % - процент прибыльных сделок от общего их числа.
  • Сред. П\У 1 контракт - среднее движение инструмента за время нахождения нас в позиции. Как будто мы входим 1 контрактом.
  • Сред. П\У 1 контракт % движение - среднее движение инструмента в % за время нахождения нас в позиции. Как будто мы входим 1 контрактом.
  • Сред. П\У стандарт - средняя прибыль с позиции.
  • Сред. П\У % капитал - средняя прибыль с позиции в отношении портфеля.
  • Максимум подряд - количество прибыльных позиции подряд 5.2 Общий журнал. Просадка 

 

    • Убыточных сделок - ... 

    • Убыточных % - процент прибыльных сделок от общего их числа. 

    • Сред. П\У 1 контракт - среднее движение инструмента за время нахождения нас в позиции. Как будто мы входим 1 контрактом. 

    • Сред. П\У 1 контракт  %  - среднее движение инструмента в % за время нахождения нас в позиции. Как будто мы входим 1 контрактом.  

    • Сред. П\У стандарт - средняя прибыль с позиции 

    • Сред. П\У % капитал - средняя прибыль с позиции в отношении портфеля. 

    • Максимум подряд - количество прибыльных позиции подряд.


Просадка.

Данная вкладка показывает динамику изменения просадки за торгуемый период.

Объем.

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

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

Открытые позиции.

Данная вкладка показывает текущие открытые позиции, которые бот ведет в данный момент.

  

 

  • Бот – название вкладки которая осуществляет трейд. 
  • Инструмент – наименование инструмента. 
  • Направление – направление сделки Buy или Sell. 
  • Состояние – текущее состояние трейда. 
  • Объем – объем сделки, которым бот должен войти в рынок. 
  • Текущий – исполненный объем. 
  • Ожидает – объем не исполненный, но ожидает исполнения. 
  • Цена входа – цена, по которой бот зашел в позицию. 
  • Цена выхода – цена, по которой бот вышел из позиции. 
  • Прибыль – вариационная маржа от данного трейда. 
  • Стоп Активация – цена активации стоп заявки. После достижения данной цены будет выставлена заявка. 
  • Стоп Цена –  цена, по которой бот исполнит стоп заявку. 
  • Профит Активация – цена активации профит заявки. После достижения данной цены будет выставлена заявка. 
  • Профит Цена - цена, по которой бот исполнит профит заявку. 

Закрытые позиции.

В этой вкладке отображаются все закрытые сделки или, по-другому, таблица всех исполненных трейдов.

 

Вот, пожалуй, и все. Удачных тестов и прибыльной торговли!

 

PS:

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

https://t.me/osengine_official_support

 

 

 

 

 

 

12:27
223
Seo

Комментарии

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