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

icon

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

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

Новая статья
последние | лучшие
Интервью с Антонио Морилласом (ATC 2011)
Интервью с Антонио Морилласом (ATC 2011)

Интервью с Антонио Морилласом (ATC 2011)

Испанец Антонио Мориллас (sallirom, кстати - это обратное написание фамилии!) первым с начала Чемпионата увеличил свой стартовый капитал более чем в два раза и тем самым привлек внимание аудитории. Стратегия его советника чрезвычайно рискованная. Мы решили поговорить с Антонио о рисках и удаче, как неотъемлемых атрибутах Automated Trading Championship.
preview
Разработка торговой системы на основе индикатора Ишимоку

Разработка торговой системы на основе индикатора Ишимоку

Эта статья продолжает серию, в которой мы учимся строить торговые системы на основе самых популярных индикаторов. На этот раз мы поговорим об индикаторе Ишимоку и создадим торговую систему по его показателям.
График PairPlot на основе CGraphic для анализа зависимостей между массивами данных (таймсериями)
График PairPlot на основе CGraphic для анализа зависимостей между массивами данных (таймсериями)

График PairPlot на основе CGraphic для анализа зависимостей между массивами данных (таймсериями)

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

Мультивалютный мониторинг торговых сигналов (Часть 3): Внедряем алгоритмы поиска

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

Связь ICQ и эксперта в MQL5

В статье рассматривается способ двустороннего обмена текстовыми сообщениями между клиентами ICQ, используя средства программирования языка MQL5. Материал заинтересует тех, кто хочет получать торговую информацию из работающего торгового терминала удаленно, например, через ICQ клиента в своем мобильном телефоне или КПК.
Пишем утилиту для отбора и навигации по инструментам на языках MQL5 и MQL4
Пишем утилиту для отбора и навигации по инструментам на языках MQL5 и MQL4

Пишем утилиту для отбора и навигации по инструментам на языках MQL5 и MQL4

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

Непрерывная скользящая оптимизация (Часть 2): Механизм создания отчета оптимизации для любого робота

Если прошлая статья повествовала о создании DLL-библиотеки, которая будет использоваться в нашем автооптимизаторе и в роботе, то продолжение будет целиком посвящено языку MQL5.
Видео: Настройка MetaTrader 5 и MQL5 для простой автоматизированной торговли
Видео: Настройка MetaTrader 5 и MQL5 для простой автоматизированной торговли

Видео: Настройка MetaTrader 5 и MQL5 для простой автоматизированной торговли

В этом небольшом видеокурсе вы узнаете, как скачать, установить и настроить MetaTrader 5 для автоматизированной торговли. Вы также узнаете, как настроить график и параметры автоматизированной торговли. Вы проведете свое первое тестирование на истории и узнаете, как импортировать советника, который может самостоятельно торговать 24 часа в сутки 7 дней в неделю, избавляя вас от необходимости сидеть перед экраном.
Утилита для отбора и навигации на MQL5 и MQL4: добавляем автоматичекий поиск паттернов с показом найденных символов
Утилита для отбора и навигации на MQL5 и MQL4: добавляем автоматичекий поиск паттернов с показом найденных символов

Утилита для отбора и навигации на MQL5 и MQL4: добавляем автоматичекий поиск паттернов с показом найденных символов

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

Основы создания хеджирующего эксперта

В данной статье предлагается пример создания хеджирующего эксперта. Автором была выбрана пара для хеджирования - EURJPY и GBPJPY - в соответствии с собственными предпочтениями. По мнению автора, эта пара всегда движется равномерно и представляет меньше трудностей для установки хеджированного ордера.
Взаимодействие между MеtaTrader 4  и MATLAB Engine (виртуальная машина MATLAB)
Взаимодействие между MеtaTrader 4  и MATLAB Engine (виртуальная машина MATLAB)

Взаимодействие между MеtaTrader 4 и MATLAB Engine (виртуальная машина MATLAB)

В данной статье рассматривается вопрос создания DLL библиотеки - обертки, которая позволит взаимодействовать MetaTrader 4 с математическим рабочим столом пакета MATLAB. Описаны "подводные камни" и пути их преодоления. Статья рассчитана на подготовленных программистов С/С++, использующих компилятор Borland C++ Builder 6.
Рецепты MQL5 - обработка пользовательских событий графика
Рецепты MQL5 - обработка пользовательских событий графика

Рецепты MQL5 - обработка пользовательских событий графика

В данной статье рассматриваются аспекты проектирования и разработки системы пользовательских событий графика в среде MQL5. Предлагается пример подхода для классификации событий. Приводится программный код событийного класса и класса-обработчика пользовательских событий.
Андрей Войтенко (avoitenko): "Разработчики что-то имеют от попавших к ним в разработку идей? Абсурд!"
Андрей Войтенко (avoitenko): "Разработчики что-то имеют от попавших к ним в разработку идей? Абсурд!"

Андрей Войтенко (avoitenko): "Разработчики что-то имеют от попавших к ним в разработку идей? Абсурд!"

Разработчик с Украины Андрей Войтенко (avoitenko) активно участвует в сервисе "Работа" на сайте mql5.com, помогая трейдерам со всего мира в реализации их идей. В прошлом году эксперт Андрея на Чемпионате Automated Trading Championship 2010 занял 4-е место, лишь немного уступив бронзовому призеру. На этот раз мы поговорим с Андреем о сервисе "Работа".
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XV): Коллекция объектов-символов
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XV): Коллекция объектов-символов

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XV): Коллекция объектов-символов

В статье рассмотрим создание коллекции символов на основе базового абстрактного объекта-символа, созданного в прошлой статье. Наследники абстрактного символа будут уточнять информацию о символе, в них будет организовано определение доступности в программе свойств базового объекта-символа, и различаться такие объекты-символы будут по их принадлежности к группам.
preview
Популяционные алгоритмы оптимизации: Муравьиная Колония (Ant Colony Optimization - ACO)

Популяционные алгоритмы оптимизации: Муравьиная Колония (Ant Colony Optimization - ACO)

В этот раз разберём алгоритм оптимизации Муравьиная Колония. Алгоритм очень интересный и неоднозначный. Попытка создания нового типа ACO.
Почтовая рассылка сервисами Google
Почтовая рассылка сервисами Google

Почтовая рассылка сервисами Google

Задача организации почтовой рассылки вполне может возникнуть у трейдера, поддерживающего деловые отношения с другими трейдерами, с подписчиками, клиентами, даже просто с друзьями. Разослать скриншоты, какие то журналы, логи, или отчеты, это вполне актуальные задачи, востребованные не каждый день, но и не так уж редко, в любом случае хотелось бы обладать такой возможностью. В статье рассмотрены вопросы использования сразу нескольких сервисов Google, написанию соответствующей сборки на C# и интеграции с инструментами на MQL.
Анализ торговли по HTML-отчетам
Анализ торговли по HTML-отчетам

Анализ торговли по HTML-отчетам

Кроме торговых отчетов MetaTrader 5 позволяет сохранять отчеты о тестировании и оптимизации экспертов. Отчет тестирования так же, как и история торговли, может быть сохранен в двух форматах: XLSX и HTML, а отчет оптимизации сохраняется в формате XML. В этой статье будет рассмотрен разбор HTML-отчета тестера, XML-отчета оптимизации и HTML-отчет с историей торговли.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIII): События объекта "аккаунт"
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIII): События объекта "аккаунт"

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIII): События объекта "аккаунт"

В данной статье будут рассмотрены методы работы с событиями аккаунта (счёта), позволяющие отслеживать важные события изменения свойств счёта, так или иначе влияющие на автоматическую торговлю.Некоторая часть функционала для отслеживания событий аккаунта, уже была нами создана в прошлой статье при создании коллекции объектов-аккаунтов.
Работа с таймсериями в библиотеке DoEasy (Часть 39): Индикаторы на основе библиотеки - подготовка данных и события таймсерий
Работа с таймсериями в библиотеке DoEasy (Часть 39): Индикаторы на основе библиотеки - подготовка данных и события таймсерий

Работа с таймсериями в библиотеке DoEasy (Часть 39): Индикаторы на основе библиотеки - подготовка данных и события таймсерий

В статье рассмотрим применение библиотеки DoEasy для создания мультисимвольных мультипериодных индикаторов. Подготовим классы библиотеки для работы в составе индикаторов и протестируем правильное создание таймсерий для их использования в качестве источников данных в индикаторах. Организуем создание и отсылку событий таймсерий.
Индивидуальная психология трейдера
Индивидуальная психология трейдера

Индивидуальная психология трейдера

Описание поведения трейдера на финансовом рынке. Личная подборка автора из книги А.Элдера "Как играть и выигрывать на бирже".
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XII): Класс объекта "аккаунт", коллекция объектов-аккаунтов
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XII): Класс объекта "аккаунт", коллекция объектов-аккаунтов

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XII): Класс объекта "аккаунт", коллекция объектов-аккаунтов

В предыдущей статье мы определили события закрытия позиций для MQL4 в библиотеке и избавились от оказавшихся невостребованными свойств ордеров. В данной статье рассмотрим создание объекта "Аккаунт", создадим коллекцию объектов-аккаунтов и подготовим функционал для отслеживания событий аккаунтов.
MT4TerminalSync - система синхронизации терминалов MetaTrader 4
MT4TerminalSync - система синхронизации терминалов MetaTrader 4

MT4TerminalSync - система синхронизации терминалов MetaTrader 4

Данная статья относится к тематике: "Расширение возможностей MQL 4 - программ путем использования функций операционных систем, а также других средств разработки программ". Статья посвящена описанию примера программной системы, реализующей задачу синхронизации нескольких копий терминала на основе одного источника-шаблона.
Графические интерфейсы V: Элемент "Список" (Глава 2)
Графические интерфейсы V: Элемент "Список" (Глава 2)

Графические интерфейсы V: Элемент "Список" (Глава 2)

В первой главе пятой части были разработаны классы для создания таких элементов управления, как вертикальная и горизонтальная полоса прокрутки. В этой статье применим их на практике. На этот раз создадим класс для создания элемента «Список», составной частью которого будет вертикальная полоса прокрутки.
MQL5 Маркету 1 год
MQL5 Маркету 1 год

MQL5 Маркету 1 год

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

Перенос кода индикатора в код эксперта. Общие схемы строения эксперта и индикаторных функций

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

Делаем информационную панель для отображения данных в индикаторах и советниках

В статье рассмотрим создание класса информационной панели для использования её в индикаторах и советниках. Это вводная статья в небольшой серии статей с шаблонами подключения и использования стандартных индикаторов в советниках. Начнем мы с создания панели — аналога окна данных MetaTrader 5.
Популяционные алгоритмы оптимизации
Популяционные алгоритмы оптимизации

Популяционные алгоритмы оптимизации

Вводная статья об алгоритмах оптимизации (АО). Классификация. В статье предпринята попытка создать тестовый стенд (набор функций), который послужит в дальнейшем для сравнения АО между собой, и, даже, возможно, выявления самого универсального алгоритма из всех широко известных.
preview
Брутфорс-подход к поиску закономерностей (Часть III): Новые горизонты

Брутфорс-подход к поиску закономерностей (Часть III): Новые горизонты

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

Cоздание стратегии возврата к среднему на основе машинного обучения

В данной статье предлагается очередной оригинальный подход к созданию торговых систем на основе машинного обучения, с использованием кластеризации и разметки сделок для стратегий возврата к среднему.
Работа с ценами и Сигналами в библиотеке DoEasy (Часть 65): Коллекция стаканов  и класс для работы с Сигналами MQL5.com
Работа с ценами и Сигналами в библиотеке DoEasy (Часть 65): Коллекция стаканов  и класс для работы с Сигналами MQL5.com

Работа с ценами и Сигналами в библиотеке DoEasy (Часть 65): Коллекция стаканов и класс для работы с Сигналами MQL5.com

В статье создадим класс-коллекцию стаканов цен всех символов и начнём разработку функционала для работы с сервисом сигналов MQL5.com — создадим класс объекта-сигнала.
preview
Несколько индикаторов на графике (Часть 01): Понимание концепций

Несколько индикаторов на графике (Часть 01): Понимание концепций

Сегодня разберем, как можно добавить несколько индикаторов в график одновременно, не занимая при этом отдельную его область. При торговле много трейдеров чувствуют себя более уверенно, если одновременно смотрят на несколько индикаторов (например, RSI, STOCASTIC, MACD, ADX и другие), а в некоторых случаях даже на разные активы, составляющие тот или иной индекс.
Разработка торговой системы на основе индикатора CCI
Разработка торговой системы на основе индикатора CCI

Разработка торговой системы на основе индикатора CCI

В очередной статье из серии, посвященной разработке торговых систем, я представлю индекс товарного канала (CCI), объясню его особенности и поделюсь тем, как создать торговую систему на основе этого индикатора.
Итоги MQL5 Маркета за 1 квартал 2013 года
Итоги MQL5 Маркета за 1 квартал 2013 года

Итоги MQL5 Маркета за 1 квартал 2013 года

С момента своего основания MQL5 Маркет - магазин торговых роботов и технических индикаторов - уже привлек в свои ряды более 250 разработчиков, которые опубликовали 580 продуктов. Итоги первого квартала 2013 года показывают, что некоторые продавцы довольно успешны в MQL5 Маркете и уже получили с продаж солидную прибыль.
Как разработать торговую систему на основе индикатора Envelopes
Как разработать торговую систему на основе индикатора Envelopes

Как разработать торговую систему на основе индикатора Envelopes

В этой статье я поделюсь с вами еще одним методом торговли по полосам. На этот раз мы будем работать с индикатором Envelopes (Конверты, Огибающие линии). Научимся создавать стратегии на основе этого индикатора.
preview
Торговля на разрывах справедливой стоимости (FVG)/дисбалансах шаг за шагом: Подход Smart Money

Торговля на разрывах справедливой стоимости (FVG)/дисбалансах шаг за шагом: Подход Smart Money

Пошаговое руководство по созданию и реализации автоматизированного торгового алгоритма на основе разрывов справедливой стоимости (Fair Value Gap, FVG) на языке MQL5. Подробное руководство может быть полезно как новичкам, так и опытным трейдерам.
preview
Непрерывная скользящая оптимизация (Часть 8): Доработка программы и исправление найденных недочетов

Непрерывная скользящая оптимизация (Часть 8): Доработка программы и исправление найденных недочетов

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

Градиентный бустинг в задачах трансдуктивного и активного машинного обучения

В данной статье вы познакомитесь с методами активного машинного обучения на реальных данных, узнаете какие плюсы и минусы они имеют. Возможно, эти методы займут свое место в вашем арсенале моделей машинного обучения. Термин трансдукции был введен Владимиром Наумовичем Вапником, изобретателем машины опорных векторов или SVM (support vector machine).
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 3)
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 3)

Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 3)

В данной статье автор продолжает обзор алгоритмов реализации простейших торговых систем и знакомит с механизацией бэктестинга. Статья будет полезна начинающим трейдерам и начинающим экспертописателям
preview
Машинное обучение и Data Science (Часть 10): Гребневая регрессия

Машинное обучение и Data Science (Часть 10): Гребневая регрессия

Гребневая регрессия (ридж-регрессия) — это простой метод для уменьшения сложности модели и борьбы с подгонкой, которая может возникнуть в результате простой линейной регрессии.
preview
Матрицы и векторы в MQL5

Матрицы и векторы в MQL5

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