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

icon

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

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

Новая статья
последние | лучшие
preview
Моральное ожидание в трейдинге

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

Эта статья посвящена моральному ожиданию. Мы рассмотрим несколько примеров его применения в трейдинге, и каких результатов можно добиться с его помощью.
Тестирование паттернов, возникающих при торговле корзинами валютных пар. Часть I
Тестирование паттернов, возникающих при торговле корзинами валютных пар. Часть I

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Библиотека для простого и быстрого создания программ для MetaTrader (Часть III): Коллекция рыночных ордеров и позиций, поиск и фильтрация

В первой статье мы начали создавать большую кроссплатформенную библиотеку для легкого создания программ на платформах MetaTrader 5 и MetaTrader 4. Далее продолжили развитие библиотеки и сделали коллекцию исторических ордеров и сделок. Теперь создадим класс для удобного выбора и фильтрации ордеров, сделок и позиций в списках коллекций, а именно создадим базовый объект библиотеки — Engine, и добавим в библиотеку коллекцию рыночных ордеров и позиций.
preview
Машинное обучение и Data Science (Часть 8): Кластеризация методом k-средних в MQL5

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

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

Кто есть кто в MQL5.community?

Сайт MQL5.com хорошо помнит каждого из вас! Сколько ваших тредов стали эпичными, насколько популярными оказались ваши статьи и как часто скачивались ваши программы из Code Base – это лишь небольшая часть того, что помнит о вас MQL5.com. Достижения каждого из вас доступны в профиле, но как выглядит картина в целом? В этой статье мы построим общую картину достижений всех участников MQL5.community.
preview
Сезонность на рынке форекс и возможности ее использования

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

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

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

Несмотря на то что студент Тим Фасс (Tim) из Германии в первый раз участвует в Чемпионате Automated Trading Championship, его советник The_Wild_13 сумел побывать на самой вершине турнирной таблицы и никому не собирается уступать свое место в первой десятке. Тим рассказал нам об участвующем эксперте, о вере в успех простых стратегий и о своей мечте.
Применение OLAP в трейдинге (Часть 3): анализ котировок в целях выработки торговых стратегий
Применение OLAP в трейдинге (Часть 3): анализ котировок в целях выработки торговых стратегий

Применение OLAP в трейдинге (Часть 3): анализ котировок в целях выработки торговых стратегий

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

Утилита для отбора и навигации на MQL5 и MQL4: повышаем информативность графиков

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

Мультивалютный мониторинг торговых сигналов (Часть 2): Реализация визуальной части приложения

В предыдущей статье был создан каркас приложения, на основе которого и будет строиться вся дальнейшая работа. Теперь последовательно приступим к его разработке - создадим визуальную часть приложения и настроим базовые взаимодействия элементов интерфейса.
Графические интерфейсы X: Обновления для нарисованной таблицы и оптимизация кода (build 10)
Графические интерфейсы X: Обновления для нарисованной таблицы и оптимизация кода (build 10)

Графические интерфейсы X: Обновления для нарисованной таблицы и оптимизация кода (build 10)

Продолжаем дополнять нарисованную таблицу (CCanvasTable) новыми возможностями. Теперь в таблице появятся: подсветка строк при наведении курсора мыши; возможность добавлять массив картинок для каждой ячейки и метод для их переключения; возможность задать или изменить текст в ячейках во время выполнения программы и многое другое.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XI). Совместимость с MQL4 - События закрытия позиций
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XI). Совместимость с MQL4 - События закрытия позиций

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XI). Совместимость с MQL4 - События закрытия позиций

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

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

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

Нейросети — это просто (Часть 26): Обучение с подкреплением

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

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

Украинский программист Андрей Морару (enivid) — активный участник Automated Trading Championship с 2007 года. В то время Андрей уже попадал в поле нашего зрения, и сейчас мы решили узнать, изменилось ли его отношение к торговле и выбору торговых стратегий за прошедшие четыре года и что представляет собой его новый торговый советник.
Лига Чемпионов ATC: Интервью с Романом Заможным (ATC 2011)
Лига Чемпионов ATC: Интервью с Романом Заможным (ATC 2011)

Лига Чемпионов ATC: Интервью с Романом Заможным (ATC 2011)

Это первое интервью в рамках проекта "Лига Чемпионов ATC". Роман Заможный (Rich) из Украины стал первым победителем в истории Чемпионатов по автоматическому трейдингу Automated Trading Championship в 2006 году. Кроме того, он является постоянным участником наших Чемпионатов, не пропустив ни одного соревнования. В этом интервью мы вспомнили с Романом его победу и попытались выяснить, что же нужно для успешного участия.
Интервью с Матушем Германом (ATC 2011)
Интервью с Матушем Германом (ATC 2011)

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

Уже на второй день Чемпионата советник Матуша Германа (gery18) увеличил свой капитал в два с половиной раза и занял лидирующую позицию, оставив позади всех конкурентов. Сам Матуш сомневается в итоговом успехе своего советника, а неожиданный взлет объясняет удачей и высокой степенью риска.
preview
Разработка торговой системы на основе индикатора Fibonacci

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

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

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

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

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

Статья об использовании класса CCanvas в MQL приложениях с подробным разбором и примерами, что даёт пользователю понимание основ работы с данным инструментом
Графические интерфейсы VII: Элементы "Вкладки" (Глава 2)
Графические интерфейсы VII: Элементы "Вкладки" (Глава 2)

Графические интерфейсы VII: Элементы "Вкладки" (Глава 2)

В первой главе седьмой части были представлены три класса элементов управления для создания таблиц: таблица из текстовых меток (CLabelsTable), таблица из полей ввода (CTable) и нарисованная таблица (CCanvasTable). В этой статье (второй главе) рассмотрим такой элемент интерфейса, как «Вкладки».
График PairPlot на основе CGraphic для анализа зависимостей между массивами данных (таймсериями)
График PairPlot на основе CGraphic для анализа зависимостей между массивами данных (таймсериями)

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

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

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

В первой статье мы начали создавать большую кроссплатформенную библиотеку, целью которой является облегчение создания программ для платформ MetaTrader 5 и MetaTrader 4. Создали абстрактный объект COrder, который является базовым объектом для хранения данных исторических ордеров и сделок, а также рыночных ордеров и позиций. Теперь мы создадим все необходимые объекты для хранения данных истории счёта в коллекциях.
Технический индикатор своими руками
Технический индикатор своими руками

Технический индикатор своими руками

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

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

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

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

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

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

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

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

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