<<
>>

3.3.7. Советники (Expert Advisors)

Советниками (экспертами) в приложении MetaTrader называются программы, разработанные на языке программирования MetaQuotes Language 4 (MQL4), с помощью которых автоматизируются аналитические и торговые процессы,.
Они позволяют оперативно проводить технический анализ ценовых

Торговый терминал METATRADER

126

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

• Создание эксперта.

Для создания и компиляции советника (эксперта) используется встроенный редактор MetaEditor. Он является составной частью клиентского терминала и представляет собой удобную среду разработки MQL4-nporpaMM.

• Настройка работы советников.

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

• Запуск эксперта.

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

• Завершение работы эксперта.

Завершение работы советника происходит, когда он удаляется с графика.

Советники (Expert Advisors) используются для автоматизации торгового процесса, позволяя разгрузить трейдера от рутины постоянного наблюдения за рынком. Многие профессиональные трейдеры имеют массу торговых систем, позволяющих им работать на различных рынках и при различных условиях. Обычно они пишут и тестируют свои торговые стратегии в таких известных аналитических пакетах, как MetaStock или TradeStation.

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

В дистрибутив приложения MetaTrader 4 входит несколько советников (см.

рис. 3.32), которые можно использовать для работы и обучения.

• Account Information — выводит в левый верхний угол графика информацию о текущем состоянии счета.

• MACD Sample — реализует пример использования индикатора MACD для автоматизации проведения торговых операций.

127

Глава 3

• Trailing Stop — реализует функцию скользящих стопов. В отличие от встроенной в MetaTrader 4 функции Trailing Stop, данный советник позволяет контролировать уровни Stop Loss сразу на всех открытых позициях по данному инструменту.

Способ использования советников

Чтобы использовать советника в работе или обучении, выполните следующие действия.

• Присоедините выбранный советник к каждому инструменту, позиции по которому необходимо контролировать (например к USDCHF М1 и EURUSDM1). '

• Выставьте индивидуальные настройки предопределенной переменной Trailing Stop на каждом графике, к которому присоединен советник.

• Разрешите советнику торговать самостоятельно.

• Разрешите использование советников в программе.

Подготовка советника к использованию

Для использования советников необходимо выполнить следующие действия:

• присоединить советника к графику;

• настроить советника;

• разрешить использование советников в программе;

• протестировать выбранную стратегию.

Рассмотрим каждое действие подробно.

Присоединение советников к графику

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

• Щелкните правой кнопкой мыши на требуемом советнике и выберите в раскрывшемся контекстном меню команду Присоединить к графику (Attach to Chart) — как показано на рис. 3.58.

• На экране раскроется окно настройки советника, показанное на рис .3.59, и советник будет присоединен к тому графику, окно которого было активно в этот момент.

Рыс.

3.59. Окно настройки советника MACD sample

Настройка советника

Окно настройки советника можно вывести на экран двумя способами:

• с помощью контекстного меню графика, выбрав в нем команду Советники1*Свойства (Expert Advisers^Properties) (рис. 3.60);

• нажатием клавиши .

Настройка параметров тестирования

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

• выбрать советник и задать его входные параметры;

• выбрать финансовый инструмент и его период;

• выбрать один из трех способов моделирования баров;

• задать временной диапазон тестирования (необязательно).

128

Глава 3 [ Торговля ? 1 Е Список индикаторов СЫН Удалить э | Список объектов сы+в Тестирование стратегии F6 ! Период ? L Шаблон ? Обновление 1 Авторазмер Clrl+A ; Сетка Clrl+G i Объемы Ctrl+L ? Увеличение + • Уменьшение У! ; Удалить окно индикатора 1 4 Сохранить как рисунок... ' Предварительный просмотр Печать... Dtl+P Свойства... F8 Рис. 3.60. Открытие окна свойств советника с помощью команды контекстного меню графика

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

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

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

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

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

Именно этим депозитом будет оперировать советник при тестировании. На этой вкладке также выбираются типы открываемых при тестировании позиций: Only Long — открывать только длинные позиции; Only Short — только короткие; Long and Short — открывать позиции в обе стороны. Каков бы ни был алгоритм советника, он будет открывать позиции только в заданных направлениях.

• Входные параметры — здесь в виде таблицы приводится список всех входных параметров советника. Входными параметрами называются

Торговый терминал METATRADER

128

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

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

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

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

Финансовый инструмент выбирается в поле Символ, а таймфрейм — в поле Период.

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

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

ч я

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

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

129

Глава 3

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

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

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

• По ценам открытия (быстрый метод на сформировавшихся барах).

Некоторые механические торговые системы не зависят от особенностей внутрибарного моделирования, они торгуют на сформировавшихся барах.

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

В этом режиме сначала моделируется открытие бара (Open = High = Low = Close, Volume=1), что дает эксперту возможность точно идентифицировать окончание формирования предыдущего ценового бара. Именно на этом зарождающемся баре запускается тестирование эксперта. На следующем шаге выдается уже полностью сформированный текущий бар, но на нем тестирование не производится!

• Контрольные точки (используется ближайший таймфрейм плюс фрактальная интерполяция).

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

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

торговый терминал METATRADER

129

пользуются уже не 12, а всего 6 предыдущих баров, т.е. воспроизводятся реально существующие цены Open, High, Low, Close плюс еще две сгенерированных цены. Значение и местоположение этих двух сгенерированных цен зависит от движения цены на шести предыдущих барах.

Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого тика).

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

Внимание:

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

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

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

• Серый — эта часть' имеющихся данных не участвовала в тестировании. Серый цвет может появиться, если для тестирования был указан диапазон дат (описано ниже).

• Красный — на этом отрезке моделирование не проводилось за неимением данных более мелкого периода. При этом использовались только данные выбранного для тестирования таймфрейма.

• Зеленый — на данном участке моделирование проводилось. Причем чем ярче цвет, тем более качественным было моделирование. Например, при

130

Глава 3

тестировании на периоде HI темно-зеленая полоса может свидетельствовать о том, что для тестирования использовались данные периода МЗО, а самая яркая — об использовании данных периода Ml.

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

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

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

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

Внимание. Если установлен флажок опции Оптимизация, при щелчке на кнопке Старт вместо тестирования будет производиться оптимизация параметров советника._^

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

Рассмотрим параметры настройки, присутствующие в окне MACD Sample, представленном на рис. 3.59. На вкладке Входные параметры доступны следующие поля.

Торговый терминал METATRADER

132

• Lots — количество лотов. Обычно используется советниками при совершении покупок и продаж, для расчета возможной прибыли и т.д.

• Stop loss — величина Stop Loss в пунктах. Обычно используется при открытии сделок как параметр ордера.

• Take profit — величина Take profit в пунктах. Обычно используется при открытии сделок как параметр ордера.

• Trailing stop — величина скользящего Stop Loss в пунктах. Обычно используется для контроля открытой позиции.

На вкладке Общие окна MACD Sample для настройки доступны следующие параметры.

• Список позиции (positions) — содержит доступные для советника направления открытия позиций. По этим направлениям советник вправе открывать позиции или подавать сигналы (в зависимости от состояния других параметров настройки). Возможные варианты:

• Long&Short — в обе стороны;

• Only Long — только покупка;

• Only Short — только продажа.

• Флажок опции Разрешить сигналы (Enable alerts) — управляет режимом включения/выключения звукового оповещения о генерируемых советником сигналах.

• Флажок опции Не повторять сигнал (Disable alert'once hit) — включает режим отключения оповещения после подачи первого сигнала.

• Флажок опции Разрешить советнику торговать (Allow Live trading) — включает режим, в котором советнику разрешается торговать самостоятельно в реальном времени. Если этот флажок сброшен, то советник при

• срабатывании будет просто подавать звуковые сигналы и рисовать на гра^ фике стрелки.

• Флажок опции Ручное подтверждение (Ask manual confirmation) — вклю! чает режим, при котором советник перед совершением самостоятельно инициированных им операций должен запрашивать ручное подтверждение у пользователя.

Разрешение использования советников в программе

Присоединение советника к графику само по себе еще не дает возможности советнику работать. Необходимо чтобы работа советников в программе была разрешена.

Как уже отмечалось ранее, советники срабатывают при каждом изменении цены инструмента, к графику которого они прикреплены. Чтобы программа MetaTrader 4 передавала управление советнику в момент изменения цены,

132

Главаэ

необходимо, чтобы предварительно был установлен флажок команды меню Графики^Разрешить советнику торговать (Charts1*Enable Expert Advisors).

Для справок текущее состояние советника отображается в правом верхнем углу окна графика следующими пиктограммами:

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

• ШИТИМГИ — советник работает и ему разрешено самостоятельно проводить торговые операции по счету;

• ММИИП — работа советников в программе MetaTrader 4 запрещена.

Тестирование выбранной стратегии

Перед тем как использовать советника в реальной работе, рекомендуется протестировать его функционирование. В компании "Институт информационного общества" (http: / /www. isi. com. ua) все демо-счета имеют возможность использования советников. Однако часто бывает необходимо протестировать стратегию так, как будто советник работал достаточно долгое время. Это достигается тестированием советника на исторических данных (рис. 3.61).

РЫС. 3.61. Вкладка Strategy Tester окна советника

Для тестирования советника в его окне предназначена специальная вкладка Strategy Tester (Тестирование стратегии). Рассмотрим назначение присутствующих на ней элементов управления.

Поле Initial capital — начальный депозит для тестирования. Поле Comission — комиссия брокера в долларах. В расположенном правее списке выбирается значение, определяющее, к какой операции относится указанное значение:

• per lot — с лота;

• per deal — со сделки.

Торговый терминал METATRADER

132

• Поле Spread — спрэд.

• Флажок опции Arrows on the chart — включает режим, при котором место, где сработал советник, выделяется на графике стрелкой.

• Список Model — доступные модели тестирования стратегии. Предлагаются следующие варианты:

• OHLC points (Open/High/Low/Close) — используются только цены Open, High, Low, Close; это наиболее быстрая модель, однако ее результаты могут отличаться от результатов реальной торговли советника;

• Every 3 points — развитие свечи моделируется с шагом в 3 пункта;

• Every 2 points — развитие свечи моделируется с шагом в 2 пункта;

• Every 1 point — развитие свечи моделируется с шагом в 1 пункт; это наиболее медленная модель и в то же время наиболее приближенная к результатам реальной торговли советника.

Для любой из предлагаемых стратегий развитие свечей осуществляется следующим образом в зависимости от типа бара:

• Бычья свеча (Open < Close) — изменение цены моделируется как "0->L->H->C" с заданным в модели шагом (или без него, если используется модель OHLC points);

• Медвежья свеча (Open > Close) — изменение цены моделируется как "0->H->L->C".

• Индикатор Status — визуально представляет текущее состояние процедуры тестирования.

• Кнопка Start — щелчок на этой кнопке запускает процедуру тестирования.

По завершении тестирования в окне появится история с общим доходом от проведенных советником операций. Вы можете сохранить эту историю в виде HTML-файла, щелкнув на кнопке Export.

Вся информация о работе советника (сгенерированные сигналы, результаты проведения сделок, служебная или отладочная информация) выводится в журнал программы MetaTrader.

Инсталляция новых советников

Советник — это программа, написанная на языке MQL 4. Поставка советника может осуществляться в двух видах:

• исходный текст программы — файл с расширением * . mql;

• исполняемый код программы — файл с расширением * . ехр.

Для инсталляции советника в программе MetaTrader скопируйте файл советника в каталог С: \Program Files\FXTeam\experts и перезагрузите программу MetaTrader. Она автоматически обнаружит нового советника и добавит его в раздел Expert Advisors в окне Navigator.

132

Глава 3

Если инсталлированный советник был получен в виде исходного программного текста (* . mql), то MetaTrader автоматически откомпилирует его при старте (т.е. преобразует исходный текст в исполняемый файл). Однако если исходный код советника будет содержать ошибки, то компиляция будет неуспешной. В этом случае советник не появится в окне Navigator, так как исполняемый код советника создан не будет.

В случае наличия ошибок в исходном коде советника в каталоге С: \ Program Files\FXTeam\experts появится файл <имя советника>. log. Этот файл будет содержать информацию обо всех обнаруженных при компиляции ошибках. Вышлите этот файл разработчику советника, чтобы он смог исправить ошибки.

Удаление советника из системы — еще более простая процедура. В окне Navigator щелкните правой кнопкой мыши на том советнике, который требуется удалить, и выберите в раскрывшемся контекстном меню команду Delete. Советник будет удален из системы.

/ ; n

Внимание. При удалении советника он автоматически удаляется из папки С: \Program Files\FXTeam\experts. Присоединенные к графикам советники продолжают работать даже при удалении данного типа советника из окна Navigator, вплоть до явного их удаления с графиков или до перезагрузки программы. Также советника можно удалить, просто удалив его файл из каталога С: \Program Files\FXTeam\experts и перезапустив программу MetaTrader.

<< | >>
Источник: В. А. Удовенко . FOREX: ПРАКТИКА СПЕКУЛЯЦИЙ НА КУРСАХ ВАЛЮТ. 2008

Еще по теме 3.3.7. Советники (Expert Advisors):

  1. 2.5. Вкладка «Советники»
  2. Возможности пробной версии Project Expert 7 Trial
  3. Характеристика аналитической системы Project Expert
  4. Аналитические возможности Project Expert
  5. Возможности программного средства Project Expert
  6. Project Expert как инструмент оценки запаса прочности бизнеса
  7. Как решать задачи бизнес-планированияс использованием компьютернойаналитической системыProject Expert
  8. Технология решения задач финансового менеджмента (на примере реализации программы Project Expert)
  9. Команды клиентского терминала
  10. Конкретная ситуация — «Расширение производства продукции»
  11. Календарный план проекта