СКАЧАТЬ МЕТАТРЕЙДЕР 4 и Получать 12.5% годовых на депозит в Надёжном ДЦ Можно Здесь >>>
Пользовательские индикаторы в Метатрейдер 4 с рисунками
Пользовательским индикатором называется программа, самостоятельно разработанная пользователем на языке MetaQuotes Language 4 и выполняющая функцию технического индикатора. Техническим индикатором называется математическое преобразование цены и/или объемов финансового инструмента для прогнозирования будущих изменений цен. Использование индикаторов позволяет ответить на вопросы о том, сохранится ли текущая тенденция и где произойдет разворот тренда. Индикаторы предназначены для того, чтобы сделать сложный процесс принятия торговых решения относительно простым и понятным. На основе алгоритмов индикаторов строятся торговые тактики и разрабатываются советники.
Внимание: пользовательские индикаторы предназначены только для анализа динамики цен финансовых инструментов, но не для совершения торговых операций.
Работа с пользовательскими индикаторами предполагает:
- Создание индикатора
Для создания и компиляции пользовательского индикатора используется встроенный редактор "MetaEditor". Он является составной частью клиентского терминала и представляет собой удобную среду разработки MQL4-программ. - Настройка работы индикатора
Перед началом использования пользовательских индикаторов необходимо произвести их предварительную настройку. Общие для всех индикаторов параметры работы задаются в окне настройки клиентского терминала. Кроме того, каждый индикатор обладает своими собственными настройками. - Наложение индикатора
При наложении индикатора на график просчитываются его параметры и осуществляется его отрисовка. - Удаление индикатора
Если индикатор больше не нужен, его можно удалить с графика.
Создание пользовательских индикаторов
Для создания пользовательских индикаторов используются язык программирования торговых стратегий MetaQuotes Language 4 (MQL 4) и редактор редактор MetaEditor. Чтобы запустить редактор советников, необходимо выполнить команду "Создать" контекстного меню окна "Навигатор — Пользовательские индикаторы", команду меню "Сервис — Редактор MetaQuotes Language", нажать клавишу F4 или кнопку панели "Стандартная". При создании MQL4-программы автоматически откроется мастер создания советников, позволяющий быстро создавать новые MQL4-программы. В нем в качестве типа создаваемого объекта необходимо указать "Пользовательский индикатор" и заполнить поля требуемыми данными:
Имя — название индикатора;
Автор — имя автора;
Ссылка — адрес сайта разработчика;
Параметры — список входных параметров индикатора. Чтобы добавить новый параметр, необходимо нажать кнопку "Добавить", чтобы удалить — кнопку "Удалить".
Затем нужно определить, будет ли новый индикатор создаваться в отдельном подокне и какие у него будут границы. Кроме того, необходимо задать количество и параметры индикаторных массивов. Значения элементов индикаторных массивов используются для отображения на графике линий. Иными словами, при определении индикаторных массивов происходит определение линий будущего индикатора.
После этого в редакторе открывается окно нового индикатора с заданными параметрами. Файл с исходным текстом (*.MQ4) индикатора автоматически помещается в папку /EXPERTS/INDICATORS клиентского терминала. С этого момента можно приступать к написанию текста пользовательского индикатора.
По завершении разработки необходимо скомпилировать индикатор. Для этого в редакторе советников следует выполнить команду меню "Файл — Компилировать", нажать клавишу F9 или кнопку панели инструментов. В результате успешной компиляции создается исполняемый файл программы с расширением *.EX4, автоматически помещаемый в папку /EXPERTS/INDICATORS. Список пользовательских индикаторов можно просмотреть в окне "Навигатор — Пользовательские индикаторы" клиентского терминала.
Редактирование пользовательских индикаторов
Чтобы приступить к редактированию уже существующего индикатора из терминала, необходимо выполнить команду "Изменить" контекстного меню окна "Навигатор — Пользовательские индикаторы". При этом откроется редактор MetaEditor, в который уже будет загружен исходный код выбранного индикатора. После изменения исходного кода аналитического инструмента необходимо повторно скомпилировать его и получить новый исполняемый EX4-файл. В противном случае в терминале будет использоваться неизмененная, предыдущая версия индикатора.
Внимание: если индикатор скомпилирован с ошибками, его наложить нельзя. При этом окно свойств индикатора не появится, а в журнале экспертов появится запись о невозможности открыть файл с исполняемым кодом.
Настройка пользовательских индикаторов
Перед началом использования индикаторов необходимо произвести их предварительную настройку. Общие для всех пользовательских индикаторов (и экспертов) параметры работы задаются в окне настройки клиентского терминала. Это окно можно открыть командой меню "Сервис — Настройки" или при помощи клавиш-акселераторов Ctrl+O. Для настройки параметров работы индикаторов необходимо выбрать вкладку "Советники".
На работу пользовательских индикаторов оказывают влияние только две опции:
- Разрешить импорт DLL
Для расширения функциональности пользовательские индикаторы могут использовать DLL-библиотеки. Выставив этот флажок, можно использовать такие библиотеки без каких-либо ограничений. Если эта опция отключена, ни одна MQL4-программа не сможет воспользоваться внешними DLL-библиотеками. - Разрешить импорт внешних экспертов
Если при работе индикатора требуется экспортировать функции из других экспертов или MQL4-библиотек, необходимо включить эту опцию. Если она отключена, ни один из запущенных индикаторов не сможет запрашивать функции из других MQL4-программ.
Наложение пользовательских индикаторов на график
После настройки общих параметров пользовательские индикаторы можно накладывать на график. Двойным кликом левой кнопкой мыши на выбранном индикаторе в окне "Навигатор — Пользовательские индикаторы" или выполнением команды контекстного меню "Присоединить к графику" можно наложить индикатор на активный график. Более того, при помощи технологии "Drag'n'Drop" можно наложить аналитический инструмент на любой график. При этом автоматически появится окно настройки с несколькими вкладками:
Общие
Во вкладке "Общие" можно управлять импортом из библиотек DLL и MQL4. Кроме того, если индикатор строится в отдельном подокне, отсюда можно задать его границы. Для этого необходимо выставить соответствующие флажки и записать требуемые значения в полях.
Входные параметры
Во вкладке "Входные параметры" сгруппированы внешние переменные, которыми можно управлять прямо из терминала. Чтобы изменить требуемую переменную, необходимо дважды щелкнуть по ее значению в таблице и записать новое.
Цвета
Вкладка "Цвета" предназначена для управления выводимыми на экран элементами индикатора. Кроме цветов, можно изменять ширину и стиль линий.
Уровни
Из вкладки "Уровни" в окне индикатора можно выставлять горизонтальные линии на любом уровне. Чтобы создать новый уровень, необходимо нажать кнопку "Добавить", а чтобы удалить — одноименную кнопку. Также здесь можно изменять цвет, толщину и стиль уровней.
Внимание: для индикаторов, строящихся непосредственно на графике цен, эта вкладка недоступна.
Отображение
Во вкладке "Отображение" можно ограничить использование индикатора по таймфреймам. Это бывает полезно, если индикатор для разных периодов должен иметь разные настройки. Можно, например, наложить две копии одного индикатора с разными настройками на один график и ограничить их использование по таймфреймам: на более мелких периодах будет работать первый индикатор, а на больших таймфреймах — второй. Опция "Показывать в Окне Данных" позволяет скрывать/показывать информацию о данном индикаторе в одноименном окне.
Сразу после этого начинаются пересчет значений индикатора и его отрисовка на графике. Пользовательские индикаторы, как и технические, могут строиться в создаваемом отдельном окне индикатора с собственной вертикальной шкалой (например, MACD) или накладываться прямо на график цен (например, Moving Average).
Удаление пользовательского индикатора с графика
Чтобы завершить работу индикатора, необходимо удалить его с графика. При этом прекращаются пересчет его значений и отрисовка индикатора. Для удаления индикатора с графика следует выполнить команду его контекстного меню "Удалить", "Удалить окно индикатора" или команду контекстного меню графика "Список индикаторов — Удалить".
Внимание: удаление пользовательского индикатора из окна "Навигатор" не завершает работу одноименного, наложенного на график аналитического инструмента.

СКАЧАТЬ МЕТАТРЕЙДЕР 4 и Получать 12.5% годовых на депозит в Надёжном ДЦ Можно Здесь >>>
Оптимизация советников в Метатрейдер 4 с рисунками
Оптимизация представляет собой последовательные прогоны одного и того же советника с различными входными параметрами на одних и тех же данных. При этом можно подобрать такие параметры, при которых эффективность советника будет максимальной. Терминал обладает встроенными средствами, позволяющими автоматизировать этот процесс. Чтобы провести оптимизацию, необходимо выставить одноименный флажок в окне "Тестер" и нажать кнопку "Старт".
Настройка оптимизации советников
Оптимизация представляет собой последовательные прогоны одного и того же советника с различными входными параметрами на одних и тех же данных. При этом можно подобрать такие параметры, при которых эффективность советника будет максимальной. Терминал обладает встроенными средствами, позволяющими автоматизировать этот процесс. Прежде чем приступать к оптимизации параметров советника, необходимо произвести настройку. Это означает, что следует:
- выбрать советника и задать его входные параметры
- выбрать финансовый инструмент и его период
- выбрать один из трех способов моделирования баров
- задать временной диапазон для оптимизации (необязательно)
Для тестирования и оптимизации советников в терминале используется специальное окно "Тестер". Все вышеперечисленные настройки производятся во вкладке "Настройка" этого окна.
Советник и его параметры
В поле окна "Тестер — Советники" следует выбрать эксперт, параметры которого необходимо оптимизировать. В этом поле нельзя выбрать любой файл советника. Здесь могут быть лишь доступные в клиентском терминале файлы. Для этого они должны быть скомпилированными и находиться в папке /EXPERTS.
После того как выбран советник, необходимо провести дополнительную настройку и задать входные параметры. Это можно сделать нажатием кнопки "Свойства эксперта". При этом появится новое окно с тремя вкладками:
Тестирование — в этой вкладке задаются общие параметры оптимизации. К ним относятся объем и валюта начального депозита, которые указываются в одноименных полях. Именно этим депозитом будет оперировать советник во время оптимизации. В этой вкладке также выбираются типы открываемых позиций: Only Long — открывать только длинные позиции; Only Short — только короткие; Long and Short — открывать позиции в обе стороны. Каков бы ни был алгоритм советника, он будет открывать позиции только в заданных направлениях. Также можно включить генетический алгоритм оптимизации и выбрать оптимизируемый параметр (максимизация по значению баланса, фактора прибыльности, математического ожидания выигрыша либо минимизация по значению максимальной просадки или процента просадки);
Входные параметры — здесь в виде таблицы приводится список всех входных параметров. Входными параметрами называются переменные, которые влияют на работу эксперта и могут быть изменены прямо из клиентского терминала. Для изменения этих параметров нет необходимости изменять код эксперта. Количество входных переменных может варьироваться от эксперта к эксперту. При оптимизации входные параметры советника задаются в полях "Старт", "Шаг" и "Стоп". В этих полях задаются начальные значения, шаг изменения и конечные значения внешних переменных соответственно. Слева от названия переменных имеются галочки, включающие параметр в оптимизацию. Если переменная не отмечена галочкой, она не участвует в оптимизации. Ее значение в процессе оптимизации не изменяется, и используется параметр, записанный в поле "Значение". Количество прогонов эксперта напрямую зависит от этих параметров. Данные, записываемые в поле "Значение", не влияют на оптимизацию советника и необходимы лишь для его тестирования.
Существует возможность загрузить уже сохраненный набор входных параметров (включая значения "Старт", "Шаг" и "Стоп"). Это можно сделать, нажав кнопку "Загрузить" и выбрав предварительно сохраненный набор параметров. Сохранить текущий набор внешних переменных можно при помощи одноименной кнопки.
Оптимизация — эта вкладка позволяет управлять ограничениями во время оптимизации. Если в процессе отдельного прогона будет достигнуто любое из условий, этот прогон советника прервется.
К ограничивающим параметрам относятся:
Минимальный баланс — минимальное значение баланса в валюте депозита;
Максимальная прибыль — максимальная прибыль в валюте депозита;
Минимальный уровень маржи % — минимальный уровень маржи в процентах;
Максимальная просадка % — максимальная просадка в процентах;
Непрерывный убыток — максимальный суммарный убыток в одной серии. Убыточной серией называются несколько следующих подряд убыточных сделок;
Непрерывное количество убыточных сделок — максимальное количество убыточных сделок в одной серии;
Непрерывный выигрыш — максимальная суммарная прибыль в одной серии. Прибыльной серией называются несколько следующих подряд прибыльных сделок;
Непрерывное количество прибыльных сделок — максимальное количество прибыльных сделок в одной серии.
Чтобы включить ограничивающее условие, необходимо выставить соответствующий флажок слева от него. Двойным кликом левой кнопки мыши в поле "Значение" можно изменить имеющийся параметр.
Финансовый инструмент и его период
Чтобы приступить к тестированию, недостаточно лишь выбрать советника и настроить его. Необходимо также выбрать финансовый инструмент и период (таймфрейм) для тестирований. Все тестирования будут проходить именно на этих данных. При тестированиях можно выбрать один из доступных в терминале инструментов или использовать внешний файл данных. В тестированиях используются файлы исторических данных формата *.FXT, которые записываются в директории /TESTER. Эти файлы автоматически создаются при тестированиях, если был выбран имеющийся в терминале инструмент. При использовании внешних данных необходимо собственноручно поместить соответствующий файл данных в директорию /TESTER и отключить флажок "Пересчитать", чтобы не перезаписать эту тестирующую последовательность.
Финансовый инструмент задается в поле "Символ", а таймфрейм — в поле "Период". Если файла данных по этому инструменту, периоду и методу моделирования не существует, он будет создан автоматически. Если требуемый файл уже создан, и включена опция "Пересчитать", при тестировании произойдет повторное генерирование файла данных. При отсутствии исторических данных по инструменту и периоду, тестер автоматически скачает 512 последних баров истории.
Внимание: если по инструменту имеются какие-либо данные за пределами последних 512 баров, произойдет автоматическое скачивание исторических данных до самого последнего имеющегося бара. Это может вызвать резкое увеличение входящего трафика.
Методы моделирования
Исторические данные в терминале сохраняются только как бары и представляют собой записи в виде OHLC. Эти данные могут использоваться для моделирования динамики цен при оптимизации советников. В некоторых случаях для тестирования/оптимизации такой информации бывает недостаточно. Например, на дневных данных колебания цен внутри бара могут привести к срабатыванию советника. В то же время при оптимизации срабатывания может не произойти. Иными словами, оптимизация советника на основе одних только баров иногда бывает неточной и может давать ложное представление об эффективности эксперта с выбранными параметрами.
Терминал позволяет оптимизировать советники с использованием различных методов моделирования исторических данных. При этом динамика цен эмулируется более точно. За счет использования исторических данных более мелких периодов можно представлять колебания цен внутри баров. Например, при оптимизации советника на часовых данных, динамику цен внутри бара можно смоделировать на основе минутных данных. Таким образом, моделирование существенно приближает исторические данные к реальным колебаниям цен и делает оптимизацию советников более достоверной.
При настройке оптимизации можно выбрать один из трех методов моделирования исторических данных:
По ценам открытия (быстрый метод на сформировавшихся барах)
Некоторые механические торговые системы не зависят от особенностей внутрибарного моделирования, они торгуют на сформировавшихся барах. То, что текущий ценовой бар полностью сформировался, можно узнать по появлению следующего. Именно для таких экспертов предназначен этот режим моделирования.
В этом режиме сначала моделируется открытие бара (Open = High = Low = Close, Volume=1), что дает эксперту возможность точно идентифицировать окончание формирования предыдущего ценового бара. Именно на этом зарождающемся баре запускается тестирование эксперта. На следующем шаге выдается уже полностью сформированный текущий бар, но на нем тестирование не производится!
Контрольные точки (используется ближайший таймфрейм + фрактальная интерполяция)
Метод моделирования контрольных точек предназначен для грубой оценки экспертов, торгующих внутри бара. Для этого метода необходимо наличие исторических данных ближайшего меньшего периода (таймфрейма). В большинстве случаев имеющиеся данные меньшего таймфрейма не полностью покрывают временной диапазон тестируемого таймфрейма. При отсутствии данных меньшего таймфрейма развитие бара генерируется на основе цен закрытия 12 предыдущих баров. То есть, движение внутри бара повторяет движение цены за последние 12 периодов. Это и есть фрактальная интерполяция.
Как только появляются исторические данные меньшего таймфрейма, фрактальная интерполяция применяется уже к этим данным. Однако используется уже не 12, а всего 6 предыдущих баров. То есть воспроизводятся реально существующие цены Open, High, Low, Close плюс ещё две сгенерированных цены. Значение и местоположение этих двух сгенерированных цен зависит от движения цены на 6 предыдущих барах.
Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого тика)
Этот режим позволяет наиболее точно смоделировать движение цены внутри бара. В отличие от "контрольных точек", потиковый метод использует для генерации данные не только ближайшего меньшего таймфрейма, но и всех доступных меньших таймфреймов. При этом, если для какого-то временного диапазона одновременно существуют данные более одного таймфрейма, то для генерации используются данные самого меньшего таймфрейма. Так же, как и в предыдущем методе, фрактально генерируются контрольные точки. Для генерации движения цены между контрольными точками также используется фрактальная интерполяция. Возможна ситуация, когда генерируется несколько одинаковых тиков подряд. В этом случае дублирующиеся котировки фильтруются, и фиксируется объем последней из таких котировок.
Необходимо учитывать очень большой возможный объем сгенерированных потиковых данных. Это может сказаться на потребляемых ресурсах операционной системы и на скорости тестирования.
Внимание:
- не рекомендуется запускать потиковое тестирование при отсутствии более мелких таймфреймов, полностью покрывающих исследуемый период, иначе тестирование будет неточным;
- моделирование по контрольным точкам в основном используется при оптимизации советников, а моделирование всех тиков — для тщательного тестирования.
При смене параметров моделирования и диапазона дат (описано ниже) необходимо заново создавать файл данных. Для этого следует выставить флажок "Пересчитать". Если указанные настройки не изменялись, пересчета производить не надо. В этом случае рекомендуется отключать этот флажок.
Временной диапазон
Диапазон дат позволяет тестировать советники не на всех имеющихся данных, а лишь на выбранном временном отрезке. Это бывает удобным при необходимости исследовать отдельную часть исторических данных. Ограничение диапазона дат можно использовать не только при тестировании эксперта, но и при генерации тестирующей последовательности баров (файла смоделированных данных, используемого для тестирования). Очень часто нет необходимости генерировать данные всей истории, особенно при потиковом моделировании, когда объем неиспользуемых данных может быть очень большим. Поэтому если при первоначальной генерации тестирующей последовательности была включена возможность использования диапазона дат, то бары, выходящие за пределы указанного диапазона, не генерируются, а просто переписываются в выходную последовательность. Данные не исключаются из последовательности, чтобы оставалась возможность правильно посчитать индикаторы на всей полученной истории. Необходимо заметить, что первые 100 баров также не генерируются. Это ограничение не зависит от установленного диапазона дат.
Чтобы включить ограничение по датам, необходимо выставить флажок "Использование дат" и указать требуемые значения в полях "От" и "До". После того как произведены все настройки, можно нажать кнопку "Старт" и начать тестирование. После начала тестирования в нижней части окна можно просмотреть ориентировочное время завершения этого процесса.
Внимание:
- если не выставлен флажок "Оптимизация", по нажатии кнопки "Старт" вместо оптимизации будет производиться тестирование советника;
- при оптимизации, как и при тестировании, можно использовать собственные файлы истории.
Результаты оптимизации
После завершения оптимизации можно просмотреть ее результаты во вкладках "Результаты оптимизации" и "График оптимизации".
Результаты
В отличие от тестирования, оптимизация предполагает многократные прогоны механической торговой системы (МТС) с разными входными параметрами. Это делается с целью определения параметров советника, при которых его прибыльность будет максимальна. Чтобы провести оптимизацию, необходимо выставить одноименный флажок во вкладке настроек тестирования и нажать кнопку "Старт". После этого в окне появятся две новых вкладки: "Результаты оптимизации" и "График оптимизации".
Во вкладке "Результаты оптимизации", в отличие от результатов тестирования, публикуется не список всех операций, а окончательные отчеты каждого из прогонов.
Вся информация представлена в виде таблицы с полями:
Проход — номер прогона;
Прибыль — чистая прибыль (валовая прибыль за вычетом валовых убытков);
Всего сделок — общее количество открытых торговых позиций;
Прибыльность — отношение общей прибыли к общему убытку в процентах. Единица означает, что сумма прибыли равна сумме убытков;
Матожидание выигрыша — математическое ожидание выигрыша. Этот статистически расчитываемый показатель отражает среднюю прибыльность/убыточность одной сделки. Также можно считать, что он отражает предполагаемую прибыльность/убыточность следующей сделки;
Просадка $ — максимальная просадка относительно начального депозита, в валюте депозита;
Просадка % — максимальная просадка относительно начального депозита, в процентах;
Входные параметы — изменяемые значения входных переменных при каждом прогоне.
Кликнув левой кнопкой мыши на заголовке любого столбца, можно отсортировать все записи в таблице по убыванию или по возрастанию. При выполнении команды контекстного меню "Установить входные параметры" в качестве базовых входных переменных эксперта (окно свойств эксперта, вкладка "Входные параметры") записываются данные выбранного прогона. При этом происходят переключение во вкладку "Настройка" и отключение режима оптимизации. Нажав кнопку "Старт", можно приступить к тестированию советника с выбранными входными переменными. Двойным кликом левой кнопки мыши на строке прогона во вкладке результатов оптимизации можно выполнить то же действие. При помощи команды контекстного меню "Копировать" или клавиш-акселераторов Ctrl+C можно скопировать выделенные строки результатов в буфер обмена для дальнейшего использования в других приложениях. Если не выбрано ни одной строки, то в буфер обмена скопируется вся таблица. Также, чтобы скопировать всю таблицу в буфер обмена, можно выполнить команду "Копировать все". Отчет о результатах оптимизации можно также сохранить в HTML-формате на жестком диске. Для этого необходимо выполнить команду контекстного меню "Сохранить как отчет". Другие команды контекстного меню позволяют настраивать отображение результатов:
- Пропустить бесполезные результаты — показать/скрыть результаты убыточных прогонов;
- Показать входные параметры — показать/скрыть колонку "Входные параметры";
- Авторазмер столбцов — установить размер столбцов автоматически при изменении размера окна.
То же действие можно выполнить нажатием клавиши A; - Сетка — показать/скрыть сетку для разделения колонок.
Те же действия можно выполнить, нажав клавишу G.
График
Во вкладке "График Оптимизации" автоматически рисуется график прибыли всех прогонов. График позволяет наглядно оценить прибыльность использования различных комбинаций входных параметров. В нижней части графика также приводится график, отражающий количество прибыльных (зеленый цвет) и убыточных (красный цвет) сделок при каждом прогоне.
Двойной клик левой кнопкой мыши на любой точке графика производит переключение во вкладку "Результаты" и выбирает соответствующий прогон. При помощи команды контекстного меню "Копировать" или клавиш-акселераторов Ctrl+C можно скопировать изображение графика в буфер обмена для дальнейшего использования в других приложениях. График можно также сохранить в виде GIF-файла на жестком диске. Для этого необходимо выполнить команду контекстного меню "Сохранить как рисунок" или нажать клавиши-акселераторы Ctrl+S.

СКАЧАТЬ МЕТАТРЕЙДЕР 4 и Получать 12.5% годовых на депозит в Надёжном ДЦ Можно Здесь >>>
Тестирование стратегий в Метатрейдер 4 с рисунками
Терминал позволяет не только писать советники, но и тестировать их перед использованием. Эта полезная функция позволяет проверить работоспособность и эффективность механической торговой системы на исторических данных. Тестирование дает возможность приступить к автотрейдингу, зная об особенностях поведения эксперта в различных рыночных условиях. Для этих целей в терминал встроено специальное окно "Тестер". При помощи этого окна можно также оптимизировать входные параметры экспертов.
Настройка параметров тестирования
Прежде чем приступать к тестированию советников, необходимо произвести настройку. Это означает, что следует:
- выбрать советник и задать его входные параметры
- выбрать финансовый инструмент и его период
- выбрать один из трех способов моделирования баров
- задать временной диапазон тестирования (необязательно)
Для тестирования и оптимизации советников в терминале используется специальное окно "Тестер". Все вышеперечисленные параметры задаются во вкладке "Настройка" этого окна.
Советник и его параметры
В поле окна "Тестер — Советники" необходимо выбрать советник для тестирования. В этом поле нельзя выбрать любой файл советника. Здесь могут быть только доступные в клиентском терминале эксперты. Для этого они должны быть скомпилированными и находиться в папке /EXPERTS.
После того как выбран советник, необходимо провести дополнительную настройку тестирования и входных параметров. Это можно сделать нажатием кнопки "Свойства эксперта". При этом появится новое окно с тремя вкладками:
Тестирование — в этой вкладке задаются общие параметры тестирования. К ним относятся объем и валюта начального депозита, которые указываются в одноименных полях. Именно этим депозитом будет оперировать советник при тестировании. В этой вкладке также выбираются типы открываемых при тестировании позиций: Only Long — открывать только длинные позиции; Only Short — только короткие; Long and Short — открывать позиции в обе стороны. Каков бы ни был алгоритм советника, он будет открывать позиции только в заданных направлениях. Также можно включить генетический алгоритм оптимизации и выбрать оптимизируемый параметр (максимизация по значению баланса, фактора прибыльности, математического ожидания выигрыша либо минимизация по значению максимальной просадки или процента просадки.
Входные параметры — здесь в виде таблицы приводится список всех входных параметров. Входными параметрами называются переменные, которые влияют на работу эксперта и могут быть изменены прямо из клиентского терминала. Для изменения этих параметров нет необходимости изменять код эксперта. Количество входных переменных может варьироваться от эксперта к эксперту. При тестировании входные параметры советника задаются в поле "Значение". Данные, записываемые в полях "Старт", "Шаг" и "Стоп", не влияют на тестирование советника и необходимы лишь для оптимизации его параметров. Работа с этими параметрами описывается в разделе "Настройка оптимизации советников".
Оптимизация — настройки в этой вкладке позволяют управлять ограничениями проходов тестирования при оптимизации. Изменения параметров в этой вкладке не влияют на однократные тестирования эксперта.
Финансовый инструмент и его период
Чтобы приступить к тестированию, недостаточно лишь выбрать советник и настроить его. Необходимо также выбрать финансовый инструмент и период (таймфрейм) для тестирования. Все тестирование будет проходить именно на этих данных. При тестировании можно выбрать один из доступных в терминале инструментов или использовать внешний файл данных. В тестировании используются файлы исторических данных формата *.FXT, которые записываются в директории /TESTER. Эти файлы автоматически создаются при тестировании, если был выбран имеющийся в терминале инструмент. При использовании внешних данных необходимо собственноручно поместить соответствующий файл данных в директорию /TESTER и отключить флажок "Пересчитать", чтобы не перезаписать эту тестирующую последовательность.
Финансовый инструмент задается в поле "Символ", а таймфрейм — в поле "Период". Если файла данных по этому инструменту, периоду и методу моделирования не существует, он будет создан автоматически. Если требуемый файл уже создан и включена опция "Пересчитать", при тестировании произойдет повторное генерирование файла данных. При отсутствии исторических данных по инструменту и периоду, тестер автоматически скачает 512 последних баров истории.
Внимание: если по инструменту имеются какие-либо данные за пределами последних 512 баров, произойдет автоматическое скачивание исторических данных до самого последнего имеющегося бара. Это может вызвать резкое увеличение входящего трафика.
Методы моделирования
Исторические данные в терминале сохраняются только как бары и представляют собой записи в виде TOHLCV (формат HST). Эти данные могут использоваться для моделирования динамики цен при тестировании советников. В некоторых случаях для тестирования такой информации бывает недостаточно. Например, на дневном таймфрейме колебания цен внутри бара могут привести к срабатыванию советника. В то же время при тестировании срабатывания может не произойти. Иными словами, тестирование советника на основе одних только баров иногда бывает неточным и может дать ложное представление об эффективности эксперта.
Терминал позволяет тестировать советники с использованием различных методов моделирования исторических данных. За счет использования исторических данных более мелких периодов можно представлять колебания цен внутри баров, то есть динамика цен будет эмулироваться более точно. Например, при тестировании советника на часовых данных, динамику цен внутри бара можно смоделировать на основе минутных данных. Таким образом, моделирование существенно приближает исторические данные к реальным колебаниям цен и делает тестирование советников более достоверным.
Для тестирования можно выбрать один из трех методов моделирования исторических данных:
По ценам открытия (быстрый метод на сформировавшихся барах)
Некоторые механические торговые системы не зависят от особенностей внутрибарного моделирования, они торгуют на сформировавшихся барах. То, что текущий ценовой бар полностью сформировался, можно узнать по появлению следующего. Именно для таких экспертов предназначен этот режим моделирования.
В этом режиме сначала моделируется открытие бара (Open = High = Low = Close, Volume=1), что дает эксперту возможность точно идентифицировать окончание формирования предыдущего ценового бара. Именно на этом зарождающемся баре запускается тестирование эксперта. На следующем шаге выдается уже полностью сформированный текущий бар, но на нем тестирование не производится!
Контрольные точки (используется ближайший таймфрейм + фрактальная интерполяция)
Метод моделирования контрольных точек предназначен для грубой оценки экспертов, торгующих внутри бара. Для этого метода необходимо наличие исторических данных ближайшего меньшего периода (таймфрейма). В большинстве случаев имеющиеся данные меньшего таймфрейма не полностью покрывают временной диапазон тестируемого таймфрейма. При отсутствии данных меньшего таймфрейма развитие бара генерируется на основе цен закрытия 12 предыдущих баров. То есть, движение внутри бара повторяет движение цены за последние 12 периодов. Это и есть фрактальная интерполяция.
Как только появляются исторические данные меньшего таймфрейма, фрактальная интерполяция применяется уже к этим данным. Однако используются уже не 12, а всего 6 предыдущих баров. То есть воспроизводятся реально существующие цены Open, High, Low, Close плюс ещё две сгенерированных цены. Значение и местоположение этих двух сгенерированных цен зависит от движения цены на 6 предыдущих барах.
Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого тика) Этот режим позволяет наиболее точно смоделировать движение цены внутри бара. В отличие от "контрольных точек", потиковый метод использует для генерации данные не только ближайшего меньшего таймфрейма, но и всех доступных меньших таймфреймов. При этом, если для какого-то временного диапазона одновременно существуют данные более, чем одного таймфрейма, для генерации используются данные самого меньшего таймфрейма. Так же, как и в предыдущем методе, фрактально генерируются контрольные точки. Для генерации движения цены между контрольными точками также используется фрактальная интерполяция. Возможна ситуация, когда генерируется несколько одинаковых тиков подряд. В этом случае дублирующиеся котировки фильтруются, и фиксируется объем последней из таких котировок.
Необходимо учитывать очень большой возможный объем сгенерированных потиковых данных. Это может сказаться на потребляемых ресурсах операционной системы и на скорости тестирования.
Внимание:
- не рекомендуется запускать потиковое тестирование при отсутствии более мелких таймфреймов, полностью покрывающих исследуемый период, иначе тестирование будет неточным;
- моделирование по контрольным точкам в основном используется при оптимизации советников, а моделирование всех тиков — для тщательного тестирования.
Качество моделирования можно проверить в окне "Отчет". Для этого предназначено поле "Качество моделирования" и цветная полоса. Полоса представляет собой схематичное отображение процесса моделирования. Она может быть трех цветов:
Серый — эта часть имеющихся данных не участвовала в тестировании. Серый цвет может появиться, если для тестирования был указан диапазон дат (описано ниже);
Красный — на этом отрезке моделирование не проводилось за неимением данных более мелкого периода. При этом использовались только данные выбранного для тестирования таймфрейма;
Зеленый — на данном участке моделирование проводилось. Причем, чем ярче цвет, тем более качественным было моделирование. Например, при тестировании на периоде H1 темно-зеленая полоса может свидетельствовать о том, что для тестирования использовались данные периода M30, а самая яркая — об использовании данных периода M1.
При смене параметров моделирования и диапазона дат (описано ниже) необходимо заново создавать файл данных. Для этого необходимо выставить флажок "Пересчитать". Если указанные настройки не изменялись, пересчета производить не надо. В этом случае рекомендуется отключать вышеназванный флажок, чтобы сократить общее время тестирования.
Временной диапазон
Диапазон дат позволяет тестировать советники не на всех имеющихся данных, а лишь на выбранном временном отрезке. Это бывает удобным при необходимости исследовать отдельную часть исторических данных. Ограничение диапазона дат можно использовать не только при тестировании эксперта, но и при генерации тестирующей последовательности баров (файла смоделированных данных, используемого для тестирования). Очень часто нет необходимости генерировать данные всей истории, особенно при потиковом моделировании, когда объем неиспользуемых данных может быть очень большим. Поэтому если при первоначальной генерации тестирующей последовательности была включена возможность использования диапазона дат, то бары, выходящие за пределы указанного диапазона, не генерируются, а просто переписываются в выходную последовательность. Данные не исключаются из последовательности, чтобы оставалась возможность правильно посчитать индикаторы на всей полученной истории. Необходимо заметить, что первые 100 баров также не генерируются. Это ограничение не зависит от установленного диапазона дат.
Чтобы включить ограничение по датам, необходимо выставить флажок "Использование дат" и указать требуемые значения в полях "От" и "До". После того, как произведены все настройки, можно нажать кнопку "Старт" и начать тестирование. После начала тестирования в нижней части окна можно просмотреть ориентировочное время завершения этого процесса.
Визуализация тестирования
Если включить флажок ""Визуализация", то после нажатия на кнопку "Старт" автоматически будет открыт график, на котором будет проигрываться смоделированная последовательность тиков. Скорость проигрывания можно регулировать. Можно приостановить проигрывание, нажав на кнопку "||". Повторное нажатие на эту кнопку возобновляет поступление смоделированных тиков. Нажатие на клавишу F12 вызывает моментальное появление следующего тика даже в состоянии паузы. Визуализацию можно пропустить до определенной даты. После установки нужной даты и нажатия на кнопку "Пропустить до" визуализация прекращается и возобновляется после достижения тестером указанной даты.
Внимание: если выставлен флажок "Оптимизация", по нажатии кнопки "Старт" вместо тестирования будет производиться оптимизация параметров советника.
Результаты тестирования
После завершения тестирования можно просмотреть его результаты во вкладках: "Результаты", "График", "Отчет" и "Журнал".
Результаты
В этой вкладке в виде таблицы представлена информация обо всех проведенных торговых операциях:
Номер — порядковый номер торговой операции;
Время — время совершения операции;
Тип — тип совершенной операции (sell, buy, s/l, t/p, modify, close at stop и так далее);
Ордер — номер тикета торговой позиции или отложенного ордера (не путать с номером торговой операции, который описан выше);
Лоты — количество лотов, участвовавших в операции;
Цена — цена инструмента при совершении операции;
S/L — значение ордера Стоп Лосс. Отсутствие записей в этом поле свидетельствует о том, что ордер не выставлялся;
T/P — значение ордера Тейк Профит. Отсутствие записей в этом поле свидетельствует о том, что ордер не выставлялся;
Прибыль — прибыль/убыток. Значение прибыли/убытка проставляется только при закрытии позиций;
Баланс — значение баланса. Значение баланса записывается только при закрытии позиций.
Кликнув левой кнопкой мыши на любом заголовке столбца, можно отсортировать все записи в таблице по убыванию или по возрастанию. При помощи команды контекстного меню "Копировать" или клавиш-акселераторов Ctrl+C можно скопировать выбранные строки результатов в буфер обмена для дальнейшего использования в других приложениях. Если не выбрано ни одной строки, то в буфер обмена скопируется вся таблица. Также, чтобы скопировать всю таблицу в буфер обмена, можно выполнить команду "Копировать все". Отчет о результатах тестирования можно сохранить в HTML-файле на жестком диске. Для этого необходимо выполнить команду контекстного меню "Сохранить как отчет". Команды "Установить начальную дату" и "Установить конечную дату" позволяют задать временной диапазон тестирования. При этом даты выбранных операций записываются в поля "Использовать дату от:" и "Использовать дату до:" в настройках тестирования. Это бывает полезным при необходимости тщательно протестировать советник или провести оптимизацию его параметров на данном диапазоне.
График
Во вкладке "График" автоматически рисуется график состояния баланса счета (синяя линия — "Баланс") и общего состояния счета с учетом открытых позиций (зеленая линия — "Средства"). Если на графике отображается лишь одна линия баланса, значит, линии "Баланс" и "Средства" совпадают на всем протяжении тестирования. График позволяет более наглядно отследить динамику результатов торговли при тестировании. Если в процессе тестирования происходило изменение размера лотов, в нижней части графика также появляется гистограмма изменения лотов.
Двойной клик левой кнопкой мыши на любой точке графика производит переключение во вкладку "Результаты" и выбирает соответствующую строку. При помощи команды контекстного меню "Копировать" или клавиш-акселераторов Ctrl+C можно скопировать изображение графика в буфер обмена для дальнейшего использования в других приложениях. График можно также сохранить в виде GIF-файла на жестком диске. Для этого необходимо выполнить команду контекстного меню "Сохранить как рисунок" или нажать клавиши-акселераторы Ctrl+S. Команды "Установить начальную дату" и "Установить конечную дату" позволяют задать временной диапазон тестирования. При этом даты выбранных операций записываются в поля "Использовать дату от:" и "Использовать дату до:" во вкладке настроек тестирования. Это бывает полезным, если необходимо тщательно протестировать советник или провести оптимизацию его параметров на данном временном диапазоне.
Отчет
Во вкладке "Отчет" представлены обобщенные результаты тестирования советника и некоторые ключевые показатели. Такие отчеты позволяют быстро сравнивать между собой различные эксперты.
В отчетах публикуются следующие данные:
Баров в истории — количество смоделированных исторических данных в барах;
Смоделировано тиков — количество смоделированных тиков;
Качество моделирования — качество смоделированных в процессе тестирования тиков в процентах. Моделирование схематично отображается в виде полосы в следующей строке отчета. Эта полоса может быть трех цветов:
- Серый — эта часть имеющихся данных не участвовала в тестировании. Серый цвет может появиться, если был указан диапазон дат в настройках тестирования;
- Красный — на этом отрезке моделирование не проводилось за неимением данных более мелкого периода. При этом использовались только данные выбранного в настройках тестирования периода;
- Зеленый — моделирование на данном участке проводилось. Причем, чем ярче цвет, тем более качественным было моделирование. Например, при тестировании на периоде H1 темно-зеленая полоса может свидетельствовать о том, что для тестирования использовались данные тридцатиминутного периода M30, а самая яркая — об использовании минутных данных;
Внимание: если в качестве метода моделирования в настройках тестирования был выбран самый быстрый способ ("по ценам открытия"), вся полоса будет красной. При этом в графе "Качество моделирования" будет записано "n/a" — моделирование не проводилось;
Начальный депозит — объем начального депозита;
Чистая прибыль — финансовый результат всех сделок. Этот показатель представляет собой разность "Общей прибыли" и "Общего убытка";
Общая прибыль — сумма всех прибыльных сделок в денежных единицах;
Общий убыток — сумма всех убыточных сделок в денежных единицах;
Прибыльность — отношение общей прибыли к общему убытку в процентах. Единица означает, что сумма прибылей равна сумме убытков;
Матожидание выигрыша — математическое ожидание выигрыша. Этот статистически рассчитываемый показатель отражает среднюю прибыльность/убыточность одной сделки. Также можно считать, что он отражает предполагаемую прибыльность/убыточность следующей сделки;
Абсолютная просадка — наибольший убыток ниже значения начального депозита;
Максимальная просадка — наибольший убыток от локального максимума в валюте депозита и в проценте от депозита;
Всего сделок — общее количество торговых позиций;
Короткие позиции (% выигравших) — количество коротких позиций и процент прибыльных коротких позиций;
Длинные позиции (% выигравших) — количество длинных позиций и процент прибыльных длинных позиций;
Прибыльные сделки (% от всех) — количество прибыльных торговых позиций и их доля в общем количестве сделок, в процентах;
Убыточные сделки (% от всех) — количество убыточных торговых позиций и их доля в общем количестве сделок, в процентах;
Самая большая прибыльная сделка — наибольшая прибыль среди всех прибыльных позиций;
Самая большая убыточная сделка — наибольший убыток среди всех убыточных позиций;
Средняя прибыльная сделка — усредненное значение прибыли за сделку (сумма прибылей, поделенная на количество прибыльных сделок);
Средняя убыточная сделка — усредненное значение убытков за сделку (сумма убытков, поделенная на количество убыточных сделок);
Максимальное количество непрерывных выигрышей (прибыль) — наиболее длинная серия прибыльных торговых позиций и сумма их выигрышей;
Максимальное количество непрерывных проигрышей (убыток) — наиболее длинная серия убыточных торговых позиций и сумма их проигрышей;
Максимальная непрерывная прибыль (число выигрышей) — максимальная прибыль за одну серию прибыльных сделок и соответствующее ей количество прибыльных сделок;
Максимальный непрерывный убыток (число проигрышей) — максимальный убыток за одну серию убыточных сделок и соответствующее ему количество убыточных сделок;
Средний непрерывный выигрыш — среднее количество прибыльных позиций в непрерывных прибыльных сериях;
Средний непрерывный проигрыш — среднее количество убыточных позиций в непрерывных убыточных сериях.
Этот отчет можно скопировать в буфер обмена или сохранить на жестком диске в виде HTML-файла. Для этого необходимо выполнить команды контекстного меню "Скопировать" и "Сохранить как отчет" соответственно. Скопировать отчет в буфер обмена можно также при помощи клавиш-акселераторов Ctrl+C.
Вкладка "Журнал"
Во вкладке "Журнал" автоматически публикуются сообщения о ходе тестирования советника, включая все торговые операции. Этот журнал идентичен журналу окна "Терминал — Эксперты", за исключением того, что в окне тестера публикуются сообщения, связанные с тестированием советника, а не c его работой на рынке. После окончания тестирования эти данные выводятся в отдельный каталог /TESTER/LOGS. Файлы журнала тестирования хранятся в каталоге /EXPERTS/LOGS, имя файлов соответствует дате формирования журнала — YYYYMMDD.LOG. Для просмотра сохраненных журналов следует выполнить команду контекстного меню "Открыть" и выбрать нужный файл. Чтобы скопировать сообщение в буфер обмена, необходимо выполнить одноименную команду контекстного меню. Команда "Стереть все журналы" позволяет удалить все журналы из директории и очищает эту вкладку. Это бывает полезным для очистки жесткого диска от разросшихся файлов.

СКАЧАТЬ МЕТАТРЕЙДЕР 4 и Получать 12.5% годовых на депозит в Надёжном ДЦ Можно Здесь >>>
СКАЧАТЬ МЕТАТРЕЙДЕР 4 и Получить на Счёт 30-200-1000$ в Надёжном ДЦ Можно Здесь >>>
ПРИБЫЛЬНЫЕ АВТОМАТИЧЕСКИЕ СИСТЕМЫ ТОРГОВЛИ ДЛЯ МЕТАТРЕЙДЕР 4 (Эксперты-советники)
и Торговые Стратегии НАХОДЯТСЯ ЗДЕСЬ >>>
ВИДЕО КУРС О FOREX: КАК ПРИБЫЛЬНО Работать на Валютном Рынке >>>
( Методики,стратегии,механическая торговля )
МОНИТОРИНГ ОБМЕННЫХ ПУНКТОВ ИНТЕРНЕТ ВАЛЮТ >>>
( ВЫБЕРАЙТЕ ЛУЧШИЙ КУРС: Яндекс.деньги, Webmoney: WMZ, WMR, WME, WMU, WMB,
WMY, E-gold, Liberty Reserve, UkrMoney, RBK money,
PayPal, Z-Payment и др. )
Выбирите своего Форекс брокера




