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

icon

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

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

Новая статья
последние | лучшие
Интервью с Франциско Гарсиа Гарсиа (ATC 2012)
Интервью с Франциско Гарсиа Гарсиа (ATC 2012)

Интервью с Франциско Гарсиа Гарсиа (ATC 2012)

Сегодня мы берем интервью у испанца Франциско Гарсиа Гарсиа (chuliweb). Неделю назад его советник достиг 8-го места, однако досадная логическая ошибка в программировании выбросила его с первой страницы лидеров Чемпионата. Как показала статистика, такую ошибку допускают многие участники.
Социальный трейдинг. Можно ли прибыльный сигнал сделать еще лучше?
Социальный трейдинг. Можно ли прибыльный сигнал сделать еще лучше?

Социальный трейдинг. Можно ли прибыльный сигнал сделать еще лучше?

Большинство подписчиков выбирают торговый сигнал по красоте кривой баланса и по количеству подписчиков. Поэтому многие провайдеры сегодня больше заботятся о красивой статистике, чем о действительном качестве сигнала, зачастую играя объемами сделок и искусственно приводя кривую баланса в идеальный вид. В данной статье рассматриваются критерии надежности и способы, с помощью которых провайдер может улучшить качество своего сигнала. Приведен пример анализа истории конкретного сигнала и способы, которые помогли бы провайдеру сделать его более прибыльным и менее рискованным.
Интервью с Матушем Германом (ATC 2012)
Интервью с Матушем Германом (ATC 2012)

Интервью с Матушем Германом (ATC 2012)

Automated Trading Championship 2012 - уже второй Чемпионат для Матуша Германа. К концу четвертой недели его советник укрепился в TOP-10 с результатом около $30 000. Матуш родом из небольшого города Бардейов в Словакии. С интернет-трейдингом Матуш познакомился 5 лет назад, а разработкой экспертов занимается уже 3 года.
Язык MQL как средство разметки графического интерфейса MQL-программ. Часть 1
Язык MQL как средство разметки графического интерфейса MQL-программ. Часть 1

Язык MQL как средство разметки графического интерфейса MQL-программ. Часть 1

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

Мультивалютный мониторинг торговых сигналов (Часть 5): Составные сигналы

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

Сравниваем скорость самокэширующихся индикаторов

В статье проводится сравнение классического MQL5-доступа к индикаторам с альтернативными способами в стиле MQL4. Рассматриваются несколько вариантов MQL4-стиля доступа к индикаторам: с кэшированием хэндлов индикаторов и без него. Исследован учет хэндлов индикаторов внутри ядра MQL5.
Лига Чемпионов ATC: Интервью с Борисом Одинцовым (ATC 2011)
Лига Чемпионов ATC: Интервью с Борисом Одинцовым (ATC 2011)

Лига Чемпионов ATC: Интервью с Борисом Одинцовым (ATC 2011)

Интервью с Борисом Одинцовым (bobsley) - последнее в рамках проекта "Лига Чемпионов ATC". Борис стал победителем Automated Trading Championship 2010 - первого Чемпионата с участием экспертов на новом языке MQL5. Тогда его советник в упорной борьбе сумел взобраться на самую вершину турнирной таблицы, заработав $77 000. В этом году Борис участвует с тем же советником, слегка изменив его настройки. Возможно, этот советник еще сможет повторить свой успех.
Веб-проекты (Часть I): Создание веб-приложения в схеме Laravel/Nuxt/MetaTrader 5
Веб-проекты (Часть I): Создание веб-приложения в схеме Laravel/Nuxt/MetaTrader 5

Веб-проекты (Часть I): Создание веб-приложения в схеме Laravel/Nuxt/MetaTrader 5

Разработчики MetaTrader 5 предоставили MQL-сообществу множество технологических решений, что даёт возможность реализовывать сложные программные комплексы, схемы которых могут выходить даже за рамки «песочницы» локального компьютера.
preview
Популяционные алгоритмы оптимизации: Рой частиц (PSO)

Популяционные алгоритмы оптимизации: Рой частиц (PSO)

В данной статье рассмотрим популярный алгоритм "Рой Частиц" (PSO — particle swarm optimisation). Ранее мы обсудили такие важные характеристики алгоритмов оптимизации как сходимость, скорость сходимости, устойчивость, масштабируемость, разработали стенд для тестирования, рассмотрели простейший алгоритм на ГСЧ.
Графика в библиотеке DoEasy (Часть 80): Класс объекта "Кадр геометрической анимации"
Графика в библиотеке DoEasy (Часть 80): Класс объекта "Кадр геометрической анимации"

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

В статье оптимизируем код классов из предыдущих статей и создадим класс объекта кадра геометрической анимации, позволяющего рисовать правильные многоугольники с заданным количеством вершин.
Интервью с Виталием Антоновым (ATC 2011)
Интервью с Виталием Антоновым (ATC 2011)

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

Только летом этого года Виталий Антонов (beast) узнал о предстоящем Чемпионате по автоматической торговле и тогда же впервые познакомился с терминалом MetaTrader 5. Времени было в обрез, к тому же Виталий был новичком, и поэтому он случайным образом выбрал для разработки торговой системы валютную пару GBPUSD. И как оказалось, удачно выбрал - другие инструменты вписать в разработанную стратегию уже не получилось.
Интервью с Гэ Сэньлинем (ATC 2011)
Интервью с Гэ Сэньлинем (ATC 2011)

Интервью с Гэ Сэньлинем (ATC 2011)

Советник Гэ Сэньлиня (yyy999) из Китая появился в первой десятке турнирной таблицы Automated Trading Championship 2011 в конце октября и с тех пор не покидал ее. Не часто участники из Поднебесной добиваются успехов на Чемпионате, ведь торговля на Форексе запрещена в этой стране. После неудачного выступления в прошлом году, Гэ Сэньлинь подготовил новый мультивалютный советник, который не закрывает убыточные позиции и использует наращивание позиции для выхода из минуса. Что ж, посмотрим, сможет ли этот эксперт подняться еще выше с такой рискованной стратегией.
Работа с таймсериями в библиотеке DoEasy (Часть 35): Объект "Бар" и список-таймсерия символа
Работа с таймсериями в библиотеке DoEasy (Часть 35): Объект "Бар" и список-таймсерия символа

Работа с таймсериями в библиотеке DoEasy (Часть 35): Объект "Бар" и список-таймсерия символа

С этой статьи мы открываем новую серию описания создания библиотеки "DoEasy" для простого и быстрого создания программ. Сегодня начнём подготавливать функционал библиотеки для доступа и работе с данными таймсерий символов. Создадим объект "Бар", хранящий основные и расширенные данные бара таймсерии, и разместим объекты-бары в список-таймсерию для удобного поиска и сортировки этих объектов.
Битва за скорость: QLUA vs MQL5 - почему MQL5 быстрее от 50 до 600 раз?
Битва за скорость: QLUA vs MQL5 - почему MQL5 быстрее от 50 до 600 раз?

Битва за скорость: QLUA vs MQL5 - почему MQL5 быстрее от 50 до 600 раз?

Для сравнения языков MQL5 и QLUA мы написали несколько тестов, которые замеряют скорость выполнения базовых операций. В тестах использовался компьютер с Windows 7 Professional 64 bit , MetaTrader 5 build 1340 и QUIK версии 7.2.0.45.
Комбинаторика и теория вероятностей для трейдинга (Часть III): Первая математическая модель
Комбинаторика и теория вероятностей для трейдинга (Часть III): Первая математическая модель

Комбинаторика и теория вероятностей для трейдинга (Часть III): Первая математическая модель

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

Интервью с Ильнуром Хасановым (aharata) (ATC 2011)

Эксперт Ильнура Хасанова (aharata) с третьей недели Чемпионата находится в первой десятке участников Automated Trading Championship 2011, хотя знакомство с форексом состоялось только год назад. Сама идея советника простая, но он содержит элементы самооптимизации, может в этом и кроются секреты его выживаемости? А ведь на Чемпионат был выставлен совсем не тот вариант, который планировался изначально...
Интервью с Ацуси Яманака (ATC 2011)
Интервью с Ацуси Яманака (ATC 2011)

Интервью с Ацуси Яманака (ATC 2011)

Что общего между скайдайвингом, фьючерсами, Гавайями, переводами и шпионами? Мы тоже не знали, пока не пообщались с дисквалифицированным участником Ацуси Яманака (alohafx). Его кредо - "Life is Good! - Жизнь прекрасна!", и с этим трудно не согласиться. Было интересно узнать, что расстояние между разными континентами - не помеха в общении участников нашего Чемпионата.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXX): Отложенные торговые запросы - управление объектами-запросами
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXX): Отложенные торговые запросы - управление объектами-запросами

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

В прошлой статье создали классы объектов отложенных запросов, соответствующие общей концепции объектов библиотеки. Сегодня займёмся классом, позволяющем управлять объектами отложенных запросов.
preview
Параллельная оптимизация методом роя частиц (Particle Swarm Optimization)

Параллельная оптимизация методом роя частиц (Particle Swarm Optimization)

В статье описан способ быстрой оптимизиции методом роя частиц, представлена его реализация на MQL, готовая к применению как в однопоточном режиме внутри эксперта, так и в параллельном многопоточном режиме в качестве надстройки, выполняющейся на локальных агентах тестера.
preview
Как прокачаться в машинном обучении (Machine Learning)

Как прокачаться в машинном обучении (Machine Learning)

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

MQL4 как инструмент трейдера, или Advanced Technical Analysis

Торговля на рынке - это в первую очередь расчет вероятностей. А поговорка «лень – двигатель прогресса» раскрывает все краски расцвета технических индикаторов и торговых систем. И получается, что большой процент начинающих трейдеров изучают уже готовые теории торговли. Но, к сожалению или к счастью, не все законы движения рынка ещё открыты, а инструменты для анализа ценовых движений в основном существуют в виде тех самых реализованных технических индикаторов, математических и статистических пакетов. Огромное спасибо Билу Вильямсу, за его вклад в теорию движения рынков. Но, наверное, не следует останавливаться на достигнутом.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXIX): Отложенные торговые запросы - классы объектов-запросов
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXIX): Отложенные торговые запросы - классы объектов-запросов

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

В прошлых статьях проверили концепцию отложенных торговых запросов. Отложенный запрос — это по сути обычный торговый приказ, но исполняемый по некоему условию. Сегодня создадим полноценные классы объектов-отложенных запросов — базовый объект-запрос и его наследников.
Тестирование паттернов, возникающих при торговле корзинами валютных пар. Часть I
Тестирование паттернов, возникающих при торговле корзинами валютных пар. Часть I

Тестирование паттернов, возникающих при торговле корзинами валютных пар. Часть I

Начинаем тестирование паттернов и проверку методик, описанных в статьях, посвященных торговле корзинами валютных пар. Рассмотрим на практике, как применяются паттерны пробития уровней перекупленности/перепроданности.
Графика в библиотеке DoEasy (Часть 73): Объект-форма графического элемента
Графика в библиотеке DoEasy (Часть 73): Объект-форма графического элемента

Графика в библиотеке DoEasy (Часть 73): Объект-форма графического элемента

В статье начинаем новый большой раздел библиотеки по работе с графикой. Сегодня создадим объект состояний мышки, базовый объект всех графических элементов и класс объекта-формы графических элементов библиотеки.
Разработка торговой системы на основе индикатора ADX
Разработка торговой системы на основе индикатора ADX

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

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

Интервью с Андреа Дзани (ATC 2011)

На предпоследней неделе участник чемпионата Андреа Дзани (sbraer) вплотную подобрался к пятерке лидеров чемпионата. Он занимает 6-е место с результатом около 47 000 USD. За все время чемпионата советник Андреа "AZXY" совершил только одну убыточную сделку в самом начале. С тех пор его кривая эквити неуклонно растет.
Трейдинг под Linux
Трейдинг под Linux

Трейдинг под Linux

Использование программ-индикаторов для оперативного отслеживания ситуации на мировых финансовых биржах.
Графические интерфейсы VIII: Элемент "Древовидный список" (Глава 2)
Графические интерфейсы VIII: Элемент "Древовидный список" (Глава 2)

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

В предыдущей главе восьмой части серии о графических интерфейсах рассматривались элементы «Статический календарь» и «Выпадающий календарь». Вторую главу посвятим не менее сложному составному элементу, такому как «Древовидный список», без которого не обходится ни одна полноценная библиотека для создания графических интерфейсов. Представленная в этой статье реализация древовидного списка содержит в себе множество гибких настроек и режимов, что позволит максимально точно настроить этот элемент управления под свои нужды.
Интервью с Сергеем Никитиным (ATC 2011)
Интервью с Сергеем Никитиным (ATC 2011)

Интервью с Сергеем Никитиным (ATC 2011)

На второй неделе соревнований всех участников с большим отрывом обошел эксперт Сергея Никитина (VNIK), который торгует на двух валютных парах EURUSD и EURJPY. Мультивалютные эксперты всегда привлекают внимание на Чемпионате, и тем более те, которые показывают хорошие результаты. Мы поговорили с Сергеем о роли случая в жизни трейдера и его пути в трейдинг.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VI): События на счёте с типом неттинг
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VI): События на счёте с типом неттинг

Библиотека для простого и быстрого создания программ для MetaTrader (Часть VI): События на счёте с типом неттинг

В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написания программ для платформы MetaTrader 5 и MetaTrader 4. В пятой части мы создали классы торговых событий и коллекцию событий, откуда события отправляются в базовый объект библиотеки Engine и на график управляющей программы. В данной части повествования добавим возможность работы библиотеки на счетах с типом неттинг.
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 7)
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 7)

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

В этой статье автор приводит пример эксперта, который бы удовлетворял требованиям Automated Trading Championship 2008
Разработка торговой системы на основе Стохастика
Разработка торговой системы на основе Стохастика

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

Это очередная статья из обучающей серии, в которой мы знакомимся с различными индикаторами. В этот раз мы обратимся к другому популярному индикатору — Stochastic Oscillator. Изучим его, рассмотрим стратегии на его основе и создадим торговую систему.
preview
Моральное ожидание в трейдинге

Моральное ожидание в трейдинге

Эта статья посвящена моральному ожиданию. Мы рассмотрим несколько примеров его применения в трейдинге, и каких результатов можно добиться с его помощью.
Веб-проекты (Часть III): Система авторизации Laravel/MetaTrader 5
Веб-проекты (Часть III): Система авторизации Laravel/MetaTrader 5

Веб-проекты (Часть III): Система авторизации Laravel/MetaTrader 5

В этот раз создадим систему авторизации в торговом терминале MetaTrader 5 на чистом MQL5. Пользователи приложения смогут зарегистрироваться в системе, предоставив свои учётные данные, чтобы впоследствии можно было авторизоваться и получить доступ, к каким-нибудь данным, которые хранятся в серверной части приложения.
Разработка и реализация новых виджетов на основе класса CChartObject
Разработка и реализация новых виджетов на основе класса CChartObject

Разработка и реализация новых виджетов на основе класса CChartObject

После написания статьи про полуавтоматический советник с графическим интерфейсом пользователя у меня возникла необходимость расширения интерфейса новым функционалом для более сложных индикаторов и экспертов. Ознакомившись с классами Стандартной библиотеки, я сделал новые виджеты. В этой статье описан процесс создания и использования новых элементов пользовательского интерфейса, созданных на базе класса CChartObjectEdit.
Интервью с Игорем Корепиным (ATC 2011)
Интервью с Игорем Корепиным (ATC 2011)

Интервью с Игорем Корепиным (ATC 2011)

Советник Игоря Корепина (Xupypr) стремительно взлетел на самую вершину Чемпионата Automated Trading Championship 2011 на четвертой неделе - на его счету было почти вдвое больше, чем у ближайшего преследователя. Однако несмотря на такой внушительный отрыв, советник не смог надолго задержаться на первой строчке. Игорь не скрывает, что при отправке советника на Чемпионат он делал ставку на его удачный старт. Что ж, посмотрим, поможет ли ему удача снова возглавить таблицу участников.
Визуализация тестирования. История сделок.
Визуализация тестирования. История сделок.

Визуализация тестирования. История сделок.

В клиентском терминале MetaTrader 4 появилась функция визуализации тестирования. Она позволяет контролировать процесс тестирования экспертов на качественно новом уровне. Теперь трейдер-программист может наблюдать за каждым действием своего эксперта, проверяя его работу на истории!
preview
Как построить советник, работающий автоматически (Часть 02): Начинаем писать код

Как построить советник, работающий автоматически (Часть 02): Начинаем писать код

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

Машинное обучение и Data Science (Часть 01): Линейная регрессия

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

Уроки по DirectX (Часть I): Рисуем первый треугольник

Это вводная статья по DirectX, которая описывает особенности работы с API. Помогает разобраться с порядком инициализации его компонентов. Приводит пример написания скрипта на MQL, выводящего треугольник с помощью DirectX.