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

Тестирование советников в МТ4 позволяет проверить любой торговый робот на любой валютной паре (металлах, нефти и прочих инструментах, торговлю которыми позволяет ДЦ). Достаточно только вызвать тестер стратегий сочетанием клавиш Ctrl+R или выбрав во вкладке Вид «Тестер стратегий».

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

Как выполняется тестирование советников в МТ4

Сперва советник нужно установить, для этого во вкладке файл жмем на «Открыть каталог данных» в открывшейся папке переходим в MQL4-Experts и вставляем файлы с расширением .ex4 и . mq4. Иногда в комплекте с самим советником идут библиотеки (файлы с расширением .dll), а также файлы с настройками (их помещаем в папку Presets).

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

Самый точный – с учетом всех тиков, в нормальных условиях позволяет достичь точности тестирования в 90%. При этом тестер стратегий будет использовать данные не только с того таймфрейма, который был выбран, но и всех доступных меньших временных интервалов. То есть если в тестере был выбран временной интервал Н1, то использоваться будут данные со всех доступных меньших таймфреймов вплоть до минутного.

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

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

Есть и третий вариант – по ценам открытия, при этом тестер вводит существенное упрощение, вводя равенство 1 свеча = 1 тик. То есть предполагается, что внутри свечи цена не двигалась, хотя это, конечно, не так. Использоваться может только в алгоритмах, в которых особое значение отведено цене открытия свечи, для прочих роботов не способен дать адекватный результат.

Готовимся к тесту

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

После этого нужно загрузить эти котировки (их предоставляет брокер), загрузка также ведется через терминал. Переходим в Архив котировок (F2 либо Сервис-Архив котировок) и выбираем нужную пару, после двойного щелчка по ней откроется список таймфреймов, начинать загрузку нужно с самого младшего:

выделяем m1 и жмем Загрузить, после перезапускаем терминал и снова входим в архив котировок;

  • далее по двойному щелчку на m1 индикатор слева должен стать желто-зеленым, щелкаем по 2 раза по каждому следующему таймфрейму, чтобы данные пересчитались и для них, снова перезапускаем терминал;
  • повторяем процедуру для всех нужных валютных пар. Иногда бывает, что перезагружать котировки приходится раз по 10, здесь уже все зависит от того, полноценные ли данные предоставляет брокер.

 

Только после этого начинаем тестирование советников, переходим в тестер стратегий и настраиваем его:

  • задаем дату начала и конца теста, если этого не сделать, то тестер будет выполнять тест на основе всей имеющейся у него истории;
  • в окне Свойства эксперта можно изменить настройки робота, задать нужный стартовый капитал, также здесь находится вкладка Оптимизация, она пригодится при подборе оптимальных параметров робота;

 

  • Свойства символа – эта информация носит исключительно справочный характер, изменить здесь ничего нельзя да и не нужно;

 

  • окно Открыть график – пригодится уже после теста, можно посмотреть на графике все заключенные сделки;

 

  • кнопка Изменить эксперта – пригодится только при знании языка программирования и наличии исходного кода робота. Можно прямо из тестера стратегий изменить алгоритм торговли;

 

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

 

Почему возникают проблемы с точностью

Когда тестирование советников завершается во вкладке браузера тут же открывается окно с отчетом (его потом можно сохранить отдельно). Помимо основных показателей эффективности робота (просадка, соотношение прибыли и убытка) внимание стоит обратить и на качество моделирования, для всех таймфреймов оно должно составлять 90% и лишь на минутках качество будет равно 25%.

Если все в норме, то количество ошибок рассогласования будет равно 0, но часто архив котировок бывает неполным и тестер не может обеспечить качество моделирования даже на уровне 90%. В таком случае придется перекачать котировки и повторить тест заново.

Если все вышеописанные этапы не помогают, то причина, скорее всего, кроется в самом ДЦ, он просто предоставляет неполные данные, помочь тут сможет только смена брокера. А вообще имеет смысл установить 2 торговых терминала, один – для работы, а второй – для теста советников и прочих экспериментов.

Качества моделирования 90% может хватить для теста советников, торгующих на Н1 и больших таймфреймах, но если тестируется скальпер или пипсовщик, то качество моделирования нужно повыше. Дело в том, что по умолчанию тестер в МТ4 считает минутные бары за 1 тик, то есть считается, что цена изменяется один раз в минуту, если сравнить тиковый график и минутный, то видно, что это не так.

Эта особенность сильно влияет на тестирование советников на таймфреймах m5-m15, единственный способ повысить качество моделирования – использовать тиковые данные для теста. Но ДЦ, как правило, не дают возможности загружать их. Так что придется загрузить архив котировок со стороны, затем преобразовать данные так, чтобы их понял тестер МТ4 и только тогда можно получить точность тестирования в 99%.

Скачивание тиковых данных

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

  • сперва регистрируем демо-аккаунт на dukascopy.com;

 

  • после этого понадобится Java приложение JForex, этот терминал понадобится непосредственно для скачивания тиковой истории. Для работы приложения на ПК, возможно, придется установить Java, иначе файл просто не откроется;

 

  • запустив терминал нужно перейти в окно загрузки исторических данных (Tools – Historical Data Manager). Для того, чтобы потом не было проблем с преобразованием данных в поле «Разделитель» (Delimiter) выставляем запятую, а тип данных – тики (Ticks), отмечаем галочкой нужны пары, выбираем место сохранения данных и жмем старт.

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

Конвертация данных

Для преобразования тиковых данные в нужный формат понадобится простенький скрипт CSV2FXT (устанавливается по той же методике, что и советники, но файлы нужно скопировать в папку Scripts), в папку libraries вставляем библиотеку CsvReader.dll, а в папку Include – FXTHeader.mqh. Все нужные скрипты можно найти в свободном доступе.

Перед тем как выполнять преобразование тиковых данных и выполнять тестирование советников следует скопировать файл с расширением .csv (его мы ранее получили от Dukascopy) в папку Expert-Files. По желанию можно переименовать ее, назвав файл по имени валютной пары.

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

Далее запускаем скрипт (слева в окне навигатора в разделе скрипты должен отображаться скрипт CSV2FXT, он то нам и нужен). Просто перетаскиваем его на график и при необходимости меняем настройки перед запуском:

  • CsvFile – вручную указывается расположение файла с тиковыми данными (если ранее его переименовали по имени валютной пары, то это поле можно не трогать);
  • CreateHistory – активируется только при первом запуске (или в случае если после первого запуска еще подгружались данные);
  • Start/EndDate – если задать временные рамки, то будет выполнена конвертация только части загруженных тиковых данных, если же эти поля не заполнять, то конвертируются все данные;
  • Spread можно оставить без изменения или задать нужное значение;
  • GMTOffset – если оставить в этой строке 0, то данные будут заданы по GMT0, если нужен сдвиг в соответствии с часовым поясом, то просто задается нужное число (при тестировании в настройках советника нужно будет задать тот же сдвиг);
  • скрипт из тиковых данных создаст несколько файлов и сам переместит их в нужные папки (нужно только согласиться при запросе).

 

Патчим терминал и тестируем советники

Программа TickDataSuite пропатчит терминал так, что он сможет работать с новыми данными. Сама программа устанавливается в корневой каталог и запускается от имени администратора. Ключ, который запросит программа при первом запуске, можно получить здесь http://eareview.net/tick-data-suite/trial.

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

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

Подведение итогов

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

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

Социальные кнопки для Joomla