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

icon

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

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

Новая статья
последние | лучшие
preview
Машинное обучение и Data Science (Часть 07): Полиномиальная регрессия

Машинное обучение и Data Science (Часть 07): Полиномиальная регрессия

Полиномиальная регрессия — это гибкая модель, предназначенная для эффективного решения задач, с которыми не справляется модель линейной регрессии. В этой статье узнаем, как создавать полиномиальные модели на MQL5 и извлекать из них выгоду.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VII): События срабатывания StopLimit-ордеров, подготовка функционала для событий модификации ордеров и позиций
Библиотека для простого и быстрого создания программ для MetaTrader (Часть VII): События срабатывания StopLimit-ордеров, подготовка функционала для событий модификации ордеров и позиций

Библиотека для простого и быстрого создания программ для MetaTrader (Часть VII): События срабатывания StopLimit-ордеров, подготовка функционала для событий модификации ордеров и позиций

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

Опрос: мобильный терминал глазами трейдеров

Четкой картины относительно мобильного трейдинга и его будущего до сих пор не существует. Вокруг мобильного трейдинга ходит немало слухов. Чтобы развеять их и узнать, нравятся ли трейдерам наши мобильные терминалы, мы решили провести опрос. Нам удалось узнать, что думают наши клиенты, и получить целостную картину их пожеланий.
Создание интерактивного приложения для отображения RSS-каналов в MetaTrader 5
Создание интерактивного приложения для отображения RSS-каналов в MetaTrader 5

Создание интерактивного приложения для отображения RSS-каналов в MetaTrader 5

В данной статье рассматривается создание приложения, отображающего RSS-каналы. Мы также рассмотрим аспекты применения Стандартной библиотеки при создании интерактивных программ для MetaTrader 5.
preview
Поиск свечных паттернов с помощью MQL5

Поиск свечных паттернов с помощью MQL5

В этой статье мы поговорим о том, как автоматически определять свечные паттерны с помощью MQL5.
Использование крешлогов для отладки собственных dll
Использование крешлогов для отладки собственных dll

Использование крешлогов для отладки собственных dll

25-30% всех крешлогов, поступающих от пользователей, возникают в результате ошибок выполнения функций, импортируемых из пользовательских dll.
preview
Разработка торговой системы на основе индикатора ATR

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

В этой статье мы изучим новый технический инструмент, который можно использовать в торговле. Это продолжение серии, в которой мы учимся проектировать простые торговые системы. В этот раз мы будем работать с еще одним популярным техническим индикатором — Средний истинный диапазон (Average True Range, ATR).
Паттерны, доступные при торговле корзинами валют. Часть III
Паттерны, доступные при торговле корзинами валют. Часть III

Паттерны, доступные при торговле корзинами валют. Часть III

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

Работа с таймсериями в библиотеке DoEasy (Часть 45): Мультипериодные индикаторные буферы

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

Графика в библиотеке DoEasy (Часть 74): Базовый графический элемент на основе класса CCanvas

Переработаем концепцию построения графических объектов из прошлой статьи и подготовим базовый класс-основу всех графических объектов библиотеки, создаваемых на базе класса CCanvas Стандартной библиотеки.
Владимир Цирульник: "Суть моей программы - импровизация!" (ATC 2010)
Владимир Цирульник: "Суть моей программы - импровизация!" (ATC 2010)

Владимир Цирульник: "Суть моей программы - импровизация!" (ATC 2010)

На счету у Владимира Цирульника один из самых ярких взлетов текущего Чемпионата. К концу третьей торговой недели эксперт Владимира пришел шестым и, похоже, не собирается сдавать позиций. Алгоритм IMEX, который лежит в основе советника, был создан самим разработчиком. Чтобы узнать об этом алгоритме побольше, мы связались с Владимиром.
Terminal Service Client. Как подружить Pocket PC с большим братом.
Terminal Service Client. Как подружить Pocket PC с большим братом.

Terminal Service Client. Как подружить Pocket PC с большим братом.

Подключение к удаленному компьютеру с терминалом МТ4 через КПК.
preview
Машинное обучение и Data Science (Часть 01): Линейная регрессия

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

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

Графические интерфейсы VIII: Элемент "Файловый навигатор" (Глава 3)

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

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

Я полагаю, каждый разработчик хочет писать код быстрее. При этом возможность быстро и эффективно писать код — это не какая-то особая врожденная способность, доступная только избранным. Это навык, которым может овладеть любой программист, чем мы и займемся в этой статье.
Разработка социального технологического стартапа, часть II: Программируем клиент MQL5 REST
Разработка социального технологического стартапа, часть II: Программируем клиент MQL5 REST

Разработка социального технологического стартапа, часть II: Программируем клиент MQL5 REST

Сегодня мы окончательно оформим идею публикации торговых сигналов эксперта в Твиттере на основе PHP. Об этом мы начали говорить в первой части статьи. Мы соберем вместе отдельные части SDSS. Что касается клиентской стороны архитектуры системы, мы будем использовать новую функцию MQL5 WebRequest() для отправки торговых сигналов через HTTP.
Реализация трёхцветных индикаторов  и некоторые возможности для максимального упрощения написания индикаторов
Реализация трёхцветных индикаторов  и некоторые возможности для максимального упрощения написания индикаторов

Реализация трёхцветных индикаторов и некоторые возможности для максимального упрощения написания индикаторов

В этой статье автор рассматривает некоторые способы повышения информативности индикаторов для визуального трейдинга. Автор рассматривает реализацию трёхцветных индикаторов, индикаторов, для построения которых используются данные с других таймфреймов и производит дальнейшее знакомство с библиотекой индикаторов, начатое в статье " Эффективные алгоритмы усреднения с минимальным лагом и их использование в индикаторах."
Десять "ошибок" начинающего трейдера?
Десять "ошибок" начинающего трейдера?

Десять "ошибок" начинающего трейдера?

В статье обосновывается подход к построению торговой системы как последовательности открытия и закрытия взаимосвязанных ордеров в зависимости от складывающейся обстановки - цены и текущего значения прибыли/убытка каждого ордера, а не только и не столько от традиционных "сигналов". Приведен пример конкретной реализации такой простейшей торговой системы.
Ошибки начинающего трейдера при работе с клиентским терминалом MetaTrader 4
Ошибки начинающего трейдера при работе с клиентским терминалом MetaTrader 4

Ошибки начинающего трейдера при работе с клиентским терминалом MetaTrader 4

Все люди ошибаются - кто-то чаще, кто-то реже, кто-то по незнанию, кто-то по невнимательности. Вы спрашиваете - мы отвечаем: время в терминале, результаты тестирования, Print в журнал, символы, история для тестера, импорт истории, плечо, трафик, всплывающие подсказки, масштаб, неверный счет, Invalid account, пустые новости, Price changed, Not Enough Money, Market Is Closed.
Стать хорошим программистом (Часть 2): избавляемся еще от пяти привычек на пути к лучшему программированию на MQL5
Стать хорошим программистом (Часть 2): избавляемся еще от пяти привычек на пути к лучшему программированию на MQL5

Стать хорошим программистом (Часть 2): избавляемся еще от пяти привычек на пути к лучшему программированию на MQL5

Статья обязательна к прочтению для всех, кто хочет улучшить свою карьеру программиста. Цель этой серии статей — помочь любому читателю, даже опытному, улучшить навыки программирования. Описанные в статье идеи работают как для начинающих MQL5-программистов, так и для профессионалов.
Лень - двигатель прогресса, или Как интерактивно работать с графикой
Лень - двигатель прогресса, или Как интерактивно работать с графикой

Лень - двигатель прогресса, или Как интерактивно работать с графикой

Индикатор для интерактивной работы с трендовыми линиями, Фибо-уровнями, значками, нанесенными на график вручную. Позволяет отрисовывать цветовые зоны фибо-уровней, показывает моменты пересечения ценой трендовой линии, управляет графическим объектом "Ценовая метка".
preview
Работа с таймсериями в библиотеке DoEasy (Часть 51): Составные мультипериодные мультисимвольные стандартные индикаторы

Работа с таймсериями в библиотеке DoEasy (Часть 51): Составные мультипериодные мультисимвольные стандартные индикаторы

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

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

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

Томаш Таузовски:"Мне остается лишь молиться о появлении убыточных позиций" (ATC 2010)

Томаш Таузовски (ttauzo) - ветеран первой десятки Чемпионата Automated Trading Championship 2010. Его эксперт уже седьмую неделю находится между пятым и седьмым местом. И это неудивительно: по мнению текущего лидера Чемпионата Бориса Одинцова ttauzo - один из самых стабильных экспертов, участвующих в соревновании.
Язык MQL как средство разметки графического интерфейса MQL-программ. Часть 2
Язык MQL как средство разметки графического интерфейса MQL-программ. Часть 2

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

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

Метамодели в машинном обучении и трейдинге: Оригинальный тайминг торговых приказов

Метамодели в машинном обучении: Автоматическое создание торговых систем практически без участия человека — Модель сама принимает решение как торговать и когда торговать.
preview
Матрицы и векторы в MQL5

Матрицы и векторы в MQL5

Специальные типы данных matrix и vector позволяют писать код, приближенный к математической записи. Это избавляет от необходимости создавать вложенные циклы и помнить о правильной индексации массивов, которые участвуют в вычислении. Таким образом повышается надежность и скорость разработки сложных программ.
Использование криптографии совместно с внешними приложениями
Использование криптографии совместно с внешними приложениями

Использование криптографии совместно с внешними приложениями

Рассмотрены вопросы шифровки / дешифровки объектов в MetaTrader-e и сторонних программах с целью выяснения условий, при которых одинаковые результаты будут получаться при одинаковых исходных данных.
Перенос кода индикатора в код эксперта. Заключение
Перенос кода индикатора в код эксперта. Заключение

Перенос кода индикатора в код эксперта. Заключение

Это заключительная статья, посвященная переносу кода индикатора в код эксперта. В ней автор на конкретном примере преобразует код эксперта так, чтобы этот эксперт был представлен всего одним файлом без обращений к пользовательским индикаторам.
Работа с таймсериями в библиотеке DoEasy (Часть 41): Пример мультисимвольного мультипериодного индикатора
Работа с таймсериями в библиотеке DoEasy (Часть 41): Пример мультисимвольного мультипериодного индикатора

Работа с таймсериями в библиотеке DoEasy (Часть 41): Пример мультисимвольного мультипериодного индикатора

В статье рассмотрим пример создания мультисимвольного мультипериодного индикатора с использованием классов таймсерий библиотеки DoEasy, отображающего в подокне график выбранной валютной пары с выбранного таймфрейма в виде японских свечей. Немного доработаем классы библиотеки и создадим отдельный файл для хранения перечислений для входных параметров программ и выбора языка компиляции.
Шаблон проектирования MVC и возможность его использования
Шаблон проектирования MVC и возможность его использования

Шаблон проектирования MVC и возможность его использования

В статье рассматривается распространенный шаблон MVC, возможность, плюсы и минусы его применения в программах на MQL. Его суть в том, чтобы "разделить" имеющийся код на три отдельных компонента: Модель (Model), Представление (View) и Контроллер (Controller).
preview
Эксперименты с нейросетями (Часть 4): Шаблоны

Эксперименты с нейросетями (Часть 4): Шаблоны

Нейросети наше все. Проверяем на практике, так ли это. MetaTrader 5 как самодостаточное средство для использования нейросетей в трейдинге. Простое объяснение.
preview
Работаем со временем (Часть 2): Функции

Работаем со временем (Часть 2): Функции

Научимся автоматически распознавать смещения времени у брокера и время по Гринвичу. Вместо того, чтобы обращаться к брокеру, который скорее всего даст недостаточно полный ответ (а кто захочет объяснять, куда пропал торговый час?), мы сами посмотрим, по какому времени приходят от них котировки в те недели, когда переводят часы. Но конечно же, это мы будем делать не вручную — пусть за нас работает программа.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVII): Интерактивность объектов библиотеки
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVII): Интерактивность объектов библиотеки

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

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

Работа с таймсериями в библиотеке DoEasy (Часть 46): Мультипериодные, мультисимвольные индикаторные буферы

В статье доработаем классы объектов индикаторных буферов для работы в мультисимвольном режиме. Таким образом у нас будет готово всё для создания в своих программах мультисимвольных мультипериодных индикаторов. Добавим недостающий функционал объектам расчётных буферов, что позволит создавать мультисимвольные мультипериодные стандартные индикаторы.
Использование утверждений (assertions) при разработке программ на MQL5
Использование утверждений (assertions) при разработке программ на MQL5

Использование утверждений (assertions) при разработке программ на MQL5

В данной статье рассматриваются утверждения (assertions) в рамках языка MQL5. Даются два примера реализации механизма утверждений, а также приводятся общие рекомендации по применению утверждений.
preview
Модель движения цены и ее основные положения (Часть 1): Простейший вариант  модели  и его  приложения

Модель движения цены и ее основные положения (Часть 1): Простейший вариант модели и его приложения

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

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

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

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

Для всех, кто работает с данными, включая трейдеров, data mining может открыть совершенно новые возможности, ведь зачастую данные не такие простые, какими кажутся. Человеческому глазу сложно увидеть глубинные закономерности и отношения в наборе данных. Одно из решений — алгоритм К-средних. Давайте посмотрим, полезен ли он.
Книга 'Энциклопедия торговых стратегий', Джеффри Оуэн Кац, Донна Л. МакКормик
Книга 'Энциклопедия торговых стратегий', Джеффри Оуэн Кац, Донна Л. МакКормик

Книга 'Энциклопедия торговых стратегий', Джеффри Оуэн Кац, Донна Л. МакКормик

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