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

icon

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

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

Новая статья
последние | лучшие
Итоги MQL5 Маркета за 1 квартал 2013 года
Итоги MQL5 Маркета за 1 квартал 2013 года

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

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

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

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

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

В статье создадим класс-коллекцию стаканов цен всех символов и начнём разработку функционала для работы с сервисом сигналов MQL5.com — создадим класс объекта-сигнала.
Графические интерфейсы V: Элемент "Список" (Глава 2)
Графические интерфейсы V: Элемент "Список" (Глава 2)

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

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

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

Данная статья относится к тематике: "Расширение возможностей MQL 4 - программ путем использования функций операционных систем, а также других средств разработки программ". Статья посвящена описанию примера программной системы, реализующей задачу синхронизации нескольких копий терминала на основе одного источника-шаблона.
preview
Язык визуального программиования ДРАКОН (Drakon) — средство общения для разработчика MQL и заказчика

Язык визуального программиования ДРАКОН (Drakon) — средство общения для разработчика MQL и заказчика

ДРАКОН — язык визуального программирования, специально разработанный для упрощения взаимодействия между специалистами разных отраслей (биологами, физиками, инженерами...) с программистами в российских космических проектах (например, при создании создание комплекса "Буран"). В этой статье я расскажу о том, как ДРАКОН делает создание алгоритмов доступным и интуитивно понятным, даже если вы никогда не сталкивались с кодом, а также - как заказчику легче объяснить свои мысли при заказе торговых роботов, а программисту - совершать меньше ошибок в сложных функциях.
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 3)
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 3)

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

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

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

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

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

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

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

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

Передача торговых сигналов в универсальном советнике.

В статье описываются различные способы передачи торговых сигналов из сигнального модуля универсального советника в модуль управления позициями и ордерами. Рассматриваются последовательный и параллельный интерфейсы.
preview
Метамодели в машинном обучении и трейдинге: Оригинальный тайминг торговых приказов

Метамодели в машинном обучении и трейдинге: Оригинальный тайминг торговых приказов

Метамодели в машинном обучении: Автоматическое создание торговых систем практически без участия человека — Модель сама принимает решение как торговать и когда торговать.
preview
Нейросети — это просто (Часть 29): Алгоритм актор-критик с преимуществом (Advantage actor-critic)

Нейросети — это просто (Часть 29): Алгоритм актор-критик с преимуществом (Advantage actor-critic)

В предыдущих статьях данной серии мы познакомились с 2-мя алгоритмами обучения с подкреплением. Каждый из них обладает своими достоинствами и недостатками. Как часто бывает в таких случаях, появляется идея совместить оба метода в некий алгоритм, который бы вобрал в себя лучшее из двух. И тем самым компенсировать недостатки каждого из них. О таком методе мы и поговорим в этой статье.
Разработка торговой системы на основе Стохастика
Разработка торговой системы на основе Стохастика

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

Это очередная статья из обучающей серии, в которой мы знакомимся с различными индикаторами. В этот раз мы обратимся к другому популярному индикатору — Stochastic Oscillator. Изучим его, рассмотрим стратегии на его основе и создадим торговую систему.
Графика в библиотеке DoEasy (Часть 79): Класс объекта "Кадр анимации" и его объекты-наследники
Графика в библиотеке DoEasy (Часть 79): Класс объекта "Кадр анимации" и его объекты-наследники

Графика в библиотеке DoEasy (Часть 79): Класс объекта "Кадр анимации" и его объекты-наследники

В статье разработаем класс одного кадра анимации и его наследников. Класс будет позволять рисовать фигуры с сохранением и последующим восстановлением фона под нарисованной фигурой.
preview
Разработка робота на Python и MQL5 (Часть 1): Препроцессинг данных

Разработка робота на Python и MQL5 (Часть 1): Препроцессинг данных

Разработка торгового робота на основе машинного обучения: подробное руководство. В первой статье цикла осуществлен сбор и подготовка данных и признаков. Для реализации проекта используется язык программирования Python и библиотеки, а также платформа MetaTrader 5.
Андрей Войтенко: "Ошибки программирования стоили мне 15 000" (ATC 2010)
Андрей Войтенко: "Ошибки программирования стоили мне 15 000" (ATC 2010)

Андрей Войтенко: "Ошибки программирования стоили мне 15 000" (ATC 2010)

Андрей Войтенко впервые принимает участие в Чемпионате Automated Trading Championship 2010, но торгует его эксперт вполне по-взрослому. Уже которую неделю советник Андрея идет в первой десятке и не собирается уступать завоеванные позиции конкурентам. В интервью разработчик рассказывает об особенностях своего эксперта, допущенных им ошибках и цене, которую пришлось за них заплатить.
Automated Trading Championship - обратная сторона медали
Automated Trading Championship - обратная сторона медали

Automated Trading Championship - обратная сторона медали

Чемпионат Automated Trading Championship на платформе MetaTrader 4 проводится уже в третий раз и многими сегодня воспринимается как некое само собой разумеющееся ежегодное событие, которого ждут с нетерпением. Но это состязание предъявляет серьезные требования к Участникам. Именно об этом мы и хотим рассказать.
Разработка торговой системы на основе индикатора ADX
Разработка торговой системы на основе индикатора ADX

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

Эта статья продолжает серию о построении торговых систем с использованием самых популярных индикаторов. На этот раз мы поговорим об индикаторе ADX (Average Directional Index, Индекс среднего направленного движения). Мы подробно изучим этот индикатор, чтобы понять, чем он может быть полезен в торговле. Также с помощью простых стратегий мы узнаем, как его использовать. Изучая самую суть вещей, мы можем получить больше информации и использовать это с максимальной выгодой.
preview
Градиентный бустинг в задачах трансдуктивного и активного машинного обучения

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

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

Сезонность на рынке форекс и возможности ее использования

Каждый современный человек знаком с понятием сезонности, например, все мы привыкли к росту цен свежих овощей в зимний период или подорожанию топлива в сильные морозы, но мало кто знает, что подобные закономерности существуют и на рынке форекс.
Фриланс на MQL5.com - лучшее место для разработчика
Фриланс на MQL5.com - лучшее место для разработчика

Фриланс на MQL5.com - лучшее место для разработчика

Разработчикам торговых советников больше не надо искать трейдеров, которым нужны эксперты, - заказчики сами найдут вас. Более того, они уже находят разработчиков, выставляют заказы и оплачивают проделанную работу в сервисе Фриланс на MQL5.com. За 4 года существования сервиса три тысячи трейдеров оплатило свыше 10 000 выполненных работ! Причем активность трейдеров и разработчиков постоянно возрастает.
Работа с таймсериями в библиотеке DoEasy (Часть 36): Объект таймсерий всех используемых периодов символа
Работа с таймсериями в библиотеке DoEasy (Часть 36): Объект таймсерий всех используемых периодов символа

Работа с таймсериями в библиотеке DoEasy (Часть 36): Объект таймсерий всех используемых периодов символа

В статье рассмотрим объединение списков объектов-баров по каждому используемому периоду символа в один объект таймсерий символа. Таким образом у нас будет для каждого символа подготовлен объект, хранящий списки всех используемых периодов таймсерии символа.
preview
Использование класса CCanvas в MQL приложениях

Использование класса CCanvas в MQL приложениях

Статья об использовании класса CCanvas в MQL приложениях с подробным разбором и примерами, что даёт пользователю понимание основ работы с данным инструментом
preview
Еще раз о системе Мюррея

Еще раз о системе Мюррея

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

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

Представляю вашему вниманию новую статью из серии, в которой мы учимся создавать торговые системы на основе популярных технических индикаторов. Данная статья будет посвящена индикатору Volumes. Объем как понятие является важным факторов в торговле на финансовых рынках, и поэтому обязательно надо его учитывать. В этой статье узнаем, как разработать торговую систему на основе показателей от индикатора объемов Volumes.
Итоги MQL5 Маркета за 2 квартал 2013 года
Итоги MQL5 Маркета за 2 квартал 2013 года

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

За полтора года успешной работы MQL5 Маркет стал крупнейшим трейдерским магазином торговых стратегий и технических индикаторов. В нем опубликовано около 800 торговых приложений от 350 разработчиков со всего мира. При этом трейдеры уже купили и установили в свои терминалы MetaTrader 5 свыше 100 000 торговых программ.
Прочие классы в библиотеке DoEasy (Часть 72): Отслеживание и фиксация параметров объектов-чартов в коллекции
Прочие классы в библиотеке DoEasy (Часть 72): Отслеживание и фиксация параметров объектов-чартов в коллекции

Прочие классы в библиотеке DoEasy (Часть 72): Отслеживание и фиксация параметров объектов-чартов в коллекции

В статье завершим работу над классами объектов-чартов и их коллекцией. Сделаем автоматическое отслеживание изменения свойств чартов и их окон, а также сохранение новых параметров в свойства объекта. Такая доработка позволит в будущем сделать событийный функционал для всей коллекции чартов.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVII): Работа с торговыми запросами - выставление отложенных ордеров
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVII): Работа с торговыми запросами - выставление отложенных ордеров

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVII): Работа с торговыми запросами - выставление отложенных ордеров

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

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

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

Графика в библиотеке DoEasy (Часть 78): Принципы анимации в библиотеке. Нарезка изображений

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

Применение псевдошаблонов как альтернатива шаблонов С++

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

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

Специальные типы данных matrix и vector позволяют писать код, приближенный к математической записи. Это избавляет от необходимости создавать вложенные циклы и помнить о правильной индексации массивов, которые участвуют в вычислении. Таким образом повышается надежность и скорость разработки сложных программ.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VII): События срабатывания StopLimit-ордеров, подготовка функционала для событий модификации ордеров и позиций
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VII): События срабатывания StopLimit-ордеров, подготовка функционала для событий модификации ордеров и позиций

Библиотека для простого и быстрого создания программ для MetaTrader (Часть VII): События срабатывания StopLimit-ордеров, подготовка функционала для событий модификации ордеров и позиций

В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить создание программ для платформы MetaTrader 5 и MetaTrader 4. В шестой части мы научили библиотеку работать с позициями на счетах с типом "неттинг". В данной части сделаем отслеживание событий срабатывания StopLimit-ордеров и подготовим функционал для отслеживания событий модификации рыночных ордеров и позиций.
Отправка SMS из торгового советника через Skype
Отправка SMS из торгового советника через Skype

Отправка SMS из торгового советника через Skype

В статье рассматривается способ отправки внутренних сообщений и SMS из торгового советника на мобильные телефоны через Skype .
Графика в библиотеке DoEasy (Часть 75): Методы работы с примитивами и текстом в базовом графическом элементе
Графика в библиотеке DoEasy (Часть 75): Методы работы с примитивами и текстом в базовом графическом элементе

Графика в библиотеке DoEasy (Часть 75): Методы работы с примитивами и текстом в базовом графическом элементе

В статье продолжим развитие базового класса-графического элемента всех графических объектов библиотеки, создаваемых на основе класса Стандартной библиотеки CCanvas. Мы создадим методы для рисования графических примитивов и методы вывода текста на объект-графический элемент.
Графика в библиотеке DoEasy (Часть 77): Класс объекта Тень
Графика в библиотеке DoEasy (Часть 77): Класс объекта Тень

Графика в библиотеке DoEasy (Часть 77): Класс объекта Тень

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

Паттерны, доступные при торговле корзинами валют. Часть III

Это заключительная статья, посвященная паттернам, возникающим при торговле корзинами валютных пар. Рассмотрены трендовые объединенные индикаторы и применение обычных графических построений.
preview
Модель движения цены и ее основные положения (Часть 1): Простейший вариант  модели  и его  приложения

Модель движения цены и ее основные положения (Часть 1): Простейший вариант модели и его приложения

Представлены основы математически строгой теории движения цены и функционирования рынка. Строгой математической теории движения цены до настоящего момента еще не было создано, а имелся только ряд неподкрепленных ни статистикой, ни теорией предположений типа, что после таких-то паттернов цена движется так-то.
Создание интерактивного приложения для отображения RSS-каналов в MetaTrader 5
Создание интерактивного приложения для отображения RSS-каналов в MetaTrader 5

Создание интерактивного приложения для отображения RSS-каналов в MetaTrader 5

В данной статье рассматривается создание приложения, отображающего RSS-каналы. Мы также рассмотрим аспекты применения Стандартной библиотеки при создании интерактивных программ для MetaTrader 5.