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

icon

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

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

Новая статья
последние | лучшие
Графические интерфейсы IV: Информационные элементы интерфейса (Глава 1)
Графические интерфейсы IV: Информационные элементы интерфейса (Глава 1)

Графические интерфейсы IV: Информационные элементы интерфейса (Глава 1)

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

Оценка качества моделирования минутных данных

Формула расчёта и оценка качества моделирования минутных данных.
Изменение внешних параметров MQL4-программ без перезагрузки
Изменение внешних параметров MQL4-программ без перезагрузки

Изменение внешних параметров MQL4-программ без перезагрузки

Статья описывает метод изменения внешних параметров MQL4-программ на лету без перезагрузки.
Разработка торговых роботов при помощи визуального программирования
Разработка торговых роботов при помощи визуального программирования

Разработка торговых роботов при помощи визуального программирования

В статье демонстрируется возможности редактора botbrains.app — no-code платформы для разработки торговых роботов. Чтобы создать торгового робота не нужно программировать — просто перетащите нужные блоки на схему, задайте их параметры и установите связи между ними.
Как упростить обнаружение и устранение ошибок в коде эксперта
Как упростить обнаружение и устранение ошибок в коде эксперта

Как упростить обнаружение и устранение ошибок в коде эксперта

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

Управление оптимизацией (Часть 2): Создание ключевых объектов и логики приложения

Данная статья является продолжением предыдущей публикации на тему создания графического интерфейса для управления оптимизациями. В ней будет рассмотрена логика работы создаваемого дополнения. Создадим обертку для терминала MetaTrader 5 для его запуска как управляемый процесс через C#. А также будет рассмотрена работа с конфигурационными файлами и файлами настроек. Логика программы же будет поделена на две части: в первой описаны методы, вызываемые после нажатия на ту или иную клавишу, а вторая часть — запуск и управление оптимизациями.
Интервью с Ли Фаном (ATC 2011)
Интервью с Ли Фаном (ATC 2011)

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

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

Как разработать торговую систему на основе Bollinger Bands

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

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

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

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

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

Практическое использование Виртуального Частного Сервера (VPS) для автоторговли

Автоторговля с помощью VPS. Данная статья предназначена исключительно для автотрейдеров и сторонников автоторговли.
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 5)
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Часть 5)

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

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

Удивите ваших MQL5-клиентов эффективным коктейлем технологий!

MQL5 предоставляет программистам полный набор функций и объектно-ориентированный API, благодаря которым они могут делать в среде MetaTrader все что угодно. Тем не менее, веб-технологии – это очень универсальный инструмент, который может помочь в ситуациях, когда вам нужно создать нечто совершенно особое, вы хотите удивить ваших клиентов или у вас просто нет времени на изучение определенной части стандартной библиотеки MQL5. В данной статье вы узнаете, как можно управлять временем разработки при создании вашего уникального коктейля технологий.
Вычисление математических выражений (Часть 2). Парсеры Пратта и сортировочной станции
Вычисление математических выражений (Часть 2). Парсеры Пратта и сортировочной станции

Вычисление математических выражений (Часть 2). Парсеры Пратта и сортировочной станции

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

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

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

Универсальная регрессионная модель для прогнозирования рыночной цены (Часть 2): Функции природных, техногенных и общественных переходных процессов

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

Мультивалютный мониторинг торговых сигналов (Часть 4): Улучшаем функциональность и систему поиска сигналов

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

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

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

Нейронные сети обратного распространения ошибки на матрицах MQL5

Статья описывает теорию и практику применения алгоритма обратного распространения ошибки на MQL5 с помощью матриц. Прилагаются готовые классы и примеры скрипта, индикатора и эксперта.
Улучшаем работу с Панелями: добавляем прозрачность, меняем цвет фона и наследуемся от CAppDialog/CWndClient
Улучшаем работу с Панелями: добавляем прозрачность, меняем цвет фона и наследуемся от CAppDialog/CWndClient

Улучшаем работу с Панелями: добавляем прозрачность, меняем цвет фона и наследуемся от CAppDialog/CWndClient

Продолжаем изучать работу с CAppDialog. Теперь мы научимся задавать цвета фона, рамки и заголовка для графической панели. По шагам рассмотрим, как добавить прозрачность окна приложения при перемещении его на графике. Далее мы рассмотрим создание потомков от CAppDialog или CWndClient и увидим новые тонкости в работе с контролами. Наконец, посмотрим с новой точки зрения на новые Проекты.
Итоги MetaTrader AppStore за 3 квартал 2013 года
Итоги MetaTrader AppStore за 3 квартал 2013 года

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

Подошел к концу очередной квартал этого года, и мы решили подвести его итоги для MetaTrader AppStore - магазина торговых роботов и технических индикаторов для платформ MetaTrader. Всего к концу отчетного квартала более 500 разработчиков разместили в Маркете свыше 1 200 продуктов для MetaTrader 4 и MetaTrader 5.
Объектный подход в MQL
Объектный подход в MQL

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

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

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

В данной статье я постараюсь показать по каким критериям выбирать систему или сигнал для инвестирования своих средств, а также каков оптимальный подход к разработке торговых систем и почему этот вопрос настолько важен в рамках торговли на форекс.
Графические интерфейсы IX: Элемент "Палитра для выбора цвета" (Глава 1)
Графические интерфейсы IX: Элемент "Палитра для выбора цвета" (Глава 1)

Графические интерфейсы IX: Элемент "Палитра для выбора цвета" (Глава 1)

Этой статьей мы открываем девятую часть серии о разработке библиотеки для создания графических интерфейсов в среде торговых терминалов MetaTrader. Она состоит из двух глав, в которых представлены новые элементы управления и интерфейса: «Палитра для выбора цвета», «Кнопка для вызова цветовой палитры», «Индикатор выполнения» и «Линейный график».
Изучаем класс CCanvas. Сглаживание и тени
Изучаем класс CCanvas. Сглаживание и тени

Изучаем класс CCanvas. Сглаживание и тени

Алгоритм сглаживания класса CCanvas — основа всех построений, в которых используется сглаживание. В статье рассказано о том, как работает этот алгоритм, приведены примеры визуализации его работы. Кроме того, рассмотрено рисование теней графических объектов и разработан подробный алгоритм отрисовки тени на канвасе. Для расчетов применена библиотека численного анализа ALGLIB.
Альтернативный лог-файл c использованием HTML и CSS
Альтернативный лог-файл c использованием HTML и CSS

Альтернативный лог-файл c использованием HTML и CSS

В этой статье мы напишем очень простую, но мощную библиотеку для создания html-файлов, научимся настраивать отображение последних (на вкус и цвет, как известно) и посмотрим, как это можно легко внедрить и использовать в вашем эксперте или скрипте.
preview
Биржевая сеточная торговля лимитными ордерами на полном автомате на Московской бирже MOEX

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

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

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

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

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

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

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

Начинаем интегрирование уже созданных графических объектов в остальные — ранее созданные объекты библиотеки, что в итоге наделит каждый объект библиотеки своим графическим объектом, позволяющим интерактивно взаимодействовать пользователю с программой.
Графические интерфейсы X: Обновления для библиотеки Easy And Fast (build 2)
Графические интерфейсы X: Обновления для библиотеки Easy And Fast (build 2)

Графические интерфейсы X: Обновления для библиотеки Easy And Fast (build 2)

С момента предыдущей публикации статьи этой серии, библиотека Easy And Fast пополнилась новыми возможностями. Проведена частичная оптимизация схемы и кода библиотеки, что немного сократило потребление ресурсов CPU. Некоторые повторяющиеся методы во многих классах элементов были перенесены в базовый класс CElement.
Работа с таймсериями в библиотеке DoEasy (Часть 37): Коллекция таймсерий - база данных таймсерий по символам и периодам
Работа с таймсериями в библиотеке DoEasy (Часть 37): Коллекция таймсерий - база данных таймсерий по символам и периодам

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

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

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

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

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

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

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

Основные задачи при раскрашивании индикаторов, их решение и автоматизация.
Применение OLAP в трейдинге (Часть 4): Количественный и визуальный анализ отчетов тестера
Применение OLAP в трейдинге (Часть 4): Количественный и визуальный анализ отчетов тестера

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

Статья предлагает базовый инструментарий для OLAP-анализа отчетов тестера об одиночных проходах и результатах оптимизации в виде файлов стандартных форматов (tst и opt), а также интерактивный графический интерфейс к нему. Исходные коды MQL прилагаются.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVI): События коллекции символов
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVI): События коллекции символов

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

В статье создадим новый базовый класс для всех объектов библиотеки, который добавит событийный функционал всем своим наследникам, и создадим класс отслеживания событий коллекции символов на основе нового базового класса. А также изменим классы аккаунта и событий аккаунта для работы под новым функционалом базового объекта.
preview
Брутфорс-подход к поиску закономерностей (Часть IV): Минимальная функциональность

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

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

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

В этой статье создадим систему авторизации через браузерное приложение и через торговый терминал MetaTrader 5. Можно будет зарегистрироваться в системе, указав свои учётные данные.
Графические интерфейсы V: Элемент "Комбинированный список" (Глава 3)
Графические интерфейсы V: Элемент "Комбинированный список" (Глава 3)

Графические интерфейсы V: Элемент "Комбинированный список" (Глава 3)

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