Справка по MetaTrader 5Алгоритмический трейдинг, торговые роботыТорговые советники и собственные индикаторы

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

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

Как запустить торгового робота или индикатор #

Чтобы запустить советник, наложите его на график. Самый простой способ — дважды кликнуть на эксперте в окне "Навигатор" или перетащить его мышью на график.

Запуск торгового робота на графике

После этого появится окно свойств советника. Нажмите ОK, и советник запустится на графике. Об этом свидетельствует появление имени советника и иконки Торговля разрешена в правом верхнем углу графика.

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

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

Настройка программ перед запуском #

Перед запуском программы на графике появляется окно ее свойств.

Общие

На вкладке "Общие" указывается информация о программе: название, версия, копирайт и компания разработчика (копирайт и название компании могут являться ссылкой на соответствующий веб-ресурс), а также описание.

Если для советника предусмотрена система лицензирования (например, советник куплен или скачан из Маркета), то для него отображается информация о лицензии (срок истечения, демо-версия).

В нижней части окна задается индивидуальная настройка запуска советника:

  • Разрешить изменение настроек Сигналов — данная опция разрешает/запрещает MQL5-программе подписываться и отписываться от Сигналов, а также изменять настройки сигналов. Функции работы с базой сигналов из MQL5-программ дают возможность самостоятельно анализировать качество сигналов, динамически управлять подпиской и регулировать риски. Подробная информация о функциях управления сигналами приведена в Справочнике по MQL5.
  • Разрешить авто-торговлю — эта опция предназначена для ограничения торговой деятельности экспертов. Такое ограничение бывает полезно при тестировании аналитических способностей эксперта в режиме реального времени (не путать с тестированием советника на исторических данных). Следует иметь в виду, что даже если эта опция включена, советнику может быть запрещено торговать общими настройками платформы.

Общие параметры для всех советников задаются в настройках торговой платформы.

Входные параметры роботов и индикаторов #

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

Входные параметры

Как изменить параметры программы

Для изменения параметра дважды нажмите на его значении и укажите новое.

Как использовать наборы параметров

С помощью кнопки "Сохранить" можно сохранить текущий набор параметров, а с помощью кнопки "Загрузить" — загрузить ранее сохраненный. Наборы входных параметров хранятся в папке /Presets торговой платформы.

Как вернуть настройки по умолчанию

Для восстановления значений параметров по умолчанию нажмите кнопку "Сброс".

Индивидуальную настройку можно производить для уже прикрепленных экспертов. Однако, пока идет текущее исполнение, открыть страницу свойств советника нельзя. Это можно сделать только в промежутках между вызовами функции start(). При этом эксперт запускаться не будет, пока открыты его свойства. Если были изменены входные параметры советника, то по нажатии кнопки "ОК" происходит переинициализация эксперта с новыми входными параметрами.

Программы, использующие внешние функции (DLL) #

Вкладка "Зависимости" появляется, если в эксперте используется импорт функций из других EX5- или DLL-файлов. Использование внешних DLL может расширить функциональность программы, однако является потенциально опасным. Следует разрешать использование этих функций только для проверенных приложений.

Зависимости

В виде древовидного списка здесь отображаются файлы, к которым обращается советник. Зелеными иконками отображаются функции, вызываемые из MQL5-программ, красными — вызовы функций внутри DLL.

В верхней части окна присутствует опция для разрешения/запрета работы с DLL:

  • Разрешить импорт DLL — для расширения функциональности советники могут использовать DLL-библиотеки. Выставив этот флажок, можно использовать такие библиотеки без каких-либо ограничений. Если MQL5-программа использует DLL, но их вызов не разрешен (данная опция отключена), то кнопка "ОК" не будет показана в окне запуска.

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

Как контролировать торговую деятельность советников #

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

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

Контроль торговой деятельности советников

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

Запущенные на текущем счете советники

При помощи команд контекстного меню конкретному советнику можно разрешить или запретить авто-торговлю, можно удалить его с графика или посмотреть его свойства.

Какие настройки платформы влияют на автоматическую торговлю #

Настройки, касающиеся автоматической торговли, находятся на вкладке "Советники" в настройках платформы.

Советники

Доступны следующие настройки:

  • Разрешить автоматическую торговлю — эта опция позволяет разрешить или запретить проведение торговых операций с помощью советников и скриптов. Если ее отключить, то советники и скрипты будут работать, однако не смогут совершать торговых операций. Такое ограничение бывает полезно при тестировании аналитических способностей экспертов в режиме реального времени (не путать с тестированием на исторических данных).
    Данная опция работает как общий переключатель авто-торговли в платформе. Если вы отключите ее, авто-торговля будет отключена для всех советников, даже если им в частном порядке выставлено разрешение на торговлю в настройках при запуске. Если вы включите ее, то авто-торговля будет разрешена только для тех советников, которым она не была запрещена в частном порядке.
  • Отключить автоматическую торговлю при смене счета — эта опция представляет собой защитный механизм, отключающий торговлю советниками и скриптами при смене торгового счета. Она бывает полезна, например, при переключении с демонстрационного счета на реальный.
  • Отключить автоматическую торговлю при смене профиля — в профилях сохраняется большое количество информации о текущих настройках всех графиков в рабочей области. В частности, в профилях сохраняется информация о прикрепленных советниках. Эксперты, входящие в состав профиля, с приходом нового тика начнут работать. Включив эту опцию (выставив флажок), можно не допустить совершение торговых операций экспертами при смене профиля.
  • Отключить автоматическую торговлю при смене символа или периода графика — если данная опция включена, то при изменении символа или периода графика, к которому прикреплен эксперт, этому эксперту будет автоматически запрещено совершать торговые операции.
  • Отключить автоматическую торговлю через внешний Python APIскрипты на Python, использующие модуль для интеграции с торговой платформой, могут совершать торговые операции. Однако для дополнительной безопасности счетов эта возможность по умолчанию отключена. Вам требуется разрешить автоторговлю явно, отключив эту опцию.
  • Разрешить импорт DLL (потенциально опасно, включать только для проверенных приложений) — для расширения функциональности mql5-программы могут использовать DLL-библиотеки. Данная опция позволяет задать значение по умолчанию для параметра "Разрешить импорт DLL" при запуске программ. Рекомендуется запрещать импорт при работе с неизвестными экспертами.
  • Разрешить WebRequest для следующих URL — в языке MQL5 функция WebRequest() позволяет получать и отправлять информацию с веб-сайтов с помощью GET и POST запросов. Чтобы разрешить MQL5-программе осуществлять такие запросы, включите опцию "Разрешить WebRequest для следующих URL" и явным образом вручную прописать URL-адреса доверенных сайтов. Из соображения безопасности данная опция по умолчанию отключена.
    Для удаления адреса из списка разрешенных выделите его и нажмите клавишу "Delete".

Быстрый доступ к наиболее часто используемым программам #

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

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

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

Добавление программ в избранное и назначение горячих клавиш

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

Сервисы #

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

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

Для управления сервисами используйте Навигатор:

Управление сервисами через Навигатор

Для запуска нескольких копий одного советника или индикатора с разными параметрами достаточно наложить его на разные графики. При этом создаются отдельные экземпляры программы, которые работают независимо друг от друга. Сервисы не привязаны к графикам, поэтому для создания их экземпляров предусмотрен отдельный механизм. Выберите в навигаторе сервис и нажмите "Добавить сервис" в его контекстном меню. Будет открыт стандартный диалог MQL5-программы, где вы можете разрешить/запретить торговлю и доступ к сигналам, а также задать параметры.

Создание экземпляра, запуск и остановка сервиса

Для запуска и остановки экземпляра сервиса используйте его меню. Для управления всеми экземплярами, используйте меню самого сервиса.

Скрипты на Python #

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

  • Быстро и удобно получайте биржевую информацию из торговой платформы для последующего анализа средствами Python — сотни тысяч тиков по финансовому инструменту можно запросить одной командой
  • Получайте торговое состояние и историю операций на счете для расчета статистических показателей
  • Совершайте торговые операции по собственному алгоритму

Скрипты на Python можно запускать прямо на графиках в платформе, аналогично обычным MQL5-программам. В "Навигаторе" они отображаются специальными иконками.

Запуск скрипта на Python в торговой платформе

Сообщения скрипта выводятся в раздел "Инструменты / Эксперты".

Python-скрипты можно запускать на одном и том же графике параллельно с другими MQL5-скриптами и советниками. Для остановки скрипта, если его исполнение зациклено, просто удалите его с графика.

Чтобы дополнительно защитить ваши счета при использовании сторонних библиотек Python, в настройках платформы предусмотрена опция "Отключить автоматическую торговлю через внешний Python API".

Для защиты счетов автоматическая торговля для Python-скриптов должна быть разрешена явно

Скриптам на Python будут разрешены торговые операции только при явном отключении этой опции.