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

icon

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

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

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

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

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

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

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

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

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

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

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

Эксперименты с нейросетями (Часть 5): Нормализация входных параметров для передачи в нейросеть

Нейросети наше все. Проверяем на практике, так ли это. MetaTrader 5 как самодостаточное средство для использования нейросетей в трейдинге. Простое объяснение.
Интервью с Андреа Дзани (ATC 2011)
Интервью с Андреа Дзани (ATC 2011)

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

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

Алан Эндрюс и его приемы анализа временных рядов

Алан Эндрюс — один из известнейших "просветителей" современного мира в области трейдинга. Его "вилы" включены практически во все современные программы анализа котировок. Но большинство трейдеров не используют и пятой части тех возможностей, что заложены в этом инструменте. А оригинальный курс Эндрюса включает описание не только вил (хотя они всё же главные), но и некоторых других полезных прямых. Эта статья даёт представление о тех изумительных техниках анализа графиков, которым учил Эндрюс в своем оригинальном курсе. Осторожно, много картинок.
Тестирование паттернов, возникающих при торговле корзинами валютных пар. Часть I
Тестирование паттернов, возникающих при торговле корзинами валютных пар. Часть I

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

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

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

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

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

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

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

Использование программ-индикаторов для оперативного отслеживания ситуации на мировых финансовых биржах.
Интервью с Сергеем Никитиным (ATC 2011)
Интервью с Сергеем Никитиным (ATC 2011)

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

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

Биржевая сеточная торговля экспертом со стоповыми отложенными ордерами на Московской бирже (MOEX)

Использование сеточного торгового подхода на стоповых отложенных ордерах в эксперте на языке торговых стратегий MQL5 для MetaTrader 5 на Московской бирже (MOEX). При торговле на рынке одной из наиболее простых стратегий является сетка из ордеров, предназначенная для «поимки» рыночной цены.
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 7)
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 7)

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

В этой статье автор приводит пример эксперта, который бы удовлетворял требованиям Automated Trading Championship 2008
Интервью с Игорем Корепиным (ATC 2011)
Интервью с Игорем Корепиным (ATC 2011)

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

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

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

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

Методы Уильяма Ганна (Часть I): Создаем индикатор углов Ганна

В чем суть теории Ганна? Как строятся углы Ганна? Создаем индикатор углов Ганна для MetaTrader 5.
Визуализация тестирования. История сделок.
Визуализация тестирования. История сделок.

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

В клиентском терминале MetaTrader 4 появилась функция визуализации тестирования. Она позволяет контролировать процесс тестирования экспертов на качественно новом уровне. Теперь трейдер-программист может наблюдать за каждым действием своего эксперта, проверяя его работу на истории!
Графические интерфейсы VIII: Элемент "Древовидный список" (Глава 2)
Графические интерфейсы VIII: Элемент "Древовидный список" (Глава 2)

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

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

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

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

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

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

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

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

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

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

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

В первой статье мы начали создавать большую кроссплатформенную библиотеку для легкого создания программ на платформах MetaTrader 5 и MetaTrader 4. Далее продолжили развитие библиотеки и сделали коллекцию исторических ордеров и сделок. Теперь создадим класс для удобного выбора и фильтрации ордеров, сделок и позиций в списках коллекций, а именно создадим базовый объект библиотеки — Engine, и добавим в библиотеку коллекцию рыночных ордеров и позиций.
Кто есть кто в MQL5.community?
Кто есть кто в MQL5.community?

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

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

Визуальное тестирование прибыльности индикаторов и сигналов

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

Стать хорошим программистом (Часть 4): повышаем скорость программирования

Я полагаю, каждый разработчик хочет писать код быстрее. При этом возможность быстро и эффективно писать код — это не какая-то особая врожденная способность, доступная только избранным. Это навык, которым может овладеть любой программист, независимо от предыдущего опыта и объема набранных на клавиатуре текстов.
Битва за скорость: 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.
Применение OLAP в трейдинге (Часть 3): анализ котировок в целях выработки торговых стратегий
Применение OLAP в трейдинге (Часть 3): анализ котировок в целях выработки торговых стратегий

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

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

Двухэтапный вариант модификации открытых позиций

Двухэтапный подход позволяет избежать ненужных закрытий и переоткрытия позиций в ситуациях, близким к трендовым и в условиях возникновения дивергенций.
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 4)
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 4)

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

В данной статье автор продолжает обзор алгоритмов реализации простейших торговых систем и знакомит с записью результатов оптимизаций при бэктестинге в один html файл в виде таблицы. Статья будет полезна начинающим трейдерам и начинающим экспертописателям
preview
Популяционные алгоритмы оптимизации: Рой частиц (PSO)

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

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

Взгляд на технический анализ с точки зрения САУ (систем автоматического управления), или “Взгляд наоборот”

В статье показан альтернативный взгляд на технический анализ, основывающийся на принципах как современной теории автоматического управления, так и технического анализа. Это вводная работа, представляющая собой теорию с некоторыми практическими ее приложениями.
Интеграция MetaTrader 4  с MS SQL-сервером
Интеграция MetaTrader 4  с MS SQL-сервером

Интеграция MetaTrader 4 с MS SQL-сервером

В статье показан пример интеграции клиентского терминала MetaTrader 4 и сервером MS SQL посредством использования dll. Приложены как исходные коды на С++ и MQL4, так и готовый скомпилированный проект Visual C++ 6.0 SP5.
Разработка торговой системы на основе индикатора MACD
Разработка торговой системы на основе индикатора MACD

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

В этой статье мы познакомимся с очередным инструментом из нашей серии: мы узнаем, как создать торговую систему на основе одного из самых популярных технических индикаторов — Moving Average Convergence Divergence (MACD).
Интервью с Андреем Морару (ATC 2011)
Интервью с Андреем Морару (ATC 2011)

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

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

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

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

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

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

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

Продолжаем создавать большую кроссплатформенную библиотеку, целью которой является упростить написания программ для платформы MetaTrader 5 и MetaTrader 4. В десятой части мы продолжили работу над совместимостью библиотеки с MQL4 и сделали определение событий открытия позиций и активации отложенных ордеров. В данной статье сделаем определение событий закрытия позиций и избавимся от оказавшихся невостребованными свойств ордеров.
Лига Чемпионов ATC: Интервью с Романом Заможным (ATC 2011)
Лига Чемпионов ATC: Интервью с Романом Заможным (ATC 2011)

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

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