Советники Форекс (торговые роботы)

Последние два десятка лет в мире активно развиваются информационные технологии, компьютеры и программные продукты. Развитие этой области привело к тому, что на смену котировкам в газетах, которые просматривали за чашкой утреннего кофе, и телефонным звонкам брокеру для совершения сделки пришли сначала информационные, а потом и торгово-информационные компьютерные программы. Они полностью изменили прежние представления инвесторов о том, как торговать на финансовых рынках и сломали все старые неспешные методы торговли. С увеличением скорости передачи информации, ситуация на финансовых рынках стала изменяться с такой скоростью, а фундаментальных новостей стало поступать так много, что трейдеры потянулись к инструментам технического анализа. Создание и использование индикаторов с появлением компьютеров очень упростилось, (ведь уже не было необходимости считать на калькуляторе и чертить индикаторы на «миллиметровке»), и число их начало расти в геометрической прогрессии.

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

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

Первыми стали появляться информационные платформы, которые давали трейдеру указания - «Купить доллар за немецкие марки, установить стоп на уровне 1.23, установить лимит на уровне 1.28». А когда брокеры стали предоставлять клиентам торгово-информационные платформы, последний шаг, необходимый для появления полностью автоматических торговых систем, был сделан. Сегодня, торговыми автоматами уже мало кого можно удивить, и фраза «а у меня на счете робот торгует» воспринимается обыденно. В статье мы познакомим вас с торговыми автоматами, и на примере торгово-информационной платформы Meta-Trader4 научим ими пользоваться.

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

ВИДЫ ТОРГОВЫХ РОБОТОВ

В настоящее время существует много типов торговых автоматов. Их можно разделить на несколько групп по следующим признакам:

1. Степень автоматизации:

  • полностью автономные торговые системы;
  • полуавтоматические системы, основанные на линиях Фибоначчи, трендовых линиях, новостях, и др.

2. По типам используемых индикаторов:

  • основанные на сигналах трендовых индикаторов;
  • основанные на сигналах осцилляторов;
  • использующие смешанные сигналы. Например – основным сигналом служит сигнал от осциллятора RSI, а фильтром является сигнал от скользящей средней.

3. По управлению капиталом:

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

ОСНОВНЫЕ ФУНКЦИИ ТОРГОВОГО РОБОТА

Какие функции должен выполнять торговый робот? Вот они:

  • открытие позиции.
  • установка ордера take profit.
  • установка ордера stop loss.

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

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

  • Контроль над суммарной позицией.
  • Перенос stop loss на уровень безубыточности.
  • Трейлинг stop loss.
  • Закрытие позиций по обратным сигналам индикаторов.
  • Автоматическое определение размера лота.
  • Уведомление об открытии-закрытии позиций, и т.д.

ИНСТРУМЕНТЫ МТ4 ДЛЯ СОЗДАНИЯ И ИСПОЛЬЗОВАНИЯ ТОРГОВЫХ РОБОТОВ

Платформа MetaTrader4, на примере которой мы будем рассматривать работу с роботами, обладает развитыми возможностями для создания и использования автоматических торговых систем. На языке платформы MetaTrader программа, написанная на языке MQL4 и откомпилированная средствами MetaEditor, называется советником. Для создания, настройки, и использования в торговле советников MetaTrader4 обладает следующими модулями:

  • модуль, содержащий средства по созданию торговых советников (роботов) - MetaEditor.
  • модуль, содержащий средства для тестирования торговых советников – Тестер Стратегий.
Рис. Включение MetaEditor

Включение MetaEditor

Рис. Окно MetaEditor

Окно MetaEditor

MetaQuotes Language 4 (MQL4) - язык программирования торговых советников. Этот язык позволяет писать собственные программы-эксперты (Expert Advisors), автоматизирующие управление торговыми процессами. Кроме того, на MQL4 можно создавать собственные технические индикаторы (Custom Indicators), скрипты (Scripts) и библиотеки функций (Libraries).

Язык программирования похож на С++, а в последних версиях платформы сходство усилилось после появления возможности объектно-ориентированного программирования, что позволяет создавать достаточно сложные системы с возможностями адаптации и обучаемости.

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

Этот модуль позволяет существенно ускорить работу при проверке работоспособности торговой системы. Тестер стратегий, используя исторические данные, позволяет «сжать время» и посмотреть в течение нескольких минут результаты работы советника за несколько лет.

Рис. Тестер Стратегий

Тестер Стратегий

Рис. Окно Тестера Стратегий

Окно Тестера Стратегий

ПОДГОТОВКА К РАБОТЕ ТОРГОВОГО СОВЕТНИКА

Теперь, когда вы познакомились с инструментами для создания и проверки торгового робота, давайте разберем, каким образом нужно подготовить его к работе.

Вы можете встретить два варианта, в которых вам будет передан советник:

  • в виде файла с расширением .ex4 (например, 2MA.ex4)
  • в виде файла с расширением .mq4 (например, 2MA.mq4)

Готовый к запуску торговый советник – это файл с расширением .ex4 . Он уже готов к работе, но вы не сможете вносить в этот советник никаких изменений. Он откомпилирован, и является для вас «черным ящиком».

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

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

  1. Файлы с расширением .ex4 и .mq4 необходимо разместить в папку Experts каталога данных MetaTrader4. По умолчанию это - …\Terminal\MQL4\Experts\. Найти эту папку вы сможете из главного меню платформы Файл – Открыть каталог данных.
  2. Выключить и включить платформу MT4 .
  3. Включить навигатор.
  4. Рис. Включение Навигатора
    Включение Навигатора

  5. Убедиться, что в списке советников есть добавленный вами.
  6. Рис. Окно Навигатора
    Окно Навигатора
  7. Цветными значками в списке отмечены советники с доступным исходным кодом. Исходный код советника необходимо откомпилировать.
  8. Для компиляции необходимо выделить такой советник, нажать Enter и в открывшемся окне MetaEditor произвести его компиляцию. При компиляции файла не должно возникнуть ошибок.
  9. Рис. Результат компиляции советника
    Результат компиляции советника форекс

ТЕСТИРОВАНИЕ ТОРГОВОГО СОВЕТНИКА

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

Закачать данные в нашу платформу можно, используя функцию терминала «Архив котировок». Мы можем вызвать нужное окно, нажав клавишу F2. Найдя нужный нам символ в списке, необходимо нажать кнопку «Загрузить» в появившемся окне.

Рис. Результат компиляции советника

Результат компиляции советника

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

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

Тестирование может производиться с различной степенью точности, на различных таймфреймах, и охватывать заданный пользователем период времени.

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

Рис. Включение Тестера стратегий

Включение Тестера стратегий

После появления окна, нам нужно произвести следующие действия:

  1. необходимо выбрать нужный советник из списка;
  2. выбрать инструмент;
  3. установить таймфрейм на котором будет тестироваться советник;
  4. определить метод тестирования;

Далее необходимо настроить свойства эксперта, нажав соответствующую кнопку - Свойства эксперта.

Рис. Окно тестера стратегий

Окно тестера стратегий

Перед началом тестирования и оптимизации советника рекомендуется установить значение параметров по умолчанию. Для этого нужно нажать кнопку «Сброс».

Рис. Настройка параметров

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

Далее указываем период для тестирования, устанавливая даты ОТ и ДО (желательно не менее 1 года), выбираем модель оптимизации (чем больше точность, тем больше времени займет тестирование), включаем,/выключаем режим визуализации (данная возможность поможет наглядно увидеть, каким образом работает торговый советник) и запускаем тестирование кнопкой «Старт».

Рис. Запуск тестирования советника

Запуск тестирования советника

Время тестирования будет зависеть от периода для тестирования и точности. В любом случае, процесс займет не более четырех минут.

Результат тестирования мы можем оценить, используя появившиеся закладки: «Результаты», «График», «Отчет». Давайте остановимся на них подробнее.

Закладка «Журнал» - служебная, в ней мы можем оценить работу советника с точки зрения наличия/отсутствия ошибок, а также удобство и полноту записей лог-файла советника. Чем больше понятной вам информации будет в отчете работы, тем качественнее написан советник, и тем спокойнее и комфортнее вы будете чувствовать себя, когда советник начнет работать с вашими реальными деньгами.

Рис. Журнал

Журнал

Закладка «Результаты» - это сделки, проведенные советником на исторических данных. Возможна сортировка по возрастанию/убыванию каждой из колонок.

Рис. Результаты

Результаты работы советника

Закладка «График» - изменение баланса счета при проведении сделок в графическом виде.

Горизонтальная шкала – количество сделок. Вертикальная шкала – изменение баланса.

При наведении мыши на график получаем расширенную информацию о последней операции.

Двойной клик мыши – перевод на сделку в закладке результаты.

Рис. График

График

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

Рис. Отчет

Отчет о работе советника

  • Начальный депозит — величина начального депозита.
  • Общая прибыль — сумма всех прибыльных сделок.
  • Общий убыток — сумма всех убыточных сделок.
  • Чистая прибыль — финансовый результат всех сделок.
  • Прибыльность — отношение общей прибыли к общему убытку.
  • Матожидание выигрыша — математическое ожидание выигрыша. Он отражает предполагаемую прибыльность/убыточность следующей сделки.
  • Абсолютная просадка — наибольший убыток ниже значения начального депозита.
  • Максимальная просадка — наибольший убыток от локального максимума в валюте депозита и в проценте от депозита.
  • Всего сделок — общее количество торговых позиций.
  • Короткие позиции (% выигравших) — количество коротких позиций и процент прибыльных коротких позиций.
  • Длинные позиции (% выигравших) — количество длинных позиций и процент прибыльных длинных позиций.
  • Прибыльные сделки (% от всех) — количество прибыльных торговых позиций и их доля в общем количестве сделок, в процентах.
  • Убыточные сделки (% от всех) — количество убыточных торговых позиций и их доля в общем количестве сделок, в процентах.
  • Самая большая прибыльная сделка — наибольшая прибыль среди всех прибыльных позиций.
  • Самая большая убыточная сделка — наибольший убыток среди всех убыточных позиций.
  • Средняя прибыльная сделка — усредненное значение прибыли за сделку (сумма прибылей, поделенная на количество прибыльных сделок).
  • Средняя убыточная сделка — усредненное значение убытков за сделку (сумма убытков, поделенная на количество убыточных сделок).
  • Максимальное количество непрерывных выигрышей (прибыль) — наиболее длинная серия прибыльных торговых позиций и сумма их выигрышей.
  • Максимальное количество непрерывных проигрышей (убыток) — наиболее длинная серия убыточных торговых позиций и сумма их проигрышей.
  • Максимальная непрерывная прибыль (число выигрышей) — максимальная прибыль за одну серию прибыльных сделок и соответствующее ей количество прибыльных сделок.
  • Максимальный непрерывный убыток (число проигрышей) — максимальный убыток за одну серию убыточных сделок и соответствующее ему количество убыточных сделок.
  • Средний непрерывный выигрыш — среднее количество прибыльных позиций в непрерывных прибыльных сериях.
  • Средний непрерывный проигрыш — среднее количество убыточных позиций в непрерывных убыточных сериях.

ОПТИМИЗАЦИЯ ПАРАМЕТРОВ СОВЕТНИКА

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

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

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

В режиме оптимизации советник многократно «проходит» по указанному временному промежутку, меняя внешние параметры по заданной нами схеме.

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

Рис. Окно Тестер Стратегий

Окно Тестер Стратегий

В окне «Свойства эксперта» необходимо:

  • выбрать свойства советника, которые мы будем оптимизировать;
  • выбрать диапазон значений каждого параметра;
  • выбрать шаг изменения каждого параметра.
Рис. Свойства Эксперта. Параметры.

Свойства Эксперта. Параметры

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

Рис. Свойства Эксперта. Параметры тестирования.

Свойства Эксперта. Параметры тестирования.

Для запуска процесса оптимизации необходимо нажать кнопку старт в тестере стратегий.

После окончания процесса в тестере стратегий станут доступны еще две закладки

«Результаты оптимизации» и график оптимизации. Это результаты оптимизации за выбранный период в графическом виде и в табличном представлении.

Рис. Результаты оптимизации. График.

Результаты оптимизации. График.

Рис. Результаты оптимизации. Таблица

Результаты оптимизации. Таблица

Ключевыми значениями в таблице являются «Прибыль» и «Просадка».

  • Прибыль - чистая прибыль (валовая прибыль за вычетом валовых убытков).
  • Просадка $ — максимальная просадка относительно начального депозита, в валюте депозита.

Другие данные.

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

Оптимальным будет сочетание параметров, с балансом максимальной прибыли и минимальной просадки.

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

Вы можете использовать 2 основных метода оптимизации:

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

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

ВКЛЮЧЕНИЕ СОВЕТНИКА ДЛЯ РАБОТЫ НА ДЕМО\РЕАЛЬНОМ СЧЕТЕ

Подключение советника производится следующим образом:

  1. Включаем инструмент и таймфрейм, для которого проводили оптимизацию советника.
  2. В навигаторе находим нужный советник, после чего либо «перетягиваем» его на график, либо в выпадающем меню выбираем пункт «Присоединить к графику».
  3. В открывшемся окне выбираем закладку «Входные параметры» и устанавливаем необходимые значения параметров так же, как мы это делали при тестировании.
  4. В закладке «Общие» разрешаем советнику торговать, разрешаем использовать функции из внешних библиотек, при необходимости включаем опцию «Ручное подтверждение» и запрещаем проводить сделки Long или Short.
Рис. Параметры советника. Общие
Параметры советника. Общие
Рис. Параметры советника. Входные параметры
Параметры советника. Входные параметры

Обратите внимание!

В случае, если советник не использует для распознавания «своих» ордеров таймфрейм и название символа, для каждого графика необходимо установить свой Magic Number советника. (Данная информация должна быть в инструкции пользования советником).

Необходимо также включить работу советников в платформе MetaTrader, нажав кнопку «Советники». Данная кнопка включает и отключает работу советников во всей системе.

Включенные советники в системе должны выглядеть следующим образом:

Рис. Включение советников.

Включение советников.

Работоспособность советника определяется значком на экране MetaTrader. Возможны три варианта:

Рис. Работа советника

Работа советника

1. В системе отключена работа советников отключена работа советников

2. В выбранном советнике не разрешено совершение сделок.не разрешено совершение сделок

3. Советник находится в рабочем состоянии. Советник находится в рабочем состоянии

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

В процессе работы советника вы можете отслеживать его текущее состояние в закладках терминала «Эксперты» и «Журнал».

В процессе работы советника, вы можете отслеживать его текущее состояние в закладках терминала «Эксперты» и «Журнал».

Рис. Результаты работы. Журнал.

Результаты работы. Журнал.

Кроме того, работу торгового советника вы можете отследить в лог-файле, расположенном в папке ….Terminal\MQL4\logs\ .

Рис. Результаты работы. Лог файл.

Результаты работы. Лог файл.

МЕТОДЫ ПОВЫШЕНИЯ НАДЕЖНОСТИ КОМПЬЮТЕРНОЙ ТЕХНИКИ ПРИ РАБОТЕ ТОРГОВОГО СОВЕТНИКА

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

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

  1. Бесперебойную работу компьютера. (Источник бесперебойного питания и наличие охлаждения, ограничить доступ к терминалу.)
  2. Бесперебойную связь с сервером (надежный канал интернет, не зависящий от энергопотребления). При использовании ADSL модема – его необходимо запитать от источника бесперебойного питания.

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

Например: www.globoxhost.com/vds-servers.html , www.myfxvps.pro

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

В заключение, хотелось бы отметить несколько моментов, которые позволят вам быстрее научиться использовать в работе торговых роботов и избежать распространенных ошибок

  1. Торговый робот – мощный инструмент, позволяющий оптимизировать вашу торговлю, однако следует помнить, что этот инструмент не является волшебной палочкой, которая по мановению вашей руки в сотни раз за короткое время увеличит ваш торговый счет.
  2. Ни в коем случае не поддавайтесь искушению использовать в работе торговый советник, если вы не понимаете, на каком принципе он работает.
  3. Не пытайтесь использовать в работе советник и оптимизировать его параметры, если вы не понимаете, каким образом эти параметры влияют на его работу.
  4. При тестировании советника используйте визуальный режим оптимизации, чтобы проверить, насколько его работа соответствует заявленным принципам.
  5. Проверьте работоспособность советника на демо-счете, прежде чем подключить его к реальному счету.
  6. При работе робота на реальном счете не поддавайтесь эмоциям, помните, что робот показывает результат на длительных промежутках времени.
  7. Помните, что советник ценой 20-30 долларов не может быть качественным продуктом.

Комментарии (1)


189311 : 25.02.2017 11:42
Я вот тут покупаю советников https://ifase.ru/magazin/ отлично и приятно, опытные программисты пишут, можно на заказ!
Авторизуйтесь для добавления коментария

Вход

Войти как пользователь:
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов: