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

icon

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

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

Новая статья
последние | лучшие
Лень - двигатель прогресса. Полуавтоматическая разметка шаблона
Лень - двигатель прогресса. Полуавтоматическая разметка шаблона

Лень - двигатель прогресса. Полуавтоматическая разметка шаблона

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

Непрерывная скользящая оптимизация (Часть 3): Способ адаптации робота к автооптимизатору

Третья статья служит неким мостом между двумя предыдущими, в ней освещается механизм взаимодействия с DLL, написанной в первой статье, и объектами для выгрузки из второй статьи. Показывается процесс создания обертки для класса, который импортируется из DLL и формирует XML-файл с историей торгов, а также способ взаимодействии с данной оберткой.
Графика в библиотеке DoEasy (Часть 81): Интегрируем графику в объекты библиотеки
Графика в библиотеке DoEasy (Часть 81): Интегрируем графику в объекты библиотеки

Графика в библиотеке DoEasy (Часть 81): Интегрируем графику в объекты библиотеки

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

Непрерывная скользящая оптимизация (Часть 7): Стыковка логической части автооптимизатора с графикой и управление графикой из программы

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

Торговые стратегии

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

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

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

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

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

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

Сегодня мы берем интервью у испанца Франциско Гарсиа Гарсиа (chuliweb). Неделю назад его советник достиг 8-го места, однако досадная логическая ошибка в программировании выбросила его с первой страницы лидеров Чемпионата. Как показала статистика, такую ошибку допускают многие участники.
Битва за скорость: 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.
Интервью с Матушем Германом (ATC 2012)
Интервью с Матушем Германом (ATC 2012)

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

Automated Trading Championship 2012 - уже второй Чемпионат для Матуша Германа. К концу четвертой недели его советник укрепился в TOP-10 с результатом около $30 000. Матуш родом из небольшого города Бардейов в Словакии. С интернет-трейдингом Матуш познакомился 5 лет назад, а разработкой экспертов занимается уже 3 года.
preview
Параллельная оптимизация методом роя частиц (Particle Swarm Optimization)

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

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

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

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

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

В статье проводится сравнение классического MQL5-доступа к индикаторам с альтернативными способами в стиле MQL4. Рассматриваются несколько вариантов MQL4-стиля доступа к индикаторам: с кэшированием хэндлов индикаторов и без него. Исследован учет хэндлов индикаторов внутри ядра MQL5.
preview
Еще раз о системе Мюррея

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

Системы графического анализа цен заслуженно популярны у трейдеров. В данной статье я рассказываю о полной системе Мюррея, включающей не только его знаменитые уровни, но и некоторые другие полезные техники оценки текущего положения цены и принятия решения о сделке.
Лига Чемпионов ATC: Интервью с Борисом Одинцовым (ATC 2011)
Лига Чемпионов ATC: Интервью с Борисом Одинцовым (ATC 2011)

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

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

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

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

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

Эта статья посвящена моральному ожиданию. Мы рассмотрим несколько примеров его применения в трейдинге, и каких результатов можно добиться с его помощью.
Работа с таймсериями в библиотеке DoEasy (Часть 35): Объект "Бар" и список-таймсерия символа
Работа с таймсериями в библиотеке DoEasy (Часть 35): Объект "Бар" и список-таймсерия символа

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

С этой статьи мы открываем новую серию описания создания библиотеки "DoEasy" для простого и быстрого создания программ. Сегодня начнём подготавливать функционал библиотеки для доступа и работе с данными таймсерий символов. Создадим объект "Бар", хранящий основные и расширенные данные бара таймсерии, и разместим объекты-бары в список-таймсерию для удобного поиска и сортировки этих объектов.
Графика в библиотеке 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 в конце октября и с тех пор не покидал ее. Не часто участники из Поднебесной добиваются успехов на Чемпионате, ведь торговля на Форексе запрещена в этой стране. После неудачного выступления в прошлом году, Гэ Сэньлинь подготовил новый мультивалютный советник, который не закрывает убыточные позиции и использует наращивание позиции для выхода из минуса. Что ж, посмотрим, сможет ли этот эксперт подняться еще выше с такой рискованной стратегией.
Разработка торговой системы на основе Стохастика
Разработка торговой системы на основе Стохастика

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

Это очередная статья из обучающей серии, в которой мы знакомимся с различными индикаторами. В этот раз мы обратимся к другому популярному индикатору — Stochastic Oscillator. Изучим его, рассмотрим стратегии на его основе и создадим торговую систему.
preview
Пользовательские индикаторы (Часть 1): Пошаговое руководство по разработке простых индикаторов на MQL5

Пользовательские индикаторы (Часть 1): Пошаговое руководство по разработке простых индикаторов на MQL5

В этой статье рассказывается о том, как писать пользовательские индикаторы на языке MQL5. Это вводная часть, в которой вы познакомитесь с основами создания простых пользовательских индикаторов. В ней продемонстрирован практический подход к программированию различных пользовательских индикаторов. Материал предназначен для тех, кто еще в начал пути по изучению программирования на MQL5.
Комбинаторика и теория вероятностей для трейдинга (Часть III): Первая математическая модель
Комбинаторика и теория вероятностей для трейдинга (Часть III): Первая математическая модель

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

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

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

Пришло время нам, трейдерам, обучить наши системы и научиться самим принимать решения, основываясь на том, что показывают цифры. Не визуальным и не интуитивным путем, которым движется весь мир. Мы пойдем перпендикулярно общему направлению.
Графические интерфейсы VIII: Элемент "Древовидный список" (Глава 2)
Графические интерфейсы VIII: Элемент "Древовидный список" (Глава 2)

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

В предыдущей главе восьмой части серии о графических интерфейсах рассматривались элементы «Статический календарь» и «Выпадающий календарь». Вторую главу посвятим не менее сложному составному элементу, такому как «Древовидный список», без которого не обходится ни одна полноценная библиотека для создания графических интерфейсов. Представленная в этой статье реализация древовидного списка содержит в себе множество гибких настроек и режимов, что позволит максимально точно настроить этот элемент управления под свои нужды.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXX): Отложенные торговые запросы - управление объектами-запросами
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXX): Отложенные торговые запросы - управление объектами-запросами

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

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

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

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

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

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

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

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

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

В этот раз создадим систему авторизации в торговом терминале MetaTrader 5 на чистом MQL5. Пользователи приложения смогут зарегистрироваться в системе, предоставив свои учётные данные, чтобы впоследствии можно было авторизоваться и получить доступ, к каким-нибудь данным, которые хранятся в серверной части приложения.
Интервью с Ацуси Яманака (ATC 2011)
Интервью с Ацуси Яманака (ATC 2011)

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

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

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

В прошлых статьях проверили концепцию отложенных торговых запросов. Отложенный запрос — это по сути обычный торговый приказ, но исполняемый по некоему условию. Сегодня создадим полноценные классы объектов-отложенных запросов — базовый объект-запрос и его наследников.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VI): События на счёте с типом неттинг
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VI): События на счёте с типом неттинг

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

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

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

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

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

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

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

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

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

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

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

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

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

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