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

icon

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

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

Новая статья
последние | лучшие
Конструктор трейдера: Украшение индикаторов
Конструктор трейдера: Украшение индикаторов

Конструктор трейдера: Украшение индикаторов

Основные задачи при раскрашивании индикаторов, их решение и автоматизация.
preview
Брутфорс-подход к поиску закономерностей (Часть IV): Минимальная функциональность

Брутфорс-подход к поиску закономерностей (Часть IV): Минимальная функциональность

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

Лига Чемпионов ATC: Интервью с Александром Топчило (ATC 2011)

Вторым в рамках проекта "Лига Чемпионов ATC" мы публикуем интервью с Александром Топчило (Better). Победив в Automated Trading Championship 2007, этот профессиональный трейдер привлек внимание инвесторов. По признанию Александра, эта победа стала одним из знаменательных событий его трейдерской карьере. Однако впоследствии обретенная слава открыла и наибольшее разочарование - так легко потерять инвесторов после первых же просадок на счете.
preview
Использование класса CCanvas в MQL приложениях

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

Статья об использовании класса CCanvas в MQL приложениях с подробным разбором и примерами, что даёт пользователю понимание основ работы с данным инструментом
Интервью с Валерием Мазуренко (ATC 2011)
Интервью с Валерием Мазуренко (ATC 2011)

Интервью с Валерием Мазуренко (ATC 2011)

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

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

Пришло время нам, трейдерам, обучить наши системы и научиться самим принимать решения, основываясь на том, что показывают цифры. Не визуальным и не интуитивным путем, которым движется весь мир. Мы пойдем перпендикулярно общему направлению.
Интервью с Ли Фаном (ATC 2011)
Интервью с Ли Фаном (ATC 2011)

Интервью с Ли Фаном (ATC 2011)

На седьмой неделе Чемпионата советник Ли Фана (lf8749) установил рекорд - за 10 трейдов он заработал более $100 000. Именно эта удачная серия сделок обеспечила экспертописателю двухнедельное пребывание на первой строчке рейтинга. Каким образом удалось совершить такой подвиг, мы решили выяснить у самого Ли Фана.
Итоги MetaTrader AppStore за 3 квартал 2013 года
Итоги MetaTrader AppStore за 3 квартал 2013 года

Итоги MetaTrader AppStore за 3 квартал 2013 года

Подошел к концу очередной квартал этого года, и мы решили подвести его итоги для MetaTrader AppStore - магазина торговых роботов и технических индикаторов для платформ MetaTrader. Всего к концу отчетного квартала более 500 разработчиков разместили в Маркете свыше 1 200 продуктов для MetaTrader 4 и MetaTrader 5.
Работа с таймсериями в библиотеке DoEasy (Часть 37): Коллекция таймсерий - база данных таймсерий по символам и периодам
Работа с таймсериями в библиотеке DoEasy (Часть 37): Коллекция таймсерий - база данных таймсерий по символам и периодам

Работа с таймсериями в библиотеке DoEasy (Часть 37): Коллекция таймсерий - база данных таймсерий по символам и периодам

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

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

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

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

В этом небольшом видеокурсе вы узнаете, как скачать, установить и настроить MetaTrader 5 для автоматизированной торговли. Вы также узнаете, как настроить график и параметры автоматизированной торговли. Вы проведете свое первое тестирование на истории и узнаете, как импортировать советника, который может самостоятельно торговать 24 часа в сутки 7 дней в неделю, избавляя вас от необходимости сидеть перед экраном.
Применение OLAP в трейдинге (Часть 4): Количественный и визуальный анализ отчетов тестера
Применение OLAP в трейдинге (Часть 4): Количественный и визуальный анализ отчетов тестера

Применение OLAP в трейдинге (Часть 4): Количественный и визуальный анализ отчетов тестера

Статья предлагает базовый инструментарий для OLAP-анализа отчетов тестера об одиночных проходах и результатах оптимизации в виде файлов стандартных форматов (tst и opt), а также интерактивный графический интерфейс к нему. Исходные коды MQL прилагаются.
preview
Параллельная оптимизация методом роя частиц (Particle Swarm Optimization)

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

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

Машинное обучение и Data Science (Часть 8): Кластеризация методом k-средних в MQL5

Для всех, кто работает с данными, включая трейдеров, data mining может открыть совершенно новые возможности, ведь зачастую данные не такие простые, какими кажутся. Человеческому глазу сложно увидеть глубинные закономерности и отношения в наборе данных. Одно из решений — алгоритм К-средних. Давайте посмотрим, полезен ли он.
Интервью с Александром Арашкевичем (ATC 2011)
Интервью с Александром Арашкевичем (ATC 2011)

Интервью с Александром Арашкевичем (ATC 2011)

Наконец улеглись страсти, мы можем перевести дух и начинать переосмысливать еще раз его результаты. И у нас есть еще один победитель Александр Арашкевич (AAA777) из Белоруссии, который получил специальный приз от Главного спонсора Automated Trading Championship 2011 - бесплатную поездку на соревнование Формулы-1 в 2012 году. Мы не могли упустить такой возможности пообщаться с ним.
Объектный подход в MQL
Объектный подход в MQL

Объектный подход в MQL

Этот второй обзор будет интересен скорее всего программистам как начинающим так и профессионалам, работающим в среде MQL. Очень хотелось бы чтобы эта статья попала также к разработчикам и идеологам среды MQL, так как вопросы, которые здесь поднимаются, могут являться проектами для будущих реализаций как MetaTrader, так и MQL.
Интервью с Александром Прищенко (ATC 2012)
Интервью с Александром Прищенко (ATC 2012)

Интервью с Александром Прищенко (ATC 2012)

Что может быть сложнее мультивалютного торгового робота? Наверняка, это автоматизированная стратегия на основе волновой теории Эллиотта. А что будет сложнее такой торговой стратегии? Определенно, мультивалютник, торгующий по Эллиотту на каждой валютной паре! Александр Прищенко (Crucian) считает, что освоить правила может даже неподкованный читатель.
Лень - двигатель прогресса. Полуавтоматическая разметка шаблона
Лень - двигатель прогресса. Полуавтоматическая разметка шаблона

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

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

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

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

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

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

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

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

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

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

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

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

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

Сегодня мы берем интервью у испанца Франциско Гарсиа Гарсиа (chuliweb). Неделю назад его советник достиг 8-го места, однако досадная логическая ошибка в программировании выбросила его с первой страницы лидеров Чемпионата. Как показала статистика, такую ошибку допускают многие участники.
Графика в библиотеке DoEasy (Часть 81): Интегрируем графику в объекты библиотеки
Графика в библиотеке DoEasy (Часть 81): Интегрируем графику в объекты библиотеки

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

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

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

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

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

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

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

В пятой части разработки приложения мониторинга торговых сигналов введем в систему понятие составного сигнала и реализуем необходимый для этого функционал. Ранее в приложении использовались простые сигналы, такие как RSI, WPR, CCI, а также введенная возможность использования собственного индикатора.
Работа с таймсериями в библиотеке DoEasy (Часть 35): Объект "Бар" и список-таймсерия символа
Работа с таймсериями в библиотеке DoEasy (Часть 35): Объект "Бар" и список-таймсерия символа

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

С этой статьи мы открываем новую серию описания создания библиотеки "DoEasy" для простого и быстрого создания программ. Сегодня начнём подготавливать функционал библиотеки для доступа и работе с данными таймсерий символов. Создадим объект "Бар", хранящий основные и расширенные данные бара таймсерии, и разместим объекты-бары в список-таймсерию для удобного поиска и сортировки этих объектов.
Графические интерфейсы VIII: Элемент "Древовидный список" (Глава 2)
Графические интерфейсы VIII: Элемент "Древовидный список" (Глава 2)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это продолжение серии статей, в которых мы учимся строить торговые системы с использованием самых популярных индикаторов. В этой статье мы будем изучать индикатор Parabolic SAR. Также мы разработаем торговую систему для работы в платформе MetaTrader 5, используя несколько простых стратегий.
Графика в библиотеке DoEasy (Часть 80): Класс объекта "Кадр геометрической анимации"
Графика в библиотеке DoEasy (Часть 80): Класс объекта "Кадр геометрической анимации"

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

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

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

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

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

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