Работа с тестером стратегий MetaTrader4: тестирование советника
Мастер класс «Работа с тестером стратегий MetaTrader4″ — часть 2
Чтобы выбрать конкретный промежуток тестирования, ставим галочку напротив надписи «Использовать дату» и выбираем диапазон дат начала и конца тестирования. День, который выбран как конечный, тестированию не подлежит, тест заканчивается с последним тиком предыдущего дня. При этом все открытые позиции будут принудительно закрыты, а в результатах тестирования напротив такой позиции мы увидим надпись «close at stop».
Рассмотрение режима визуализации пока пропустим, поэтому если напротив надписи «Визуализация» поставлена галочка, уберем ее.
Далее выбираем период тестирования (от минутного до дневного) в выпадающем списке напротив надписи «Период». Здесь, думаю, излишних пояснений не требуется.
Режим оптимизации также пока пропустим, поэтому не ставим галочку возле надписи «Оптимизация».
Входные параметры советника
Что необходимо, так это выставить значения входных параметров советника. Для этого существует кнопка «Свойства эксперта» (см. рис. 2). У каждого советника свой набор параметров, но у большинства существуют стандартные: TakeProfit, StopLoss и Lots. Это соответственно уровень профита и стопа в пунктах, а также объем одной позиции.
Как видно, у эксперта MACD Sample нет параметра StopLoss. То есть эксперт не ставит стопа. Выход из убыточной позиции происходит закрытием позиции с рынка по обратному, но более слабому сигналу стратегии. Уровень «слабости или силы» сигнала задается параметрами MACDOpenLevel и MACDCloseLevel. Это абсолютное значение главной линии MACD в пунктах. Другими словами, позиция будет открыта, если значение MACD будет по модулю больше, чем 3 пункта (при этом конечно должны быть выполнены остальные условия для открытия). А закрыта позиция будет при более слабом сигнале – более чем 2 пункта. Эти переменные введены для фильтрации многочисленных сигналов индикатора во время узкого флета рынка. Параметр TrailingStop задает уровень, напоминает журнал ForTrader.org, при достижении которого стоп начнет двигаться за ценой, защищая уже полученную прибыль. И, наконец, параметр MATrendPeriod задает период средней скользящей, значения которой также влияют на открытие позиции. Заметьте, что все эти параметры нужно задавать в графе «Значение». Остальные три столбца используются в режиме оптимизации эксперта, который будет рассмотрен позже. Также слева от параметров не должны быть поставлены галочки.
Чтобы задать размер начального депозита при тестировании, перейдите на вкладку «Тестирование» (см. рис. 3). Выбираем начальный депозит, валюту депозита, а также тип позиций. В общем случае эксперты могут открывать позиции в обе стороны – вверх и вниз (Long&Short). Но можно разрешить открывать только какой-нибудь один тип позиций: только buy (Only Long) или только sell (Only Short).
Другие возможности тестера стратегий и начало тестирования
По нажатию кнопки «Свойства символа» выдается информация по параметрам текущего выбранного символа (мы выбрали EURUSD), которые задаются на сервере ДЦ и могут отличаться у различных брокеров.
Нажатие кнопки «Открыть график» приведет к открытию графика с результатами последнего тестирования. В левом верхнем углу будет написано название эксперта и входные параметры, с которыми он тестировался. На самом графике красными стрелками будут обозначены сделки sell, а зелеными (или синими в зависимости от настроек) – сделки buy. Желтыми стрелками помечены выходы из позиций.
Кнопка «Изменить эксперта» перенесет нас в редактор Meta Editor и покажет код советника, который мы впоследствии и изучим.
Основные параметры тестирования установлены (для начала установите все параметры как показано на рисунках 1-3), приступаем непосредственно к тестированию. Для этого нажимаем «Старт». Дожидаемся, пока синяя полоса прогресса остановится около кнопки «Старт» (это должно произойти почти мгновенно), и переходим к закладке «Отчет» в нижней части окна тестера стратегий (см. рис. 4).
Исследуем отчет о тестировании
Для начала обратите внимание на пункт «Ошибки рассогласования графика». Скорее всего, у вас там будет ненулевое значение. Что это значит? В режиме реального времени терминал с приходом каждого нового тика обновляет исторические данные по всем периодам одновременно – от М1 до MN. Но когда терминал выключен или разорвана связь, а затем вновь происходит вход, подкачиваются данные лишь по текущему выставленному периоду. Остальные могут быть подкачаны не полностью или с ошибками. К примеру, часовая свеча 12:00 будет иметь High = 1.5212, а минутная свеча 12:23 (она ведь принадлежит часовой свече 12:00) будет иметь High = 1.5214. В результате получается расхождение в данных, что может привести к ошибкам при тестировании. Точно также могут быть расхождения по тиковому объему (если навести курсор на свечу, то увидим четыре параметра – Open, High, Low, Close и к ним еще пятый — Volume). Сумма тиковых объемов минутных свечей должна быть равна тиковому объему часовой свече, которой принадлежат эти 60 минут. И такое соответствие должно наблюдаться по всем периодам снизу вверх и сверху вниз. Нарушение этого соответствия приводит к появлению ошибок рассогласования.