Справка по MetaTrader 4

Настройка

Прежде чем приступать к тестированию советников, необходимо произвести настройку. Это означает, что следует:

Для тестирования и оптимизации советников в терминале используется специальное окно "Тестер". Все вышеперечисленные параметры задаются во вкладке "Настройка" этого окна.

Советник и его параметры

В поле окна "Тестер — Советники" необходимо выбрать советник для тестирования. В этом поле нельзя выбрать любой файл советника. Здесь могут быть только доступные в клиентском терминале эксперты. Для этого они должны быть скомпилированными и находиться в папке /EXPERTS.

strategy_tester

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

strategy_tester_settings_expert_properties

При этом появится новое окно с тремя вкладками:

  • Тестирование — в этой вкладке задаются общие параметры тестирования. К ним относятся объем и валюта начального депозита, которые указываются в одноименных полях. Именно этим депозитом будет оперировать советник при тестировании. В этой вкладке также выбираются типы открываемых при тестировании позиций: Only Long — открывать только длинные позиции; Only Short — только короткие; Long and Short — открывать позиции в обе стороны. Каков бы ни был алгоритм советника, он будет открывать позиции только в заданных направлениях. Также можно включить генетический алгоритм оптимизации и выбрать оптимизируемый параметр (максимизация по значению баланса, фактора прибыльности, математического ожидания выигрыша либо минимизация по значению максимальной просадки или процента просадки.
  • Входные параметры — здесь в виде таблицы приводится список всех входных параметров. Входными параметрами называются переменные, которые влияют на работу эксперта и могут быть изменены прямо из клиентского терминала. Для изменения этих параметров нет необходимости изменять код эксперта. Количество входных переменных может варьироваться от эксперта к эксперту. При тестировании входные параметры советника задаются в поле "Значение". Данные, записываемые в полях "Старт", "Шаг" и "Стоп", не влияют на тестирование советника и необходимы лишь для оптимизации его параметров. Работа с этими параметрами описывается в разделе "Настройка оптимизации советников".
  • Оптимизация — настройки в этой вкладке позволяют управлять ограничениями проходов тестирования при оптимизации. Изменения параметров в этой вкладке не влияют на однократные тестирования эксперта.

Финансовый инструмент и его период

Чтобы приступить к тестированию, недостаточно лишь выбрать советник и настроить его. Необходимо также выбрать финансовый инструмент и период (таймфрейм) для тестирования. Все тестирование будет проходить именно на этих данных. При тестировании можно выбрать один из доступных в терминале инструментов или использовать внешний файл данных. В тестировании используются файлы исторических данных формата *.FXT, которые записываются в директории /TESTER. Эти файлы автоматически создаются при тестировании, если был выбран имеющийся в терминале инструмент.

Финансовый инструмент задается в поле "Символ", а таймфрейм — в поле "Период". Если файла данных по этому инструменту, периоду и методу моделирования не существует, он будет создан автоматически. При отсутствии исторических данных по инструменту и периоду, тестер автоматически скачает 512 последних баров истории.

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

Методы моделирования

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

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

Для тестирования можно выбрать один из трех методов моделирования исторических данных:

  • По ценам открытия (быстрый метод на сформировавшихся барах)
    Некоторые механические торговые системы не зависят от особенностей внутрибарного моделирования, они торгуют на сформировавшихся барах. То, что текущий ценовой бар полностью сформировался, можно узнать по появлению следующего. Именно для таких экспертов предназначен этот режим моделирования.
    В этом режиме сначала моделируется открытие бара (Open = High = Low = Close, Volume=1), что дает эксперту возможность точно идентифицировать окончание формирования предыдущего ценового бара. Именно на этом зарождающемся баре запускается тестирование эксперта. На следующем шаге выдается уже полностью сформированный текущий бар, но на нем тестирование не производится!
  • Контрольные точки (используется ближайший меньший таймфрейм)
    Метод моделирования контрольных точек предназначен для грубой оценки экспертов, торгующих внутри бара. Для этого метода необходимо наличие исторических данных ближайшего меньшего периода (таймфрейма). В некоторых случаях имеющиеся данные меньшего таймфрейма не полностью покрывают временной диапазон тестируемого таймфрейма. При отсутствии данных меньшего таймфрейма развитие бара генерируется на основе предопределенных волновых шаблонов, как это было в предыдущей, третьей версии клиентского терминала MetaTrader 3.
    Как только появляются исторические данные меньшего таймфрейма, то интерполяция применяется уже к этим данным. Однако точно существующие цены OHLC меньшего таймфрейма выступают в качестве контрольных точек. В большинстве случаев результаты тестирования экспертов по методу контрольных точек могут приниматься во внимание только как оценочные, а не как окончательные. Такие результаты имеют промежуточный оценочный характер.
  • Все тики (на основе всех наименьших доступных периодов)
    Этот режим позволяет наиболее точно смоделировать движение цены внутри бара. В отличие от "контрольных точек", потиковый метод использует для генерации данные не только ближайшего меньшего таймфрейма, но и всех доступных меньших таймфреймов. При этом, если для какого-то временного диапазона одновременно существуют данные более, чем одного таймфрейма, для генерации используются данные самого меньшего таймфрейма. Так же, как и в предыдущем методе, генерируются контрольные точки на основе данных OHLC наименьшего доступного таймфрейма. Для генерации движения цены между контрольными точками также используется интерполяция на основе предопределенных шаблонов, поэтому крайне желательно наличие минутных данных, покрывающих весь диапазон тестирования. Возможна ситуация, когда генерируется несколько одинаковых тиков подряд. В этом случае дублирующиеся котировки фильтруются, и фиксируется объем последней из таких котировок.
    Необходимо учитывать очень большой возможный объем сгенерированных потиковых данных. Это может сказаться на потребляемых ресурсах операционной системы и на скорости тестирования.

Внимание:

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

Качество моделирования можно проверить в окне "Отчет". Для этого предназначено поле "Качество моделирования" и цветная полоса. Полоса представляет собой схематичное отображение процесса моделирования. Она может быть трех цветов:

  1. Серый — эта часть имеющихся данных не участвовала в тестировании. Серый цвет может появиться, если для тестирования был указан диапазон дат (описано ниже);
  2. Красный — на этом отрезке моделирование не проводилось за неимением данных более мелкого периода. При этом использовались только данные выбранного для тестирования таймфрейма;
  3. Зеленый — на данном участке моделирование проводилось. Причем, чем ярче цвет, тем более качественным было моделирование. Например, при тестировании на периоде H1 темно-зеленая полоса может свидетельствовать о том, что для тестирования использовались данные периода M30, а самая яркая — об использовании данных периода M1.

В клиентском терминале в истории ценовых данных сохраняются только цены Bid. Для моделирования цен Ask в тестере стратегий по умолчанию используется текущий спред инструмента на момент запуска тестирования. Однако пользователь может задать собственное значение спреда для тестирования в поле "Спред".

Временной диапазон

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

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

Визуализация тестирования

Если включить флажок ""Визуализация", то после нажатия на кнопку "Старт" автоматически будет открыт график, на котором будет проигрываться смоделированная последовательность тиков. Скорость проигрывания можно регулировать. Можно приостановить проигрывание, нажав на кнопку "||". Повторное нажатие на эту кнопку возобновляет поступление смоделированных тиков. Нажатие на клавишу F12 вызывает моментальное появление следующего тика даже в состоянии паузы. Визуализацию можно пропустить до определенной даты. После установки нужной даты и нажатия на кнопку "Пропустить до" визуализация прекращается и возобновляется после достижения тестером указанной даты.

Внимание: если выставлен флажок "Оптимизация", по нажатии кнопки "Старт" вместо тестирования будет производиться оптимизация параметров советника.