Перейти к содержанию

Как провести бэктестинг сиБота в cTrader

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

Бэктестинг в cTrader

СиБоты — это полностью настраиваемые торговые роботы, которые вы можете настроить для выполнения различных торговых действий при обнаружении определенных движений рынка и событий, таких как пересечения Moving Average Convergence Divergence (MACD).

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

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

Мы настоятельно рекомендуем проводить тщательный бэктестинг для любых сиБотов, которые вы создали самостоятельно или приобрели через другие каналы.

Доступ к бэктестингу

Чтобы получить доступ к бэктестингу, сначала выберите существующий экземпляр сиБота, который вы хотели бы оценить. Чуть ниже самой верхней панели в интерфейсе (той, которая содержит кнопку Назад), вы должны увидеть несколько вкладок, причем первая вкладка содержит торговый график, на котором работает выбранный в данный момент экземпляр.

Вкладка Бэктестинг должна находиться непосредственно справа от нее. Нажмите на нее, чтобы переключиться в область бэктестинга.

Image title

После открытия этой вкладки вы должны увидеть следующий интерфейс.

Image title

Установка периода

Как было сказано ранее, бэктестинг позволяет запустить экземпляр сиБота на исторических рыночных данных. У вас есть несколько вариантов для определения точного периода, который должен охватывать процесс бэктестинга.

Использование ползунка

Календарный ползунок расположен ближе к верхней части вкладки Бэктестинг.

Image title

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

Используйте меню

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

Image title

Чтобы убедиться, что период бэктестинга составляет ровно 2 года, мы можем открыть меню слева и выбрать 30 ноября 2020 года в качестве новой даты начала.

Настройте параметры

Перед выполнением бэктестинга нажмите значок шестеренки слева от крайнего левого меню календаря. Вы должны увидеть следующие настройки.

Image title

Открыв этот раздел, выполните следующие действия.

  • В поле Стартовый капитал укажите начальные средства, с которыми начнет работу ваш сиБот.
  • Откройте меню Комиссия и выберите (или введите) комиссию, которую ваш сиБот будет платить после торговли объемом в миллион единиц.
  • В меню Данные настройте источник исторических данных для бэктестинга. Как правило, получение данных м1 с сервера является хорошим компромиссом между точностью и ресурсоемкостью бэктестинга. Обратите внимание, что вы также можете загрузить пользовательские данные из локально сохраненного файла .CSV.
  • Выберите фиксированные или случайные спреды в подразделе Спреды. Нажмите Live, чтобы сопоставить фиксированный спред (если он выбран) с текущим спредом инструмента.

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

Выберите режим

Вы можете выбрать просмотр результатов бэктестинга (позиций, открытых вашим сиБотом) по мере их возникновения. Эта функция особенно полезна для обнаружения определенных событий и условий, при которых ваш сиБот ведет себя не так, как ожидалось.

Чтобы получить к ней доступ, включите флажок Визуальный режим чуть ниже и слева от ползунка календаря. В меню Скорость выберите скорость, с которой будет воспроизводиться выбранный торговый график. Обратите внимание, что вы всегда можете изменить скорость проигрывания во время бэктестинга.

Image title

Или же оставьте флажок Визуальный режим отключенным. Вместо просмотра бэктестинга в режиме реального времени вы получите единовременный отчет с результатами бэктестинга в конце.

Пока мы оставим функцию визуального режима отключенной.

Запустите бэктестинг

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

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

В нашем случае процесс относительно быстрый, так как мы запросили информацию только за 2 года. Когда происходит бэктестинг, вы увидите, как полоса справа от флажка Визуальный режим постепенно перемещается слева направо.

Когда она полностью переместится вправо, процесс бэктестинга завершится.

Просмотрите результаты

Существует несколько способов оценить результаты бэктестинга. После завершения бэктестинга число в верхней центральной части торгового графика покажет общую чистую прибыль, полученную вашим сиБотом.

Image title

В нашем случае сиБот заработал значительную чистую прибыль в размере 503%.

Другой способ оценить производительность вашего сиБота — переключиться на вкладку Средства на торговой панели чуть ниже торгового графика. Вы увидите график с общим количеством сделок, совершенных вашим сиБотом, по оси X и средствами по оси Y.

Желтая линия будет отслеживать баланс вашего сиБота, а серая линия — его средства.

Image title

Мы видим, что наш сиБот хорошо справлялся на протяжении всего бэктестинга, но могут быть случаи, когда мы захотим внести коррективы, прежде чем предоставить ему доступ к реальным средствам.

И наконец, вкладка Статистика сделок отобразит совокупную статистику обо всех торговых действиях, выполненных вашим сиБотом.

Image title

Мы видим, что наша общая доходность была отличной. Робот совершил в общей сложности 271 прибыльную сделку, и огромная часть (33 009,55) от общей доходности была получена всего одной сделкой! Очевидно, что у сиБота есть потенциал для совершения рискованных операций.

Бэктестинг — отличный способ убедиться, что ваш сиБот работает так, как ожидается. Используя подробную статистику и график средств, вы можете точно определить ценовые моменты, когда тестируемый робот совершал правильные (или неправильные) действия. Бэктестинг также полностью настраиваемый, что позволяет обучать ваших сиБотов в совершенно разных условиях.