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. Кнопка">> переход к" – позволяет перейти к интересующей нас дате:

1) Ставим нужную дату

2) Жмем принять

Журнал

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

Эквити

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

 Статистика

Чистый П\У - прибыль или убыток в результате всех операций.

Чистый П\У % - прибыль или убыток в % в отношении капитала

Количество сделок - ... 

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
77
Seo

Комментарии

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