Как тестировать советника в mt4
Учимся тестировать советник для проверки его эффективности
Друзья, в данной статье я хочу продолжить тему торговых роботов на рынке Форекс, и подробно остановиться на пункте как тестировать советник и для чего это собственно нужно.
Любой автоматический робот, не важно откуда Вы его скачали или где купили, должен в обязательном порядке проходить процедуру тестирования на истории котировок. Это нужно делать для того, чтобы проверить эксперта на работоспособность.
Итак, для того чтобы протестировать советник для торговли на Форекс, можно использовать один из инструментов торгового терминала, а именно — тестер стратегий. Я уже затрагивал эту тему когда описывал ручное тестирование стратегии мануала по построению торговой системы (часть 3). Но в этой статье мы рассмотрим все подробно.
После того, как Вы установили советник в МТ4, открываем тестер стратегий. Для этого заходим на вкладку « Вид » на панели инструментов терминала MetaTrader 4, и там выбираем « Тестер стратегий » (или нажать клавишу F5 для быстрого вызова).
Пройдемся по его функционалу.
Вкладка «Советник» — здесь выбираем торгового робота, которого нужно тестировать.
«Модель» — существуют следующие модели по которым можна тестировать советник:
«Использовать дату с и по» — период, за который будем тестировать советник на Форекс. Если не поставить галочку, то тестирование будет проводиться на всей доступной истории котировок в торговом терминале.
«Визуализация» — данная функция нужна для того, чтобы в окне торгового терминала наглядно наблюдать процесс тестирования советника форекс, т.е. как он открывает позиции, какие проставляет уровни стоп лосс, тейк профит и т.д. С помощью прокрутки можно изменять скорость процесса наглядного тестирования.
«Свойства эксперта» — это важнейшая функция, в которой вводятся параметры оптимизации и тестирования советника. Стандартные входные параметры для робота MACD Sample показано на рисунке ниже:
Кроме того, в окне присутствуют еще 2 вкладки, это:
«Свойства символа» — информационно представлены торговые характеристики выбранной валютной пары.
«Изменить эксперта» — функция, которая открывает программный код эксперта в редакторе MetaEditor, для дальнейшей его корректировки.
«Период» — таймфрейм на котором будем тестировать советник.
Галочка «Оптимизация» — ставится только в том случае, когда будет проходить уже оптимизация эксперта (при тестировании не ставить), об этом мы более подробно остановиться когда будем рассматривать тему как оптимизировать советник.
Итак, когда провели вышеуказанные настройки для теста советника, далее нужно загрузить историю котировок, на которой собственно и будет проходить тестирование. Для этого, заходим на вкладку « Сервис » панели инструментов МТ4, пункт « Архив котировок «. В открывшемся окне, в левой панели разворачиваем вкладку Forex / выбираем нужную валютную пару (по которой мы будем тестировать советник) / открываем (двойным кликом мыши) 1 минутные котировки, и нажимаем на кнопку « Загрузить «.
После того как все загрузилось, можем начать тестировать советник, для этого нажимаем кнопку « Старт » в окне тестера стратегий.
Теперь, когда тестирование советника с указанными настройками и параметрами завершено, мы можем посмотреть и проанализировать результаты по следующим вкладкам:
Как видим на графике, советник (из стандартными параметрами), первые полгода торговал достаточно прибыльно, после этого в июле 2011 последовал резкий слив депозита :-(, и с августа до конца года был постепенный рост к предыдущему максимальному уровню прибыли (которая составила 452$ за целый год). Вывод: нужно проводить оптимизацию. Для того чтобы не пропустить следующие интересные статьи о торговых советника обязательно подписывайтесь на обновления.
Пока на этом все. Думаю, теперь вы знаете как тестировать советник при помощи тестера стратегий и уверен, что данная информация Вам пригодится для автоматической торговли на рынке Форекс.
Как тестировать советники с качеством 99% – легко, бесплатно, легально
Здравствуйте, уважаемые коллеги форекс трейдеры!
Что случилось с Tickstory Lite?
Беда пришла, откуда не ждали: Tickstory Lite стал коммерческим продуктом. По адресу https://tickstory.com/download-tickstory/ мы видим следующее:
То есть бесплатно можно использовать программу лишь до 765-го билда MT4, в то время как номера современных билдов давно перевалили за тысячу.
Что же делать? Искать в интернете старые версии MetaTrader4? Пользоваться услугами хакеров и прочих мастеров тёмных искусств? Нет, в этом уже нет необходимости: новые билды метатрейдера и пара бесплатных программок могут полностью заменить нам Tickstory Lite.
Чем хороши и чем плохи новые билды MT4?
Плохая новость: в МТ4 по-прежнему нет тиковой истории котировок.
Хорошая новость: мы можем скачать сторонние тиковые котировки, сконвертировать их в соответствующий формат и подсунуть тестеру.
Почему мы так не делали раньше? Потому, что в более ранних билдах тестер метатрейдера не позволял просто взять и использовать “неродные” файлы: он их пытался переписать скачанными в онлайне брокерскими котировками и эмулировать заново тиковые значения, перезаписывая файл с тестерными котировками, что вынуждало патчить файлы МТ4, чем, собственно, и занимались Tick Data Suite и Tickstory Lite. Но в новых билдах метатрейдер перестал портить файлы, что и позволяет нам сэкономить на платных программах.
Что понадобится: наш джентльменский набор
Начало работы
Настройка общих параметров
Программа StrategyQuant Tick Data Downloader бесплатна, и в ней есть некоторые пункты в настройках, которые для наших целей либо не нужны, либо избыточны, поэтому остановимся только на необходимых действиях.
Для начала настроим общие параметры программы.
Нажимаем кнопку Configure и ставим галочку напротив Automatic export to CSV. Также в пункте меню Change timezone можно настроить часовой пояс получаемых котировок. Текущая версия программы создает два выходных файла котировок CSV: один без сдвига времени, а другой с тем сдвигом, который мы указали в настройках. Наиболее удобно использовать файл без сдвига во времени.
Скачивание тиковых котировок
Выставляем пары и диапазоны дат для скачивания.
Для примера взята пара EURUSD и срок 1 месяц.
Далее, выбираем путь для сохранения файлов CSV.
Запускается скачивание кнопкой Start Download.
В итоге получили 2 файла:
Мы видим два файла, EURUSD_tick.csv и EURUSD_tick_UTC+0_00.csv.
Лайфхак: Для наших целей достаточно первого из этих двух файлов, поэтому, если размер файла очень большой, то после скачивания первого, можно остановить программу и удалить второй файл.
Конвертируем тики в формат Metatrader4
Для наших целей необходимо изменять не все параметры скрипта, однако, рассмотрим весь список.
Заключение
После выставления параметров нажимаем OK. Скрипт спросит нашего согласия на перенос и перезапись файлов (с чем мы, конечно же, соглашаемся) и предлагает перезапустить терминал МТ4. Перезапускаем терминал — и теперь можно тестировать советники!
Внимание! Не забудьте в тестере выбрать нужный советник, пару, таймфрейм и спред! 🙂
4 нюанса тестирования советников в терминале MetaTrader 4, о которых знают не все трейдеры
О тестировании форекс роботов в терминале MetaTrader 4. Нюансы оптимизации советников, о которых знают не все.
[info_block align=»right»]Обратите внимание, что качество истории котировок у разных форекс брокеров отличаются, что может вызвать серьезные расхождения в результатах тестирования одного советника на счетах от разных брокеров[/info_block]
В условиях современного трейдинга использование в торговле форекс советников уже давно не выглядит какой-то экзотикой. Практически каждый день появляются новые платные и бесплатные торговые роботы, которые впечатляют доходностью и вызывают желание быстренько заработать. Однако, ставить эксперта на торговый счет без проверки – сомнительная затея, ведущая к «неожиданным» потерям в потенциале. Поэтому рекомендуем начать работу с роботом с тестирования.
Все, что нужно знать о том, как правильно тестировать торгового советника в тестере стратегий терминала MetaTrader 4 – в инструкции от экспертов журнала Фортрейдер.
С чего необходимо начинать тестирование советника?
Торговый робот проверяют на истории, поэтому в первую очередь необходимо скачать котировки нужной вам валютной пары. Для этого следует в меню «Сервис» найти вкладку «Архив котировок» или просто нажать клавишу F2.
Рис. 1. Архив котировок в меню «Сервис» терминала MetaTrader 4.
Далее выбираем необходимую валютную пару и таймфрейм, кликаем по ним два раза левой кнопкой мышки и нажимаем «Загрузить».
Рис. 2. Выбор валютной пары и таймфрейма.
Обратите внимание, что качество истории котировок у разных форекс брокеров отличаются, что может вызвать серьезные расхождения в результатах тестирования одного советника на счетах от разных брокеров.
Выбираем в тестере стратегий торгового робота (1), валютную пару (2), тип моделирования (3), таймфрейм (4), спред (5) и настройки советника (6).
Рис. 3. Настройка тестера стратегий для тестирования.
Не забудьте о размере спреда, который установлен для валютной пары вашим брокером. Дело в том, что в тестере стратегий по умолчанию установлен текущий спред. Если вы этого не сделаете, то можете получить совершенно фантастические результаты, особенно, если тестируете эксперта в выходной день.
Какой тип моделирования выбрать?
[info_block align=»right»]Тестируете по всем тикам, потом по контрольным точкам, потом по ценам открытия и смотрите разницу.[/info_block]
Тестер стратегий предлагает на выбор три типа моделирования:
«Все тики» — самый точный из стандартно-доступных типов моделирования, но он же и самый долгий. Некоторые советники можно тестировать без потери точности по контрольным точкам или по ценам открытия. Для этого в алгоритме должны быть заложены условия открытия сделки, начиная с нового бара.
Если вы не сильно разбираетесь в советнике, который тестируете, то имеет смысл подойти к вопросу экспериментальным путем. Тестируете по всем тикам, потом по контрольным точкам, потом по ценам открытия и смотрите разницу. Если она небольшая, то можно оптимизировать советник наиболее быстрым методом, а потом проверять по всем тикам. Если разница существенная, то можно грубую оптимизацию проводить быстрым методом, а тонкую — по всем тикам. Если разница совсем большая, то делать нечего, и придется оптимизировать долго и упорно по всем тикам.
Есть класс советников, в которых рабочий таймфрем прописан в настройках, у них результаты тестирования не зависят от выбранного периода в тестере. Такие роботы, как правило, можно тестировать практически без потери точности на контрольных точках. Получается намного быстрее, чем по всем тикам, а результат практически тот же самый.
Опять-таки, оптимизируем быстрым методом, найденный лучший вариант проверяем по всем тикам и убеждаемся, что все в порядке.
На какие параметры нужно обратить внимание при оптимизации советника?
Количество сделок
В первую очередь обращаем внимание на количество сделок. Желательно, чтобы их было не менее 150, иначе оптимизация теряет всякий смысл, поскольку возникает эффект «подгонки» результатов.
Если же сделок меньше 150, то необходимо увеличить промежуток времени тестирования, чтобы получить полную картину.
Прибыль и просадка
[info_block align=»right» linkText=»Зарабатываем с Мартингейлом! 8 правил торговли форекс экспертами с повышенным риском» linkUrl=»https://fortrader.org/learn/forex-trader/zarabatyvaem-s-martingejlom-8-pravil-torgovli-foreks-ekspertami-s-povyshennym-riskom.html» imageUrl=»http://files.fortrader.org/uploads/2016/11/invest-money.jpg»]Заработок на советнике по принципу Мартингейла возможен. 8 правил о том, как снизить риск от торговли «опасным» роботом.[/info_block]
Во вторую очередь нас будет интересовать соотношение прибыли к просадке.
Популярным параметром для отбора результатов оптимизации является коэффициент восстановления, который представляет собой простое отношение: прибыль / максимальная просадка. Его несложно вычислить, поделив столбец «Прибыль» на столбец «Просадка» в долларах. Но вот отсортировать результаты оптимизации по этому параметру тестер так просто не позволяет.
К счастью, это несложно поправить, если у вас есть доступ к исходному коду советника. Достаточно в конец кода любого робота приписать следующие строчки:
double GetRecoveryFactor( void ) <
double MaxDD = TesterStatistics(STAT_EQUITY_DD);
Res = TesterStatistics(STAT_PROFIT) / MaxDD;
double OnTester( void ) <
и перекомпилировать его. После этого при оптимизации в тестере появится новая колонка «Результат OnTester». Она будет содержать коэффициент восстановления. Щелкнув по шапке этой колонки, можно отсортировать результаты оптимизации по данному параметру.
Рис. 4. Сортировка результатов оптимизации по коэффициенту восстановления.
Что делать с ошибками рассогласования?
Часто случается, что в отчете о тестировании торгового эксперта тестер стратегий в строке «Качество моделирования» указывает значение n/a и сообщает об ошибках рассогласования графиков.
Рис. 5. Ошибки рассогласования графиков.
Откуда берутся эти ошибки? Самой распространенной причиной является расхождение между котировками, которые получены от брокера напрямую, и котировками, загруженными из архива.
Как устранить это расхождение? Существует очень простой способ. Необходимо удалить историю котировок по необходимой валютной паре через «Меню Файл» — «Открыть каталог данных» – History – «Имя торгового сервера». Стираем все файлы EURUSD*.hst.
Рис. 6. Удаление файла с архивом котировок.
После удаления файлов перезапускаем терминал и загружаем котировки заново, как это было описано выше.
После проделанных процедур в большинстве случаев ошибки рассогласования графиков исчезают, а качество моделирования вырастет до 90%.
Итого
Таким образом, тестирование и оптимизация торговых советников – дело совсем несложное, хотя требует больших временных затрат и знания тонкостей. Надеемся, что эта статья позволит вам быть с тестером стратегий «на ты», эффективно тестировать форекс экспертов и получать прибыль на валютном рынке.
Похожие статьи
Комментарии (2)
А ничего что котировки после удаления будут загружены с сервера метаквот и будут очень сильно отличаться от данных полученных от брокера и после перезалива этот тестер можно смело выкинуть в ведро? вы этот момент почему-то упускаете.
Здравствуйте! Спасибо Вам за информацию о тиковом тестировании робота. Но у меня вопрос такого плана. Если я скачаю тики из архива котировок MQL4 и провожу тестирование в таймфрейме H1(часовом), то не будет ли отличаться время открытия бара от серверного времени брокера? Мне это важно знать, так как открытие ордера в моём роботе привязано ко времени открытия бара и со временем начала торговых сессий.
Заранее благодарен, если получу от Вас разъяснение по моему вопросу.
PS: может у Вас есть описание кода, который можно будет внести в тело советника для устранения проблемы, если она, конечно, существует.
Как подготовить MT4 к тестированию и оптимизации советников
Если вы собираетесь качественно провести оптимизацию советника, и уж тем более, если планируете заняться регулярным тестированием форекс советников вообще, то в первую очередь вам необходимо озаботиться подготовкой полноценного терминала для тестирования. Для проведения тестов, конечно же, очень важны качественные исторические данные, которые сначала нужно загрузить в терминал. А чтобы тестирование и оптимизация проходили быстрее, нужно правильно его настроить.
И именно этим мы сегодня и займемся.
Что же значит «правильно настроить терминал»?
Основное назначение терминала для тестирования и оптимизации, как бы странно это ни звучало, собственно, тестирование и оптимизация. Наверняка многие из вас видели, как готовят серийные автомобили для гонок. Сначала выкидывают все лишнее, чтобы уменьшить вес, затем уже проводят тонкую настройку. Кроме того, на таких автомобилях не ездят по дорогам общего пользования. К тому же подобного рода транспортные средства затачивают под определенную специализацию, ведь довольно глупо было бы участвовать в драг-рейсинге на автомобиле для дрифтинга, верно? Все то же самое и с терминалом для тестирования.
Во-первых, на нем не торгуют и практически все время он будет находиться оффлайн – не будет подключаться к серверу вообще. Делается это в основном для того, чтобы не допустить смешивания котировок различного качества, с разных типов счетов, с разных временных периодов и из разных источников.
Во-вторых, терминал необходимо облегчить. С каждой новой версией терминал MetatTrader 4 становится все тяжелее и требовательнее к машинным ресурсам. А если трейдер использует встроенный в терминал тестер стратегий для тестирования индикаторов и торговых экспертов, то вес МТ4 может достигать десятков гигабайт, сильно тормозящих его производительность и не несущих никакой функциональной нагрузки. Поэтому нужно нещадно зачистить терминал от всей ненужной информации: логи, индикаторы, советники, скрипты, письма, история – все это идет в мусорный бак.
В-третьих, необходимо решить вопрос со специализацией терминала.
Ну и в-четвертых, конечно же, периодически требуется проводить техобслуживание и генеральную уборку терминала, обновление котировок, зачистку неактуальных файлов и так далее.
Процесс правильной настройки терминала
Достижение и поддержание этого состояния “готовности” терминала обеспечивается последовательным выполнением трех этапов:
1) установка отдельного терминала и его общая «уборка» перед подготовкой к комплектации для тестирования;
2) определение «специализации», основных параметров тестирования будущего «полигона», а также базой с историей котировок по интересующему инструменту;
3) импортирование истории котировок и перекрытие терминала от влияния извне.
Также периодически вам придется обновлять котировки и удалять накопившиеся в процессе работы файлы, скажем, раз в месяц или даже реже. Если не выполнять все эти требования, можно ввести себя в заблуждение и в итоге при получении «граальных» результатов теста потерять деньги на реальном счете. Проведя единожды вышеперечисленную процедуру подготовки терминала и периодически поддерживая его в работоспособном актуальном состоянии, при последующем тестировании советников вы не только сэкономите ваши силы, нервы и время, а, что самое главное, превратите процесс оптимизации из бесполезного занятия в результативное исследование, позволяющее получить достаточно достоверную оценку потенциала и способностей эксперта.
Устанавливаем отдельный терминал и делаем его уборку
Мы привыкли запускать терминал MT4 через иконку на рабочем столе компьютера. Многие даже не задумываются, из чего же он состоит. К счастью, на страницах сайта вы можете найти уроки, подробно рассказывающие о том, как установить советник в терминал МТ4 и терминал МТ5 или как установить индикатор в МТ4 и МТ5. В видео уроке я более подробно разберу структуру папок терминала, а заодно мы выясним, какие файлы для чего нужны, а какие из терминала (перед проведением тестирования) можно удалить.
Определяемся со специализацией терминала
У меня каждый терминал для тестирования подготовлен под конкретную задачу. Для начала давайте установим терминал и подумаем над его специализацией. Терминал вы можете взять на сайте любого используемого вами брокера, я же буду использовать терминал Alpari. В последнее время я сосредоточился на исследовании долгосрочных стратегий, поэтому под тестирование на периоде от D1 и выше я выделил отдельный терминал. Остальные советники я обычно пишу с контролем закрытия свечи М1 и работой на периодах от М15 минимум и не использую тиковых пипсовщиков и скальперов. Поэтому я не буду останавливаться на терминале для тестирования советников по тикам, так как основные принципы там точно такие же. Я использую отдельный терминал для всех мажорных пар, отдельный для миноров и всей экзотики, отдельный для металлов и криптовалют, пару отдельных терминалов для CFD. Итого 6 терминалов.
Заключение
В видео уроке я подробно изложил весь процесс подготовки терминала для тестирования. Мы не поговорили только о том, как устанавливать историю тиковых котировок, но об этом уже было написано в этой, в этой и в этой статье. Также мы с вами не касались темы собственно самого тестирования и оптимизации советников на истории, так как на страницах блога вы также сможете найти подходящие статьи. Теперь, при наличии качественной истории котировок, вы без труда сможете организовать свою собственную лабораторию по изучению, тестированию, оптимизации и использованию на реальных счетах приглянувшихся вам торговых экспертов с более высоким качеством и более быстро.
Как тестировать советник в тестере MT4 – Подробная инструкция
Всем привет! Механические торговые системы так же стары, как и рынки. С развитием в 20 веке компьютерных технологий и сети интернет стало возможным торговать не выходя из дома, а в начале 21 века, с появлением платформы MetaTrader, еще и в автоматическом режиме. Ресурсы современного настольного компьютера позволяют воплощать в жизнь любые, даже самые сложные алгоритмы, а встроенный в терминал MetaTrader редактор MetaEditor дает возможность написать робота даже человеку, мало знакомому с программированием. В результате околофорексовый рынок заполнен различными предложениями купить чудо-советники и некоторые из них действительно достойны внимания. Но как же понять, стоит ли применять на реальных счетах тот или иной форекс советник? Сегодня я расскажу, как тестировать торгового робота на исторических данных при помощи программы MetaTrader 4.
Подготовка к тестированию
Мы не будем сегодня разбирать, как установить советник в терминал – для этого есть соответствующая статья в блоге. Будем считать, что советник мы уже установили. Теперь необходимо подумать о котировках, которые вы будете использовать. Большинство брокеров не имеют собственной исторической базы, исключение составляют Alpari и Ducascopy, остальные же используют котировки, предоставляемые компанией MetaQuotes. Сказать, что эти котировки вообще годятся для тестов я не берусь – они очень низкого качества (много пробелов, ошибок и неточностей). Как скачивать котировки от компании Ducascopy – тема отдельной статьи, к тому же это не так просто сделать новичку. Поэтому для тестов советников мы скачаем именно терминал от компании Alpari. Внимание! Чтобы получить доступ к исторической базе котировок Альпари, в терминале вы должны быть подключены именно к реальному счету! С недавних пор этот брокер не предоставляет свою базу котировок для владельцев демо-счетов.
Именно из-за различий в котировках тесты одного и того же советника по одной и той же паре с теми же настройками и при прочих равных скорее всего будут отличаться, иногда очень сильно.
Появится окно с настройками терминала:
Выбираем вкладку «Графики» и в графах «Макс. баров истории» и «Макс. баров в окне» и заполняем как у меня на рисунке вверху (по умолчанию там стоит 65000 баров).
Открывается следующее окно:
Выбираем нужную нам пару и период М1 и нажимает кнопку “загрузить”. Через некоторое время котировки загрузятся, выключаем терминал и включаем его снова. Заходим обратно в архив, кликаем левой кнопкой мыши несколько раз по периоду М1 нужной нам пары до тех пор, пока изображенная перед периодом серая батарейка не загорится желто-зеленым цветом. Остается прощелкать мышкой остальные периоды, чтобы котировки просчитались и для них. Если вы хотите протестировать советник на нескольких валютных парах, закачайте котировки требуемых валютных пар. Закройте терминал и откройте его снова. Затем снова войдите в архив котировок и пройдитесь по всем периодам нужной вам пары, несколько раз нажимая левой кнопкой мышки по каждому из них. Все эти шаманские действия нужны в последних версиях терминала, поскольку часто котировки загружаются некорректно. На этом подготовительный этап завершен.
Тестер терминала. Основной функционал
Итак, чтобы приступить к тестированию советника открываем тестер стратегий или нажимаем Ctrl+R.
Снизу в терминале появится вот такая панель:
Давайте остановимся на каждой функции поподробнее.
Первое, что вы увидите слева вверху панели – переключатель советник-индикатор:
В новых билдах терминала появилась возможность посмотреть на работу индикатора в визуальном режиме (о котором речь пойдет ниже). Надо сказать, что такая возможность была и раньше, но неофициально. Теперь же под тестирование индикаторов отведена отдельная кнопочка.
Итак, выбираем советник.
Под цифрой 1 у нас находится выпадающий список с доступными для тестирования советниками. Тут вы найдете только те советники, которые загружены в ваш терминал. Цифра 2 – выпадающий список валютных пар, выбираем нужную. Не забудьте закачать для нее котировки в архив котировок. Если вы вдруг не смогли найти нужную вам пару в списке, хотя уверены, что она у брокера доступна для торговли, включите обзор рынка или нажмите Ctrl+M:
Далее правой кнопкой мыши кликните прямо в окне навигатора и нажмите «Показать все символы»:
На пункте 3 остановимся немного подробнее. Тут мы можем выбрать необходимую нам модель тестирования. Для качественного тестирования торговой стратегии важно выбрать адекватный способ моделирования развития ценовых баров. Всего доступны три варианта:
– По ценам открытия (быстрый метод на сформировавшихся барах, только для советников с явным контролем открытия баров)
Использует грубую оценку стратегии. При каждой свече генерируется только один тик. Достоинство – самый быстрый способ проверки. В этом режиме сначала моделируется открытие бара (Open = High = Low = Close, Volume=1), что дает возможность эксперту точно идентифицировать окончание формирования предыдущего ценового бара. Именно на этом зарождающемся баре запускается тестирование эксперта. На следующем шаге выдается уже полностью сформированный текущий бар.
– Контрольные точки (очень грубый метод на основе ближайшего меньшего таймфрейма, результаты нельзя принимать во внимание)
Метод моделирования контрольных точек предназначен для грубой оценки экспертов, торгующих внутри бара. Для этого метода необходимо наличие исторических данных ближайшего меньшего таймфрейма. В некоторых случаях имеющиеся данные меньшего таймфрейма не полностью покрывают временной диапазон тестируемого таймфрейма. При отсутствии данных меньшего таймфрейма развитие бара генерируется на основе предопределенных волновых шаблонов.
Как только появляются исторические данные меньшего таймфрейма, интерполяция применяется уже к этим данным. Однако точно существующие цены OHLC меньшего таймфрейма выступают в качестве контрольных точек. В большинстве случаев результаты тестирования экспертов по методу контрольных точек могут приниматься во внимание только как оценочные, а не как окончательные. Такие результаты имеют промежуточный оценочный характер.
– Все тики (наиболее точный метод на основе всех доступных меньших таймфреймов)
Этот режим позволяет наиболее точно смоделировать движение цены внутри бара. В отличие от “контрольных точек” потиковый метод использует для генерации данные не только ближайшего меньшего таймфрейма, но и всех доступных меньших таймфреймов. При этом, если на какой-то временной диапазон одновременно существуют данные более одного таймфрейма, то для генерации используются данные самого меньшего таймфрейма. Так же, как и в предыдущем методе, генерируются контрольные точки на основе данных OHLC наименьшего доступного таймфрейма. Для генерации движения цены между контрольными точками также используется интерполяция на основе предопределенных шаблонов, поэтому крайне желательно наличие минутных данных, покрывающих весь диапазон тестирования. Возможна ситуация, когда генерируется несколько одинаковых тиков подряд. В этом случае дублирующиеся котировки фильтруются, и фиксируется объем последней из таких котировок.
При тестировании по всем тикам объём сгенерированных тиков может быть довольно большим, поэтому терминал может потреблять довольно много ресурсов.
Для тестирования советника всегда выбираем метод все тики. Да, это самый медленный, но и самый надежный метод. Многие применяют в своих советниках контроль закрытия бара, то есть специально выжидают момент открытия новой свечи и открытие ордеров совершается только в этот момент. Но часто советники используют стопы, тейки, тралы, которые могут сработать в любой момент внутри свечи. Применять метод по ценам открытия можно только для советников, которые не используют трейлинг стоп, стоплосс и тейк профит, а открывают и закрывают позиции в момент открытия новой свечи, а таких советников крайне мало.
Пункт 4 – использовать дату. Ставим галочку и выбираем желаемые даты начала и окончания тестирования. Если галочка не проставлена, тестирование проводится по всей истории котировок, загруженных в терминал. Тестер не сможет провести тестирование на периоде, по которому нет котировок в архиве котировок, то есть вы не сможете сделать тест с 1300 года, если у вас нет котировок за этот период.
Пункт 5 – визуализация, о которой мы поговорим позже.
Настройки на панели тестера справа:
Период – выбор периода для тестирования советника. Доступны периоды вплоть до D1. W1 и MN1 недоступны для тестирования. Кроме того, если у вас не загружена история котировок нужного периода, тест вы выполнить не сможете.
Спред – можно задать любое значение или же использовать текущий спред по паре. Сделано это для удобства – например, по ночам и на выходных текущий спред обычно завышен и если вы тестируете советник в это время есть смысл задать спред вручную. Если у вас выбран текущий спред, результаты тестов могут сильно отличаться в зависимости от времени суток и дня недели, особенно при тестировании по всем тикам.
Кнопка «Изменить эксперта» доступна только если у вас есть исходный код советника (файл с расширением mq4). Она открывает редактор кода советника, где вы сможете внести в советник необходимые изменения.
Кнопка «Открыть график» открывает график с нанесенными на него индикаторами и сделками, совершенными советником во время теста (нажать можно после того, как тест выполнен).
Кнопка «Свойства символа»
Поменять здесь ничего нельзя, это просто справочная информация по используемой валютной паре.
Кнопка «Свойства эксперта»
Нажав на кнопку, вы увидите окошко, изображенное сверху. Доступны три вкладки: «Тестирование», «Входные параметры» и «Оптимизация».
Тут вы можете ввести используемый для теста депозит и валюту депозита. Также при желании можно выбрать направление сделок, например разрешить эксперту торговать только в покупки или только в продажи. Настройки оптимизации в рамках данной статьи рассматриваться не будут. Также как и вкладки «Оптимизация».
Вкладка «Входные параметры»
Тут находятся все управляющие переменные самого эксперта, его настройки. Кстати, окно масштабируемо – если вы потянете мышкой за нижний правый угол, можно увеличить или уменьшить его в размерах. Вместе с экспертами как правило обычно поставляются файлы с настройками, имеющие расширение *.set. Причем чаще всего для каждой пары свой файл с настройкой. Чтобы загрузить правильные настройки для нужной пары нажимаем кнопку «Загрузить» и выбираем нужный файл. Часто после установки эксперта в терминал они оказываются не в нужной папке. После нажатия на кнопку «Загрузить» мы оказываемся в папке тестера (у меня это C:UsersSilentspecAppDataRoamingMetaQuotesTerminalFE03BE71CD8F9E8F4C70E0FDAFC997E5 ester). Если нужных файлов там не оказалось, идем в папку FE03BE71CD8F9E8F4C70E0FDAFC997E5MQL4Presets, скорее всего файлы там. Итак, выбираем и загружаем нужный настроечный файл. После загрузки нам нужно найти параметры манименеджмента советника и выставить фиксированный лот 0.1 – в этом случае каждый доллар прибыли или убытка будет равен 1 старому пункту. Для чего это – я расскажу ниже.
Тестирование советника. Результаты теста
Теперь у нас все готово для теста. Проверьте еще раз настройки и нажимайте кнопку «Старт». Спустя некоторое время тест будет выполнен, о чем нас известит звуковой сигнал, похожий на издаваемый резиновой детской игрушкой с пищалкой.
Настало время взглянуть в нижний левый угол тестера:
Тут мы можем заметить вкладки «Настройки», «Результаты», «График», «Отчет» и «Журнал».
Во вкладке «Результаты» доступен список всех сделок, совершенных советником за время теста.
На вкладке «График» можно полюбоваться кривой доходности советника.
Если советник не совершил ни одной сделки, стоит заглянуть во вкладку «Журнал». В ней вы найдете описание всего, что случилось во время теста. Вполне вероятно, что в советнике какая-нибудь ошибка. Расшифровку номера ошибки можно посмотреть в разделе Коды ошибок.
Во вкладке «Отчет» доступна вся статистика работы эксперта на выбранном отрезке времени:
Баров в истории – количество баров в истории, показывает глубину истории, на основе которой производилось моделирование.
Смоделировано тиков – количество смоделированных тиков, показывает размер смоделированной последовательности. Каждая запись последовательности представляет собой состояние бара (OHLCV) на тот или иной момент времени. В зависимости от таймфрейма, метода моделирования и от наличия исторических данных меньших таймфреймов в пределах бара может быть смоделировано разное количество состояний бара.
Качество моделирования – качество моделирования.
Панелька с сигнализатором качества котировок (у меня она зеленая, поэтому для примера нашел в интернете):
Серым цветом – отсутствующие котировки, красным – котировки только текущего периода, зеленым – котировки доступны и предыдущих периодов, при этом чем ярче зеленый цвет, тем более младшие периоды доступны. При доступности периода М1 индикатор будет как у меня – ярко зеленый.
Начальный депозит – депозит, с которым проводилось тестирование.
Спред – спред, с которым проводилось тестирование.
Общая прибыль – сколько всего было заработано во время работы советника
Общий убыток – сколько всего было потеряно.
Чистая прибыль – прибыль, которая была заработана экспертом за заданный период. Если тест сделан лотом 0.1, то эта прибыль в валюте депозита равна количеству заработанных старых пунктов. То же справедливо и для всех остальных параметров, указанных в валюте. Чистая прибыль = Общая прибыль – Общий убыток.
Прибыльность – прибыльность, показывает отношение между общей прибылью и общим убытком. Рассчитывается по формуле Прибыльность = Общая прибыль/ Общий убыток.
Матожидание выигрыша – математическое ожидание выигрыша.
Абсолютная просадка – это разница между начальным депозитом и наименьшим значением баланса в процессе тестирования.
Максимальная просадка – это максимальная разница между одним из локальных верхних экстремумов графика изменения баланса и последующих нижних экстремумов.
На следующем рисунке цифрами показаны основные стадии изменения величины максимальной просадки в процессе тестирования. Итоговое значение максимальной просадки выделено утолщенными стрелками.
Относительная просадка показывает отношение максимальной просадки к значению соответствующего локального верхнего экстремума.
Думаю, остальные данные теста, такие как средняя прибыльная сделка, максимальное количество непрерывных проигрышей и так далее, вполне понятны и объяснения тут не нужны.
Если кликнуть по отчету правой кнопкой мышки, можно сохранить этот отчет в виде html файла:
Сверху отчета располагаются основные данные об условиях проведения теста – период, валютная пара, модель тестирования, параметры советника и прочее. Ниже – статистические данные теста и график кривой доходности. Далее в виде таблицы следует список всех совершенных сделок.
Режим визуализации
Этот режим обеспечивает возможность буквально увидеть в ускоренном режиме как в прошлом отработал бы советник при тех изменениях котировок, которые имели место. Например, если сигналы на вход и выход советника основаны на сигналах какого-нибудь индикатора, то на график визуализации можно установить нужный индикатор и тогда появление сделок и закрытие сделок будет еще нагляднее.
Другими словами, визуализация помогает понять и прочувствовать логику алгоритма советника, так как все будет происходить у вас перед глазами.
Кроме того, визуализацию также применяют, когда хотят увидеть природу происхождения какого-нибудь конкретного участка в прохождении советника (момент начала слива или же, наоборот, самого профитного периода).
Прогнав робота в режиме визуализации вы можете понять принцип его работы и будете знать, чего можно ожидать от него в будущем. Это очень полезный инструмент, особенно для разработчиков советников.
Заключение
В этой статье был рассмотрен основной функционал тестера стратегий терминала MetaTrader 4 и особенности закачки котировок. Также мы познакомились с результатами теста советника и визуальным режимом тестирования. Хочу обратить внимание, что это лишь основы работы с советниками. Способ тестирования советника, рассмотренный в статье, подойдет для советников на периодах от Н1 и выше. Для скальперов, работающих на более мелких периодах, такой способ тестирования подходит условно, он носит чисто информативный характер. Если вы собрались зарабатывать при помощи советников, необходимо также освоить оптимизацию советников. Также нелишним будет получить более глубокие знания о тестировании и оптимизации советников с более высоким качеством моделирования, недоступным, к сожалению, в стандартном исполнении терминала.