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

icon

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

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

Новая статья
последние | лучшие
Практическое использование нейросетей Кохонена в алгоритмическом трейдинге (Часть II): Оптимизация и прогнозирование
Практическое использование нейросетей Кохонена в алгоритмическом трейдинге (Часть II): Оптимизация и прогнозирование

Практическое использование нейросетей Кохонена в алгоритмическом трейдинге (Часть II): Оптимизация и прогнозирование

На основе универсального инструментария для работы с сетями Кохонена строится система анализа и выбора оптимальных параметров советника, а также рассматривается прогнозирование временных рядов. В первой части мы исправили и усовершенствовали публично доступные нейросетевые классы, дополнив их необходимыми алгоритмами. Теперь настало время применить их на практике.
preview
Изучение MQL5 от новичка до профи (Часть I): Начинаем программировать

Изучение MQL5 от новичка до профи (Часть I): Начинаем программировать

Эта статья является вводной для целого цикла статей о программировании. Здесь предполагается, что читатель вообще не сталкивался с программированием раньше. Поэтому начинаю я с самых основ. Уровень знания программирования: абсолютный новичок.
Работа с файлами. Пример визуализация важных рыночных событий
Работа с файлами. Пример визуализация важных рыночных событий

Работа с файлами. Пример визуализация важных рыночных событий

Статья рассматривает перспективу использования MQL4 для более продуктивной работы на рынке ФОРЕКС.
ООП в MQL5 на примерах: обработка кодов ошибок и предупреждений
ООП в MQL5 на примерах: обработка кодов ошибок и предупреждений

ООП в MQL5 на примерах: обработка кодов ошибок и предупреждений

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

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

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

MetaEditor: Опираясь на силу шаблонов

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

Пример разработки торговой системы, основанной на различиях часовых поясов на разных континентах

Листая страницы Интернета, можно найти множество стратегий, которые вам советуют делать то или иное. Давайте заглянем внутрь и посмотрим на сам процесс составления стратегии, основанной на различиях часовых поясов на разных континентах.
Рецепты MQL5 - Разработка мультивалютного эксперта с неограниченным количеством параметров
Рецепты MQL5 - Разработка мультивалютного эксперта с неограниченным количеством параметров

Рецепты MQL5 - Разработка мультивалютного эксперта с неограниченным количеством параметров

В этой статье мы создадим схему, в которой для оптимизации торговой системы будет использоваться единый набор параметров, а количество символов можно использовать сколько угодно. Список символов будем составлять в обычном текстовом файле (*.txt). Входные параметры для каждого символа также теперь будут храниться в файлах. Так мы сможем обойти ограничение терминала на количество входных параметров эксперта.
preview
Нейросети — это просто (Часть 14): Кластеризация данных

Нейросети — это просто (Часть 14): Кластеризация данных

Должен признаться, что с момента публикации последней статьи прошло уже больше года. За столь длительное время можно многое переосмыслить, выработать новые подходы. И в новой статье я хотел бы немного отойти от используемого ранее метода обучения с учителем, и предложить немного окунуться в алгоритмы обучения без учителя. И, в частности, рассмотреть один из алгоритмов кластеризации — k-средних.
LifeHack для трейдера: готовим фастфуд из индикаторов
LifeHack для трейдера: готовим фастфуд из индикаторов

LifeHack для трейдера: готовим фастфуд из индикаторов

Если вы переходите на MQL5 только сейчас, то эта статья вам пригодится: с одной стороны, доступ к данным индикаторов и к сериям выполнен в привычном вам MQL4-стиле, с другой — вся реализация этой простоты написана на MQL5. Все функции максимально понятны и отлично подходят для пошаговой отладки.
Кроссплатформенный торговый советник: Введение
Кроссплатформенный торговый советник: Введение

Кроссплатформенный торговый советник: Введение

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

Самоадаптирующийся алгоритм (Часть IV): Дополнительный функционал и тесты

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

Рецепты MQL5 - Уменьшаем эффект подгонки и решаем проблему недостаточного количества котировок

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

Мультисимвольный график баланса в MetaTrader 5

В статье продемонстрирован пример MQL-приложения с графическим интерфейсом, в котором отображаются графики мультисимвольного баланса и просадки депозита по результатам последнего теста.
Работа с GSM-модемом из эксперта на MQL5
Работа с GSM-модемом из эксперта на MQL5

Работа с GSM-модемом из эксперта на MQL5

На текущий момент существует достаточно средств для комфортного удалённого мониторинга торгового счёта: мобильные терминалы, push-уведомления, работа с ICQ. Но всё это требует обязательного наличия интернета. Данная статья описывает создание эксперта, который позволит вам находиться на связи с торговым терминалом даже в той ситуации, когда мобильный интернет будет недоступен, а именно - при помощи звонков и SMS-сообщений.
Рецепты MQL5 – Получаем свойства открытой хеджевой позиции
Рецепты MQL5 – Получаем свойства открытой хеджевой позиции

Рецепты MQL5 – Получаем свойства открытой хеджевой позиции

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

Виджеты Торговых сигналов MetaTrader 4 и MetaTrader 5

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

Паттерны с примерами (Часть I): Кратная вершина

Статья начинает цикл рассмотрения разворотных паттернов в рамках алготрейдинга. Мы начнем мысль, исследуя первое и самое интересное семейство данных паттернов, которые берут начало из паттерна "Двойная вершина" и "Двойное дно".
Пауза между торговыми операциями
Пауза между торговыми операциями

Пауза между торговыми операциями

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

Паттерны с примерами (Часть I): Кратная вершина

Статья начинает цикл рассмотрения разворотных паттернов в рамках алготрейдинга. Мы начнем мысль, исследуя первое и самое интересное семейство данных паттернов, которые берут начало из паттерна "Двойная вершина" и "Двойное дно".
preview
Нейросети — это просто (Часть 9): Документируем проделанную работу

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

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

Комбинационный скальпинг: сделки из прошлого или повышение результативности будущих сделок

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

Универсальный торговый эксперт: Интеграция со стандартными модулями сигналов MetaTrader (часть 7)

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

Последний крестовый поход

Взгляните в ваш торговый терминал. Какие способы представления цены вы видите? Бары, свечи, линейный. Мы гонимся за временем и ценами, а прибыль нам дает одна цена. Так может стоит посмотреть на рынок лишь только с ценами? В данной статье предложен алгоритм построения пункто-цифровых графиков ("крестики-нолики") и скрипт, позволяющий производить построение данных графиков. Рассмотрены типичные ценовые паттерны и даны рекомендации по их практическому использованию.
Использование библиотеки FANN2MQL в MetaTrader
Использование библиотеки FANN2MQL в MetaTrader

Использование библиотеки FANN2MQL в MetaTrader

Цель статьи - показать, как использовать библиотеку FANN2MQL для программирования нейронных сетей в MetaTrader на простом примере: обучение и распознавание простейших паттернов.
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота
Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота

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

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

Графики без "дыр"

Статья посвящена реализации графиков без пропущенных баров.
Построение фрактальных линий
Построение фрактальных линий

Построение фрактальных линий

В данной статье описывается построение фрактальных линий различного типа при помощи трендовых линий и фракталов.
Универсальный торговый эксперт: Индикатор CUnIndicator и работа с отложенными ордерами (часть 9)
Универсальный торговый эксперт: Индикатор CUnIndicator и работа с отложенными ордерами (часть 9)

Универсальный торговый эксперт: Индикатор CUnIndicator и работа с отложенными ордерами (часть 9)

В статье описана работа с индикаторами через универсальный класс CUnIndicator. Кроме того, рассмотрены новые методы работы с отложенными ордерами. Обратите внимание: с этого момента структура проекта CStrategy существенно изменена. Теперь все его файлы располагаются в единой директории для удобства пользователей.
LifeHack для трейдера: индикаторы баланса, просадки, загрузки и тиков во время тестирования
LifeHack для трейдера: индикаторы баланса, просадки, загрузки и тиков во время тестирования

LifeHack для трейдера: индикаторы баланса, просадки, загрузки и тиков во время тестирования

Как сделать тестирование более наглядным? Ответ прост: нужно использовать в тестере один или несколько индикаторов — тиковый индикатор, индикатор баланса и эквити, индикатор просадки и загрузки депозита. Это позволит визуально отслеживать или природу тиков, или изменение баланса и эквити, или просадку и загрузку депозита.
Рецепты MQL5 - Сохраняем результаты оптимизации торгового эксперта по указанным критериям
Рецепты MQL5 - Сохраняем результаты оптимизации торгового эксперта по указанным критериям

Рецепты MQL5 - Сохраняем результаты оптимизации торгового эксперта по указанным критериям

Продолжим серию статей по программированию на MQL5. На этот раз рассмотрим, как можно получать результаты по каждому проходу оптимизации непосредственно во время оптимизации параметров эксперта. При этом сделаем так, что если условия, которые будут настраиваться во внешних параметрах, исполняются, то показатели этого прохода будут записываться в файл. Кроме показателей тестов будем сохранять еще параметры, по которым был получен этот результат.
preview
WebSocket для MetaTrader 5

WebSocket для MetaTrader 5

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

Конкурс советников внутри советника

С помощью виртуальной торговли можно создать адаптивный советник, который будет выполнять включение/отключение сделок на реальном рынке. Соберите несколько стратегий в одном эксперте! Ваш мультисистемный советник будет автоматически выбирать торговую стратегию, которой стоит торговать на реальном рынке по результатам успешности виртуальных сделок. Такой метод позволяет снизить просадку и увеличить прибыльность Вашей работы на рынке. Экспериментируйте и делитесь результатами с другими! Думаю, будет интересно многим узнать о вашем портфеле стратегий.
Практическое использование нейросетей Кохонена в алгоритмическом трейдинге (Часть I): Инструментарий
Практическое использование нейросетей Кохонена в алгоритмическом трейдинге (Часть I): Инструментарий

Практическое использование нейросетей Кохонена в алгоритмическом трейдинге (Часть I): Инструментарий

Данная статья развивает идею использования сетей Кохонена в МетаТрейдер 5, освещавшуюся в нескольких предыдущих материалах. Исправленные и усовршенствованные классы предоставляют инструментарий для решения прикладных задач.
Как разработать торговую систему на основе Bollinger Bands
Как разработать торговую систему на основе Bollinger Bands

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

В этой статье мы поговорим о полосах Боллинджера (Bollinger Bands) — одном из самых популярных индикаторов в мире трейдинга. Мы обсудим технический анализ, а также научимся разрабатывать системы алгоритмической торговли на основе индикатора Bollinger Bands.
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIX): Класс сообщений библиотеки
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIX): Класс сообщений библиотеки

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIX): Класс сообщений библиотеки

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

Комбинаторика и теория вероятностей для трейдинга (Часть II): Универсальный фрактал

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

Как не попасть в ловушки оптимизации?

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

Статистический анализ рыночных движений и их прогнозов

В данной статье рассматриваются широкие возможности статистического подхода к изучению рынка. К сожалению, трейдеры-новички сознательно не используют эту поистине могущественную науку – статистику. А ведь, во-первых, это - единственное, чем они пользуются подсознательно при анализе рынка, а во-вторых, статистика может дать ответы на многие вопросы.
LifeHack для трейдера: Сравнительный отчет нескольких тестирований
LifeHack для трейдера: Сравнительный отчет нескольких тестирований

LifeHack для трейдера: Сравнительный отчет нескольких тестирований

В статье рассматривается одновременный запуск тестирования советника сразу на четырёх разных символах. Итоговое сравнение четырёх отчётов тестирования приводится в одной таблице, как при выборе товаров в интернет-магазинах. Дополнительным бонусом идут автоматически создаваемые графики распределений для каждого символа.