Форекс Статьи

Тестер стратегий в торговом терминале Metatrader 4. Работа с ним

С тех пор, как появилась возможность участвовать в торгах через интернет для всех желающих, рынок брокерских услуг непрерывно расширяется. Если раньше было 3-4 основных дилинговых центра, то сейчас их несколько десятков представлено в одной только России, а с учётом зарубежных получается и вовсе больше сотни.

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

 

Это прекрасно зарекомендовавшая себя рабочая программа обладает хорошим функционалом для анализа рынка – графического, технического и волнового. Но, что самое главное, в терминале предусмотрена возможность автоматизации торгового процесса путём переноса своей стратегии в виде алгоритма, написанного на языке программирования Metaquotes, имеющего много общего с популярнейшим С++.

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

 

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

То есть, создаётся эмуляция торговли по какому-либо инструменту за указанный период времени. На основании результатов можно принимать решение – подходит он для торговли или нет, а если это сторонняя разработка, стоит ли покупать. Хотя, обычно продающиеся советники сопровождаются данными результатов на истории, но лишняя проверка не помешает, если есть такая возможность. 

Итак, написав программу или же скачав где-то уже готовый советник, начинаем его тестировать. Для этого нужно в терминале найти кнопку “Тестер стратегий”, находящуюся на панели инструментов в верхней части терминала, как показано на картинке ниже. Также можно в верхней строке выбрать вкладку “Вид” и в выпадающем меню будет тестер. Третий вариант запустить его – это комбинация клавиш Ctrl+R. 

 

 

Поскольку терминал постоянно обновляется, появляются новые билды, перед скачиванием советника стоит убедиться, что он подходит под последний билд, который использует выбранный брокер. Бывает так, что программа просто не видит индикатор или советник и не отображает их в списке доступных, несмотря на то, что они находятся в нужной папке(путь: папка с терминалом – MQL – experts для советников или indicators для индикаторов).

Если неизвестно, где папка с терминалом, то можно щёлкнуть по кнопке “Файл” и в выпавшем меню выбрать “Каталог данных”. Откроется папка, содержащая всё вышеуказанное. Если всё в порядке, то открыв тестер, увидим вот такой раздел в нижней части окна терминала:

 

Здесь представлены все параметры для тестирования выбранного алгоритма. Файлы с кодом имеют расширение mq4 или mq5, скомпилированные же имеют ex4 и ex5 соответственно. Цифры обозначают версию терминала – MetaTrader4 и MetaTrader5.

По умолчанию в списке обычно присутствуют два стандартных советника – Moving Average и MACD Sample, а также могут быть разработки от самого брокера или же включённые в поставку терминала какие-либо известные советники и алгоритмы, переложенные на этот язык программирования. Выбрав нужный советник, переходим к настройкам тестирования, которые достаточно многообразны и содержат несколько пунктов. 

 

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

 

 

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

 

Следующий пункт – временной период. Каждая стратегия рассчитана на определённый тайм-фрейм, на котором она показывает оптимальные результаты. Нередко случается, что изначально разработанная для получасового периода стратегия даёт намного более впечатляющий результат на четырёхчасовом.

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

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

Только такой метод даёт действительно полноценное представление о том, чего можно ждать от советника и как он ведёт себя в разных ситуациях, когда одна единственная минутная свеча будет содержать значительные колебания, как бывает при публикации важных макроэкономических показателей – рынок труда США, процентные ставки, инфляция, ВВП и так далее.

 

 

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

 

Использование параметра указания периода позволяет выбрать временной промежуток, на котором будет проходить торговля советника. Сразу нужно отметить, что использовать разумно период не более 10-15 лет, так как именно на это время приходится развитие технологий и увеличение объёма торгов, а также рост активности маржинальной торговли.

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

И особое внимание нужно уделять показателям за последние 2-3 года, то есть делать отдельный прогон по этому промежутку, либо в отчёте смотреть за динамикой баланса в это время. Существует мнение, что все новые алгоритмы со временем начинают давать более скромные результаты.

 

 

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

 

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

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

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

 

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

Это достаточно полезная вариативность позволит выделить слабые и сильные стороны, так как не всегда советники одинаково эффективно работают в обе стороны. Бывает, что длинные позиции получаются прибыльными, а короткие, наоборот, убыточными. 

 

Параметр оптимизации позволяет оттачивать алгоритм относительно ключевых параметров – максимальная прибыль, самая глубокая просадка и так далее. Используется при многократных прогонах стратегии на истории, активно применяемая разработчиками функция.

Следующая вкладка в свойства эксперта – входные параметры самого алгоритма. Здесь задаётся размер тейка, стопа, лота. Меняя при тестировании значение того или иного параметра можно значительно изменить результативность советника, поэтому стоит потратить время и посмотреть, как меняется его торговля в зависимости от смены размеров вышеуказанных величин. 

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

 

В нижней части окошка тестера стратегий вторая вкладка называется “Журнал”. Здесь отображается всё происходящее, все события. 

Конечно же, наибольший интерес представляет результат тестирования, который выдаётся в виде удобного для восприятия отчёта. Здесь показываются абсолютно все ключевые моменты – заработанная прибыль, общая прибыль, общий убыток по всем сделкам, максимальная просадка, средняя просадка и так далее, параметров огромное количество, и можно в мельчайших подробностях изучить деятельность робота. И уже в соответствии с тем, что он покажет принимать решение об использовании или же дальнейшей доработке. 

 

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

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

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

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

 

Видео - уроки

Видео - уроки

Рейтинг Банков

Рейтинг Банков

Банки России

Банки России

У нас читают

Подписка на новости нашего финансового портала