Статьи по программированию на языках MQL4 и MQL5

icon

Изучайте язык программирования торговых стратегий MQL5 по опубликованным здесь статьям, большая часть которых написана вами - членами сообщества. Все статьи разделены на категории для быстрого поиска ответа по тому или иному аспекту программирования: "Интеграция", "Тестер", "Торговые стратегии" и многое другое.

Следите за новыми публикациями и участвуйте в их обсуждении на форуме!

Новая статья
последние | лучшие
Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)
Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)

Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)

Данная статья знакомит с реализацией межпроцессного взаимодействия между терминалами MetaTrader 5 посредством именованных каналов (named pipes). Предложен класс CNamedPipes, реализующий возможность использования именованных каналов. Рассмотрен тиковый индикатор для тестирования связи между двумя клиентскими терминалами MetaTrader 5 и измерения общей пропускной способности системы. Представленный метод взаимодействия оказался пригодным для отправки котировок в реальном времени.
Волны Вульфа
Волны Вульфа

Волны Вульфа

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

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

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

Визуализируй стратегию в тестере MetaTrader 5

Каждому из нас давно знакома поговорка "Лучше один раз увидеть, чем сто раз услышать". Вы можете прочитать десятки книг о Париже или Венеции, но мысленные образы не позволят вам испытать те же ощущения, как от прогулки по их вечерним улицам. Преимущество визуализации, или наглядного представления, может быть легко спроецировано на любой аспект нашей жизни, включая и работу на рынке, например, анализ цен на графиках при помощи индикаторов, и конечно же, визуализация тестирования стратегий. В данной статье собраны все возможности тестера стратегий MetaTrader 5 по визуализации вычислений.
Интервью с Андреем Бариновым (ATC 2012)
Интервью с Андреем Бариновым (ATC 2012)

Интервью с Андреем Бариновым (ATC 2012)

Еще в пятницу в первую неделю соревнований торговый робот Андрея Баринова (Wahoo) занимал пятое место в TOP-10. Андрей в первый раз участвует в Чемпионате, но успел уже выполнить более 100 заказов в Работе, а также выставил десяток продуктов в Маркете. Мы пообщались с ним и узнали, что создать "простой мультивалютный советник" не просто, а достаточно просто.
preview
Как создать графическую панель любой сложности и как это работает

Как создать графическую панель любой сложности и как это работает

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

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

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

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

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

Трендовые линии на основе фракталов посредством MQL4 и MQL5

В статье описано решение по автоматизации построения трендовых линий на основе индикатора Fractals с помощью MQL4 и MQL5. Структура статьи представлена в сравнительном виде в рамках решения поставленной задачи с позиции двух языков. Построение трендовых линий осуществляется по двум последним известным фракталам.
preview
Градиентный бустинг (CatBoost) в задачах построения торговых систем. Наивный подход

Градиентный бустинг (CatBoost) в задачах построения торговых систем. Наивный подход

Обучение классификатора CatBoost на языке Python и экспорт модели в mql5 формат, а также разбор параметров модели и кастомный тестер стратегий. Для подготовки данных и обучения модели используется язык программирования Python и библиотека MetaTrader5.
Структура данных в MetaTrader 4 build 600 и выше
Структура данных в MetaTrader 4 build 600 и выше

Структура данных в MetaTrader 4 build 600 и выше

Начиная с 600 билда MetaTarder 4, изменилась структура, а также место хранения файлов клиентского терминала. Теперь MQL4-программы разнесены по отдельным каталогам в зависимости от типа программы (эксперты, индикаторы, скрипты). Данные терминала в большинстве случаев теперь хранятся в специальном каталоге данных отдельно от места установки терминала. В данной статье мы подробно опишем, каким образом осуществляется перенос данных, а также причины введения такой системы хранения.
С чего начать при создании торгового робота для Московской биржи MOEX
С чего начать при создании торгового робота для Московской биржи MOEX

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

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

Азбука торговли валютами

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

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

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

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

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

События в МetaТrader 4

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

Паттерн Флаг

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

Передача данных между индикаторами - простое решение наболевшей проблемы

Мы хотим создать среду, которая предоставляла бы возможность обращения к показаниям индикаторов, присоединенных к тому или иному графику терминала, и обладала бы следующими свойствами: отсутствие копирования данных; минимальное вмешательство в код уже имеющихся инструментов при необходимости их «подключения»; реализация преимущественно средствами MQL (естественно, механизм DLL нам все же потребуется, однако, как мы увидим, его использование будет ограничиваться не более чем десятком строк на С++). В статье объясняется, как можно довольно просто создать в терминале MetaTrader программную среду, обеспечивающую средства для доступа к буферам индикаторов из других MQL-программ.
Особенности написания Пользовательских Индикаторов
Особенности написания Пользовательских Индикаторов

Особенности написания Пользовательских Индикаторов

Написание пользовательских индикаторов в торговой системе MetaTrader 4
Создание собственных критериев оптимизации параметров эксперта
Создание собственных критериев оптимизации параметров эксперта

Создание собственных критериев оптимизации параметров эксперта

Терминал МetaTrader 5 дает новые возможности для оптимизации параметров создаваемых экспертов. Кроме уже имеющихся в тестере критериев оптимизации, разработчики получили инструмент для создания собственных критериев. Это открывает поистине безграничные возможности в тестировании и оптимизации экспертов. В статье рассматриваются практические способы построения таких критериев - как простых, так и достаточно сложных.
Ограничения и проверки в экспертах
Ограничения и проверки в экспертах

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

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

Создание графических интерфейсов для экспертов и индикаторов на базе .Net Framework и C#

Простой и быстрый способ создания графических окон при помощи редактора Visual Studio с последующей интеграцией в код MQL советника. Статья расчитана на широкий круг читателей, и не требует каких-либо познаний в C# и технологии .Net.
Сравнительный анализ 10 флэтовых стратегий
Сравнительный анализ 10 флэтовых стратегий

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

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

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

В статье рассматривается понятие ночной торговли, стратегии торговли, их реализация на MQL5. Проведено тестирование и сделаны выводы.
Глубокие нейросети (Часть I). Подготовка данных
Глубокие нейросети (Часть I). Подготовка данных

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

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

Растущий нейронный газ - реализация на языке программирования MQL5

В статье приводится пример написания на языке MQL5 программы, реализующий адаптивный алгоритм кластеризации, называемый "Растущий нейронный газ" (Growing neural gas, GNG). Статья рассчитана на пользователей, изучивших документацию к языку, а также уже имеющих определенные навыки программирования и базовые знания в области нейроинформатики.
Можно ли прогнозировать рынок Форекс? Как создать собственную торговую стратегию?
Можно ли прогнозировать рынок Форекс? Как создать собственную торговую стратегию?

Можно ли прогнозировать рынок Форекс? Как создать собственную торговую стратегию?

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

Синхронизация нескольких графиков по одному инструменту на разных таймфреймах

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

Цветные индикаторы - создание и применение

Речь в данной статье пойдет о возможностях для создания цветных индикаторов и раскрашивания индикаторов уже существующих. С переходом на MQL5 появилась возможность представлять информацию в удобном для глаза виде. Теперь не обязательно накидывать кучу графиков с разными индикаторами и с линейкой высматривать уровни RSI и Stochastic, можно просто раскрасить свечи в разные цвета в зависимости от показаний индикаторов.
MQL5: Анализ и обработка отчетов Commodity Futures Trading Commission (CFTC) в MetaTrader 5
MQL5: Анализ и обработка отчетов Commodity Futures Trading Commission (CFTC) в MetaTrader 5

MQL5: Анализ и обработка отчетов Commodity Futures Trading Commission (CFTC) в MetaTrader 5

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

Доктор Трейдлав, или Как я перестал беспокоиться и написал самообучающийся эксперт

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

Мастер MQL5: Как научить эксперта открывать отложенные ордера по любым ценам

В статье рассмотрен способ модификации кода модуля торговых сигналов для реализации функционала выставления отложенных ордеров на произвольном расстоянии от текущей цены: это может быть цена Close или Open предыдущего бара, а может быть значение скользящей средней. Вариантов множество – главное, теперь цену открытия отложенного ордера можно выставлять любую. Данная статья станет полезной для тех, кто использует стратегии торговли отложенными ордерами.
Три аспекта ручного автотрейдинга. Часть 1 - Торговля
Три аспекта ручного автотрейдинга. Часть 1 - Торговля

Три аспекта ручного автотрейдинга. Часть 1 - Торговля

Эта статья открывает цикл статей по вопросам автоматизации ручного трейдинга на платформе МetaТrader 4. Каждая из них будет посвящена одному отдельному аспекту ручного автотрейдинга: автоматизация ручной торговли, автоматизация отображения текущего состояния торговли и автоматизация формирования отчетов о результатах торговли. В этой статье я расскажу об одной интересной технике для написания советников, управляемых трейдером вручную.
preview
Нейросети — это просто (Часть 3): Сверточные сети

Нейросети — это просто (Часть 3): Сверточные сети

Продолжая тему нейронных сетей, предлагаю рассмотреть сверточные нейронные сети. Данный тип нейронных сетей был разработан для поиска объектов на изображении. Рассмотрим, как он может нам помочь в работе на финансовых рынках.
Почему нужно обновить MetaTrader 4 на последний билд до 1 августа?
Почему нужно обновить MetaTrader 4 на последний билд до 1 августа?

Почему нужно обновить MetaTrader 4 на последний билд до 1 августа?

C 1 августа 2014 года прекращается поддержка десктопных терминалов MetaTrader 4 ниже 600-го билда. А ведь многие трейдеры продолжают сидеть на привычных старых версиях и не знают о возможностях обновленной платформы. Мы вложили много сил в ее разработку и хотели бы вместе с трейдерами двигаться дальше и отказаться от старых билдов. В этой статье мы расскажем о преимуществах нового MetaTrader 4.
Реверсирование: снижаем максимальную просадку и тестируем другие рынки
Реверсирование: снижаем максимальную просадку и тестируем другие рынки

Реверсирование: снижаем максимальную просадку и тестируем другие рынки

В этой статье мы продолжим рассматривать тему реверсирования. Мы попробуем снизить максимальную просадку по балансу до приемлемого уровня на ранее рассмотренных инструментах. Проверим, насколько при этом снизится полученная прибыль. А также проверим, как работает реверсирование на других рынках: фондовом, сырьевом, индексах и ETF, аграрном. Внимание, статья содержит очень много картинок!
Синтетические бары – новое слово в отображении ценовой графической информации
Синтетические бары – новое слово в отображении ценовой графической информации

Синтетические бары – новое слово в отображении ценовой графической информации

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

Анализ основных характеристик временных рядов

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

Комбинаторика и теория вероятностей для трейдинга (Часть I): Основы

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

Приобщаемся к объектно-ориентированному программированию в MQL5

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