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

icon

Самые разнообразные статьи с примерами по созданию индикаторов и торговых роботов для платформы MetaTrader на языке MQL5 ждут вас. К каждой статье приложены исходные коды, которые вы можете открыть в редакторе MetaEditor и запустить самостоятельно.

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

Новая статья
последние | лучшие
Как в MetaTrader 5 быстро разработать и отладить торговую стратегию
Как в MetaTrader 5 быстро разработать и отладить торговую стратегию

Как в MetaTrader 5 быстро разработать и отладить торговую стратегию

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

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

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

Отображение уровней поддержки и сопротивления

Эта статья посвящена поиску и отображению Уровней Поддержки и Сопротивления в программе MetaTrader 4. На основе простого алгоритма строится удобный и универсальный индикатор. Эта статья затрагивает так же такую полезную тему, как создание простого индикатора, способного отображать в одну рабочую область результаты с разных периодов времени.
Связь с MetaTrader 5 через именованные каналы без применения DLL
Связь с MetaTrader 5 через именованные каналы без применения DLL

Связь с MetaTrader 5 через именованные каналы без применения DLL

Перед многими разработчиками встает одинаковая проблема - как пробиться в песочницу торгового терминала без применения небезопасных DLL. Одним из простых и безопасных методов является использование стандартных именованных каналов (Named Pipes), которые работают как обычные файловые операции. Они позволяют организовать межпроцессорное клиент-серверное взаимодействие между программами. Посмотрите практические примеры на C++ и MQL5 в виде сервера, клиента, обмен данными между ними и замер производительности.
Универсальный Зигзаг
Универсальный Зигзаг

Универсальный Зигзаг

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

Теория адаптивных индикаторов и ее реализация в MQL5

В этой статье будут описаны принципы написания адаптивных индикаторов и их реализация в MQL5. В качестве примеров рассмотрены индикаторы Adaptive Cyber Cycle, Adaptive Center of Gravity и Adaptive RVI. Все эти индикаторы были впервые представлены в книге Джона Элерса "Cybernetic Analysis for Stocks and Futures".
Секреты клиентского терминала MetaTrader 4: Индикаторы
Секреты клиентского терминала MetaTrader 4: Индикаторы

Секреты клиентского терминала MetaTrader 4: Индикаторы

Хотите написать свой собственный индикатор? Возможно то, что Вам нужно, уже реализовано во встроенных в клиентский терминал индикаторах. Имеет ли смысл изобретать велосипед? Сводная таблица характеристик встроенных индикаторов; особенности и способы присоединения индикаторов к графику; построение уровней; отображение индикаторов на разных таймфреймах.
Автоматический поиск дивергенций и конвергенций
Автоматический поиск дивергенций и конвергенций

Автоматический поиск дивергенций и конвергенций

В статье рассматриваются всевозможные виды дивергенции: простая, скрытая, расширенная, тройная, четвертная дивергенции, конвергенция, дивергенции классов A, B и C. Создается универсальный индикатор для их поиска и отображения на графике.
Random Decision Forest в обучении с подкреплением
Random Decision Forest в обучении с подкреплением

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

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

Пользовательские графические элементы управления. Часть 1. Создание простого элемента управления

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

Практическое применение нейросетей в трейдинге. Переходим к практике

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

Защита MQL5-программ: пароли, ключи, ограничение по времени, удаленная проверка лицензий

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

Тестирование торговых стратегий на реальных тиках

В данной статье мы покажем результаты тестирования простой торговой стратегии в 3-х режимах: "OHLC на M1", "Все тики" и "Каждый тик на основе реальных тиков" с использованием записанных тиков из истории.
MQL5 Cloud Network ускоряет расчеты
MQL5 Cloud Network ускоряет расчеты

MQL5 Cloud Network ускоряет расчеты

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

Пример разработки спредовой стратегии на фьючерсах Московской биржи

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

Язык MQL4 для "чайников". Сложные вопросы простым языком

Это вторая статья из цикла "Язык MQL 4 для "чайников"". В ней мы будем разбираться в более сложных и продвинутых конструкциях языка, изучим новые возможности и посмотрим, как их можно применять в ежедневной практике. Сейчас вы узнаете про новый вид циклов while, новый вид условий switch, операторы break и continue. Кроме того вы научитесь писать собственные функции и работать с многомерными массивами. На десерт я подготовил для вас разъяснения о препроцессоре.
Доработка тестера стратегий для оптимизации индикаторов на примерах тренда и флета
Доработка тестера стратегий для оптимизации индикаторов на примерах тренда и флета

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

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

Рецепты MQL5 - Мультивалютный эксперт: пример простой, точной и быстрой схемы

В этой статье мы рассмотрим реализацию простой схемы для мультивалютного эксперта. В данном случае имеется в виду, что эксперт можно будет настроить на тестирование/торговлю по одинаковым условиям, но с разными параметрами для каждого символа. В качестве примера создадим схему для двух символов, но сделаем это так, чтобы при необходимости можно было добавлять дополнительные символы, внося небольшие изменения в код.
preview
Нейросети — это просто (Часть 2): Обучение и тестирование сети

Нейросети — это просто (Часть 2): Обучение и тестирование сети

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

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

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

Особенности работы с числами типа double в MQL4

В данной заметке собраны советы по решению наиболее часто возникающих ошибок при работе с числами типа double в программах на MQL4.
ZUP - зигзаг универсальный с паттернами Песавенто. Часть 1
ZUP - зигзаг универсальный с паттернами Песавенто. Часть 1

ZUP - зигзаг универсальный с паттернами Песавенто. Часть 1

В статье кратко описаны идеи, положенные в основу индикатора ZUP - зигзаг универсальный с паттернами Песавенто, и приведено описание индикаторов ZigZag, встроенных в ZUP.
Как написать индикатор на основе другого индикатора
Как написать индикатор на основе другого индикатора

Как написать индикатор на основе другого индикатора

На MQL5 можно не только создать новый пользовательский индикатор с чистого листа, но и написать индикатор на базе другого, уже существующего индикатора, встроенного в терминал или пользовательского. И тут существует два способа: первый - доработать индикатор, добавить к нему новые вычисления и графические стили, второй - использовать встроенный в терминал индикатор или существующий пользовательский индикатор при помощи функций iCustom() или IndicatorCreate().
preview
200 usd за вашу статью по алготрейдингу!

200 usd за вашу статью по алготрейдингу!

Напишите статью и внесите свой вклад в развитие алготрейдинга. Поделитесь своим опытом в торговле и программировании, и мы заплатим вам $200. К тому же публикация на популярном сайте MQL5.com — отличный шанс для личного продвижения в профессиональной среде. Вас прочитают тысячи трейдеров. Вы сможете обсудить свои идеи с единомышленниками, получить новый опыт и монетизировать свои знания.
Паттерн прорыва канала
Паттерн прорыва канала

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

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

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

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

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

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

Отладка программ на MQL5

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

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

Написание и тестирование экспертов в торговой системе MetaTrader 4.
Учёт ордеров в большой программе
Учёт ордеров в большой программе

Учёт ордеров в большой программе

Рассматриваются общие принципы построения учёта ордеров в сложной программе.
Обновление на новый MetaTrader 4 билд 600 и выше
Обновление на новый MetaTrader 4 билд 600 и выше

Обновление на новый MetaTrader 4 билд 600 и выше

В новой версии терминала MetaTrader 4 была изменена структура хранения пользовательских данных. Если раньше все программы, шаблоны, профили и т.д. хранились прямо в папке установки терминала, то теперь данные, необходимые для работы конкретного пользователя терминала, хранятся в отдельной специальной папке, называемой каталог данных. В этой статье собраны ответы на популярные вопросы.
preview
Практическое применение нейросетей в трейдинге. Python (Часть I)

Практическое применение нейросетей в трейдинге. Python (Часть I)

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

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

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

Перенос индикаторов из MQL4 в MQL5

Статья посвящена особенностям переноса в MQL5 ценовых конструкций, используемых в индикаторах, написанных на MQL4. Для упрощения переноса индикаторных расчетов из MQL4 в MQL5 предложена библиотека функций mql4_2_mql5.mqh, применение которой рассмотрено на примере переноса индикаторов MACD, Stochastic и RSI.
Обработка торговых событий в эксперте при помощи функции OnTrade()
Обработка торговых событий в эксперте при помощи функции OnTrade()

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

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

Теоретические основы построения кластерных индикаторов для рынка FOREX

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

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

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

Волны Вульфа

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

Пишем скальперский стакан цен на основе графической библиотеки CGraphic

В статье создается базовый функционал скальперского стакана цен. Разрабатывается тиковый график на основе графической библиотеки CGraphic и интегрируется с таблицей заявок. С помощью описываемого стакана цен можно создать мощный помощник для краткосрочной торговли.
Прототип торгового робота
Прототип торгового робота

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

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