Статьи по программированию и использованию торговых роботов на языке MQL5

icon

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

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

Новая статья
последние | лучшие
Пример создания эксперта
Пример создания эксперта

Пример создания эксперта

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

Вклад Томаса Демарка в технический анализ

В статье описаны изобретенные Томасом Демарком TD-точки и TD-линии. Показано их применение на практике. Также продемонстрирован процесс написания трех индикаторов и двух экспертов с использованием идей Томаса Демарка.
Использование фильтра Калмана в прогнозе направления цены
Использование фильтра Калмана в прогнозе направления цены

Использование фильтра Калмана в прогнозе направления цены

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

20 торговых сигналов на MQL5

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

Механическая торговая система "Треугольник Чувашова"

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

Советник MetaTrader 4 обменивается информацией с внешним миром

Простое, универсальное и надежное решение обмена информацией между МetaТrader 4 Советником и внешним миром. Поставщики и потребители информации могут размещаться на разных компьютерах, связь осуществляется через глобальные IP-адреса.
Соединение MetaTrader 5 и Python: получение и отправка данных
Соединение MetaTrader 5 и Python: получение и отправка данных

Соединение MetaTrader 5 и Python: получение и отправка данных

Работа с данными в наше время требует обширного инструментария и зачастую не ограничивается "песочницей" какого-то отдельного приложения. Существуют специализированные общепризнанные языки программирования для обработки и анализа данных, статистики и машинного обучения. Лидером в этой области является язык Python. В статье описан пример связи MetaTrader 5 и Python при помощи сокетов, а также получение котировок через API терминала.
Мастер MQL5: Как написать свой модуль торговых сигналов
Мастер MQL5: Как написать свой модуль торговых сигналов

Мастер MQL5: Как написать свой модуль торговых сигналов

Генератор торговых стратегий Мастера MQL5 значительно упрощает проверку торговых идей. В статье рассказывается о том, как написать и подключить в Мастер MQL5 свой собственный класс торговых сигналов с реализацией сигналов по пересечению ценой скользящей средней, рассматривается структура и формат описания созданного класса для Мастера MQL5.
Нейросеть: Самооптимизирующийся советник
Нейросеть: Самооптимизирующийся советник

Нейросеть: Самооптимизирующийся советник

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

Прибыльные алгоритмы на трейлинг стопах

Цель этой статьи - исследование на прибыльность алгоритмов с различными входами в трейд и выходами по трейлинг стопам. В качестве входов будут использоваться случайный и обратный входы. В качестве стопов будут использованы трейлинг стоп, трейлинг тэйк. В статье будут показаны прибыльные алгоритмы с доходностью порядка 30 процентов в год.
Разработка эксперта средствами UML
Разработка эксперта средствами UML

Разработка эксперта средствами UML

В статье рассматривается создание торгового советника с помощью графического языка UML, который используется для визуального моделирования объектно-ориентированных программных систем. Основным преимуществом такого подхода является визуализация работы проектировщика. Приведен пример проектирования структуры и свойств советника при помощи программы Software Ideas Modeler.
preview
Нейросети — это просто (Часть 5): Многопоточные вычисления в OpenCL

Нейросети — это просто (Часть 5): Многопоточные вычисления в OpenCL

Мы уже познакомились с некоторыми типами реализации нейронных сетей. Легко заметить, что для каждого нейрона сети повторяются те же самые операции. И тут возникает желание воспользоваться возможностями многопоточных вычислений современной техники для ускорения процесса обучения нейронной сети. Об одном из вариантов такой реализации пойдет речь в данной статье.
MQL5 для "чайников": Как проектировать и конструировать классы объектов
MQL5 для "чайников": Как проектировать и конструировать классы объектов

MQL5 для "чайников": Как проектировать и конструировать классы объектов

На примере создания программы визуального программирования показано, как проектировать и конструировать классы на MQL5. Статья предназначена для начинающих разработчиков приложений МТ5. Предлагается простая и понятная технология создания собственных классов без глубокого погружения в теорию объектно-ориентированного программирования.
Random Decision Forest в обучении с подкреплением
Random Decision Forest в обучении с подкреплением

Random Decision Forest в обучении с подкреплением

Random Forest (RF) с применением бэггинга — один из самых сильных методов машинного обучения, который немного уступает градиентному бустингу. В статье делается попытка разработки самообучающейся торговой системы, которая принимает решения на основании полученного опыта взаимодействия с рынком.
100 лучших проходов оптимизации (Часть 1). Cоздание анализатора оптимизаций
100 лучших проходов оптимизации (Часть 1). Cоздание анализатора оптимизаций

100 лучших проходов оптимизации (Часть 1). Cоздание анализатора оптимизаций

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

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

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

Реализация мультивалютного режима в MetaTrader 5

Интерес к мультивалютному анализу и мультивалютной торговле существует давно. Но только с выпуском в свет терминала MetaTrader 5 и языка программирования MQL5 появилась возможность реализации полноценного мультивалютного режима. В данной статье предложен способ, позволяющий проводить анализ и обработку всех поступающих тиков по множеству финансовых инструментов. В качестве иллюстрации рассмотрен мультивалютный индикатор RSI для индекса доллара USDx.
Простейшие торговые системы с использованием семафорных индикаторов
Простейшие торговые системы с использованием семафорных индикаторов

Простейшие торговые системы с использованием семафорных индикаторов

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

Комбинируем трендовую и флетовую стратегии

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

Множественный регрессионный анализ: генератор стратегий и тестер в одном флаконе

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

MQL5 Wizard для "чайников"

В начале 2011 года мы выпустили первую версию Визарда MQL5. Этот шаг обеспечил трейдеров простым и понятным инструментом для автоматического создания торговых роботов. Любой пользователь MetaTrader 5 получил возможность написать собственный эксперт, не умея программировать на MQL5.
Паттерн прорыва канала
Паттерн прорыва канала

Паттерн прорыва канала

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

MagicNumber - "магический" идентификатор ордера

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

Особенности написания экспертов

Написание и тестирование экспертов в торговой системе MetaTrader 4.
Изучаем классы торговых стратегий из Стандартной Библиотеки - Пользовательские стратегии
Изучаем классы торговых стратегий из Стандартной Библиотеки - Пользовательские стратегии

Изучаем классы торговых стратегий из Стандартной Библиотеки - Пользовательские стратегии

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

Торговый эксперт по книге Б. Вильямса "Новые измерения в биржевой торговле"

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

Создаем помощника в ручной торговле

Количество торговых роботов для работы на валютных рынках в последнее время растет как снежный ком. В них закладываются различные концепции и стратегии, но беспроигрышный образец искусственного интеллекта создать еще никому не удалось. Поэтому многие трейдеры остаются приверженцами ручной торговли. Но и для таких специалистов создаются роботизированные помощники, так называемые торговые панели. Данная статья — еще один пример создания торговой панели "с нуля".
14 000 торговых роботов в MetaTrader Market
14 000 торговых роботов в MetaTrader Market

14 000 торговых роботов в MetaTrader Market

В самом большом магазине готовых приложений для алготрейдинга уже 13 970 продуктов. Среди них 4 800 роботов, 6 500 индикаторов, 2 400 утилит и другие решения. При этом почти половину приложений (6 000) можно не покупать, а арендовать. А четверть от общего числа продуктов (3 800) и вовсе доступна бесплатно.
Обработка торговых событий в эксперте при помощи функции OnTrade()
Обработка торговых событий в эксперте при помощи функции OnTrade()

Обработка торговых событий в эксперте при помощи функции OnTrade()

В 5-ой версии языка MQL появилась масса нововведений, в том числе работа с событиями различных типов (события таймера, торговые события, пользовательские и т.д.). Возможность обработки событий позволяет создавать совершенно новый тип программ для автоматического и полуавтоматического трейдинга. В этой статье мы рассмотрим торговые события и напишем для функции OnTrade() код, который будет обрабатывать событие Trade.
Рассматриваем на практике адаптивный метод следования за рынком
Рассматриваем на практике адаптивный метод следования за рынком

Рассматриваем на практике адаптивный метод следования за рынком

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

Прототип торгового робота

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

Использование прямого и обратного преобразований Фишера для анализа рынков в MetaTrader 5

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

Раскладываем входы по индикаторам

В жизни трейдера бывают разные ситуации. Часто по истории успешных сделок мы пытаемся восстановить стратегию, а глядя на историю убытков — доработать и улучшить ее. И в том, и в другом случае мы сопоставляем сделки с известными индикаторами. В этой статье предлагается методика пакетного сопоставления сделок с рядом индикаторов.
Рецепты MQL5 - Мультивалютный советник и работа с отложенными ордерами на MQL5
Рецепты MQL5 - Мультивалютный советник и работа с отложенными ордерами на MQL5

Рецепты MQL5 - Мультивалютный советник и работа с отложенными ордерами на MQL5

На этот раз рассмотрим создание мультивалютного советника, торговый алгоритм которого строится на работе с отложенными ордерами Buy Stop и Sell Stop. В статье будут рассмотрены следующие вопросы: торговля в указанном временном диапазоне, установка/модификация/удаление отложенных ордеров, проверка закрытия последней позиции по Тейк Профит или Стоп Лосс, контроль истории сделок на каждом символе.
С чего начать при создании торгового робота для Московской биржи MOEX
С чего начать при создании торгового робота для Московской биржи MOEX

С чего начать при создании торгового робота для Московской биржи MOEX

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

Мастер MQL5: Новая версия

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

Ограничения и проверки в экспертах

Можно ли торговать этим инструментом в понедельник? Хватит ли денег на открытие позиции? Какой размер убытка мы получим, если сработает Stop Loss? Как ограничить количество отложенных ордеров? Была ли выполнена торговая операция на этом баре или это было на предыдущем? Если торговый робот не может сделать подобные проверки, то любая прибыльная торговая система может превратиться в проигрышную. В этой статье показаны примеры проверок, которые пригодятся в любом эксперте.
Сравнительный анализ 10 флэтовых стратегий
Сравнительный анализ 10 флэтовых стратегий

Сравнительный анализ 10 флэтовых стратегий

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

Глубокие нейросети (Часть I). Подготовка данных

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

Ночная торговля в азиатскую сессию: как оставаться в прибыли

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