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

icon

Самые разнообразные статьи с примерами по созданию индикаторов и торговых роботов для платформы MetaTrader на языке MQL5 ждут вас. К каждой статье приложены исходные коды, которые вы можете открыть в редакторе MetaEditor и запустить самостоятельно.

Эти статьи будут полезны как новичкам в автоматическом трейдинге, так и подготовленным трейдерам с опытом программирования и торговли. Здесь вы найдете не только примеры, но и новые идеи.

Новая статья
последние | лучшие
preview
Создание торговой панели администратора на MQL5 (Часть II): Повышение оперативности реагирования и быстрого обмена сообщениями

Создание торговой панели администратора на MQL5 (Часть II): Повышение оперативности реагирования и быстрого обмена сообщениями

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

Разработка советника для анализа новостных событий о пробоях на основе календаря на MQL5

Волатильность, как правило, достигает пика во время важных новостных событий, создавая значительные возможности для пробоя. В настоящей статье мы расскажем о процессе реализации основанной на календаре стратегии прорыва. Мы рассмотрим все, начиная с создания класса для интерпретации и хранения календарных данных, разработки реалистичных бэк-тестов на основе этих данных и, наконец, реализации кода исполнения для реальной торговли.
preview
Алгоритм адаптивного социального поведения — Adaptive Social Behavior Optimization (ASBO): Двухфазная эволюция

Алгоритм адаптивного социального поведения — Adaptive Social Behavior Optimization (ASBO): Двухфазная эволюция

Эта статья является продолжением темы социального поведения живых организмов и его воздействия на разработку новой математической модели - ASBO (Adaptive Social Behavior Optimization). Мы погрузимся в двухфазную эволюцию, проведем тестирование алгоритма и сделаем выводы. Подобно тому, как в природе группа живых организмов объединяет свои усилия для выживания, ASBO использует принципы коллективного поведения для решения сложных задач оптимизации.
preview
Разработка системы репликации (Часть 56): Адаптация модулей

Разработка системы репликации (Часть 56): Адаптация модулей

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

Тестирование надежности торговых советников

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

Разработка инструментария для анализа движения цен (Часть 1): Проектор графиков

Настоящий проект направлен на использование алгоритма MQL5 для разработки комплексного набора инструментов анализа для MetaTrader 5. Эти инструменты — от скриптов и индикаторов до моделей искусственного интеллекта и советников — позволят автоматизировать процесс анализа рынка. Иногда такая разработка позволяет создавать инструменты, способные выполнять углубленный анализ без участия человека и прогнозировать результаты на соответствующих платформах. Ни одна возможность не будет упущена. Присоединяйтесь ко мне в рамках исследования процесса создания надежного набора пользовательских инструментов для анализа рынка. Начнем с разработки простой программы на MQL5, которую я назвал Chart Projector (Проектор графиков).
preview
Торговый инструментарий MQL5 (Часть 3): Разработка EX5-библиотеки для управления отложенными ордерами

Торговый инструментарий MQL5 (Часть 3): Разработка EX5-библиотеки для управления отложенными ордерами

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

От новичка до эксперта: Совместная отладка на MQL5

Политика «решения проблем» может создать четкую программу для овладения сложными навыками, такими как программирование на MQL5. Такой подход позволяет сконцентрироваться на решении проблем, одновременно развивая свои навыки. Чем больше проблем вы решаете, тем более продвинутый опыт передается в ваш мозг. Лично я считаю, что отладка - это самый эффективный способ освоить программирование. Сегодня мы рассмотрим процесс очистки кода и обсудим лучшие методы преобразования запутанной программы в ясную и функциональную. Прочтите эту статью и откройте для себя ценную информацию.
preview
Собственные векторы и собственные значения: Разведочный анализ данных в MetaTrader 5

Собственные векторы и собственные значения: Разведочный анализ данных в MetaTrader 5

В статье мы рассмотрим различные способы применения собственных векторов и собственных значений в разведочном анализе данных для выявления в них уникальных взаимосвязей.
preview
От новичка до эксперта: Система автогеометрического анализа

От новичка до эксперта: Система автогеометрического анализа

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

Разработка инструментария для анализа движения цен (Часть 3): Советник Analytics Master

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

Создание торговой панели администратора на MQL5 (Часть III): Расширение встроенных классов для управления темами (II)

Мы расширим существующую библиотеку Dialog, включив в нее логику управления темами. Кроме того, мы интегрируем методы переключения тем в классы CDialog, CEdit и CButton, используемые в нашем проекте панели администратора.
preview
Переосмысливаем классические стратегии (Часть VII): Анализ валютных рынков и суверенного долга на USDJPY

Переосмысливаем классические стратегии (Часть VII): Анализ валютных рынков и суверенного долга на USDJPY

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

От начального до среднего уровня: Оператор FOR

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

Создание торговой панели администратора на MQL5 (Часть V): Двухфакторная аутентификация (2FA)

В статье рассмотрено повышение безопасности панели торгового администратора, которая в настоящее время находится в разработке. Мы рассмотрим, как внедрить MQL5 в новую стратегию безопасности, интегрировав API Telegram для двухфакторной аутентификации (2FA). Статья предоставит ценную информацию о применении MQL5 для усиления мер безопасности. Кроме того, мы рассмотрим функцию MathRand, сосредоточившись на ее функциональности и на том, как ее можно эффективно использовать в нашей системе безопасности.
preview
От начального до среднего уровня: Шаблон и Typename (III)

От начального до среднего уровня: Шаблон и Typename (III)

В этой статье мы рассмотрим первую часть темы, которая не так проста для понимания новичками. Чтобы не запутаться еще больше и правильно объяснить данную тему, мы разделим объяснение на этапы. Эту статью мы посвятим первому этапу. Однако, хотя в конце статьи может показаться, что мы зашли в тупик, на самом деле мы сделаем шаг к другой ситуации, которая будет лучше понятна в следующей статье.
preview
Классы таблицы и заголовка на базе модели таблицы в MQL5: Применение концепции MVC

Классы таблицы и заголовка на базе модели таблицы в MQL5: Применение концепции MVC

Это вторая часть статьи, посвященной реализации модели таблицы в MQL5 с использованием архитектурной парадигмы MVC (Model-View-Controller). В статье рассматривается разработка классов таблицы и её заголовка, основанных на ранее созданной модели таблицы. Разработанные классы станут основой для дальнейшей реализации компонентов представления (View) и управления (Controller), которые будут рассмотрены в следующих статьях.
preview
Пользовательский индикатор: Отображение сделок входа, выхода и разворота позиции на неттинговых счетах

Пользовательский индикатор: Отображение сделок входа, выхода и разворота позиции на неттинговых счетах

В данной статье мы рассмотрим нестандартный способ создания индикатора в MQL5. Вместо того, чтобы фокусироваться на тренде или графическом паттерне, нашей целью будет управление собственными позициями, включая частичные входы и выходы. Мы будем активно использовать динамические матрицы и некоторые торговые функции, связанные с историей сделок и открытыми позициями, чтобы указать на графике, где осуществились данные сделки.
preview
Таблицы в парадигме MVC на MQL5: Интегрируем компонент Model в компонент View

Таблицы в парадигме MVC на MQL5: Интегрируем компонент Model в компонент View

В статье создадим первую версию элемента управления TableControl (TableView). Это будет простая статичная таблица, создаваемая на основе входных данных, определяемых двумя массивами — массивом данных и массивом заголовков столбцов.
preview
Применение локализованного отбора признаков на Python и MQL5

Применение локализованного отбора признаков на Python и MQL5

В настоящей статье рассматривается алгоритм отбора признаков, представленный в статье "Выбор локальных признаков для классификации данных» ('Local Feature Selection for Data Classification') Наргеса Арманфарда и соавторов (Narges Armanfard et al.). Алгоритм реализован на Python для построения моделей бинарных классификаторов, которые могут быть интегрированы с приложениями MetaTrader 5 для логического вывода.
preview
Компоненты View и Controller для таблиц в парадигме MVC на MQL5: Контейнеры

Компоненты View и Controller для таблиц в парадигме MVC на MQL5: Контейнеры

В статье рассмотрим создание элемента управления "Контейнер" с возможностью прокрутки его содержимого. В процессе будут доработаны уже готовые классы элементов управления графической библиотеки.
preview
Функции активации нейронов при обучении: ключ к быстрой сходимости?

Функции активации нейронов при обучении: ключ к быстрой сходимости?

В данной работе представлено исследование взаимодействия различных функций активации с алгоритмами оптимизации в контексте обучения нейронных сетей. Особое внимание уделяется сравнению классического ADAM и его популяционной версии при работе с широким спектром функций активации, включая осциллирующие функции ACON и Snake. Используя минималистичную архитектуру MLP (1-1-1) и единичный обучающий пример, производится изоляция влияния функций активации на процесс оптимизации от других факторов. Предложен подход к контролю весов сети через границы функций активации и механизма отражения весов, что позволяет избежать проблем с насыщением и застоем в обучении.
preview
Пример CNA (сетевого анализа причинно-следственных связей), SMOC (оптимального управления стохастической моделью) и теории игр Нэша с Глубоким обучением

Пример CNA (сетевого анализа причинно-следственных связей), SMOC (оптимального управления стохастической моделью) и теории игр Нэша с Глубоким обучением

Мы добавим Глубокое обучение к тем трем примерам, которые были опубликованы в предыдущих статьях, и сравним результаты с предыдущими. Цель состоит в том, чтобы научиться каким образом добавлять Глубокое обучение (DL) в другие советники.
preview
Переосмысливаем классические стратегии (Часть IX): Анализ на нескольких таймфреймах  (II)

Переосмысливаем классические стратегии (Часть IX): Анализ на нескольких таймфреймах (II)

В сегодняшнем обсуждении мы рассмотрим стратегию анализа на нескольких таймфреймах, чтобы узнать, на каком таймфрейме наша модель искусственного интеллекта работает лучше всего. Наш анализ приводит нас к выводу, что месячный и часовой таймфреймы дают модели с относительно низким уровнем ошибок по паре EURUSD. Мы использовали это в своих интересах и создали торговый алгоритм, который делает прогнозы с помощью искусственного интеллекта на месячном таймфрейме и совершает сделки на часовом таймфрейме.
preview
От начального до среднего уровня: Шаблон и Typename (IV)

От начального до среднего уровня: Шаблон и Typename (IV)

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

От начального до среднего уровня: Массивы и строки (II)

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

Создание торговой панели администратора на MQL5 (Часть III): Улучшение графического интерфейса пользователя (GUI) с помощью визуального оформления (I)

В настоящей статье мы сосредоточимся на визуальном оформлении графического интерфейса пользователя (GUI) нашей торговой панели администратора с использованием MQL5. Мы рассмотрим различные методы и функции, доступные в MQL5, которые позволяют настраивать и оптимизировать интерфейс, обеспечивая его соответствие потребностям трейдеров при сохранении привлекательной эстетики.
preview
Теория графов: Алгоритм Дейкстры в трейдинге

Теория графов: Алгоритм Дейкстры в трейдинге

Алгоритм Дейкстры — классическое решение по поиску кратчайшего пути в теории графов, которое позволяет оптимизировать торговые стратегии путем моделирования рыночных сетей. Трейдеры могут использовать его для поиска наиболее эффективных маршрутов в данных свечного графика.
preview
Разработка системы репликации (Часть 55): Модуль управления

Разработка системы репликации (Часть 55): Модуль управления

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

Причинно-следственный анализ временных рядов с помощью энтропии переноса

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

Разработка системы репликации (Часть 48): Концепции для понимания и осмысления

Как насчет изучения чего-то нового? В этой статье вы узнаете, как преобразовывать скрипты в сервисы, и почему полезно это делать.
preview
Создание панели торгового администратора на MQL5 (Часть I): Создание интерфейса обмена сообщениями

Создание панели торгового администратора на MQL5 (Часть I): Создание интерфейса обмена сообщениями

В данной статье рассматривается создание интерфейса обмена сообщениями для MetaTrader 5, предназначенного для системных администраторов, чтобы облегчить общение с другими трейдерами непосредственно внутри платформы. Недавняя интеграция социальных платформ с MQL5 позволяет быстро транслировать сигнал по разным каналам. Представьте, что вы можете проверять отправленные сигналы одним щелчком мыши — либо "ДА", либо "НЕТ". Читайте дальше, чтобы узнать больше.
preview
Разработка системы репликации (Часть 52): Всё усложняется (IV)

Разработка системы репликации (Часть 52): Всё усложняется (IV)

В этой статье мы изменим указатель мыши, чтобы иметь возможность взаимодействовать с индикатором управления, поскольку он работает нестабильно.
preview
Подробная информация о торговле на основе объема: Выход за рамки графиков OHLC

Подробная информация о торговле на основе объема: Выход за рамки графиков OHLC

Алгоритмическая торговая система, сочетающая анализ объема с методами машинного обучения, в частности с нейронными сетями LSTM. В отличие от традиционных торговых подходов, которые в первую очередь фокусируются на движении цен, эта система делает упор на паттернах объема и их производных для прогнозирования движений рынка. Методология включает в себя три основных компонента: анализ производных от объема (первые и вторые производные), прогнозы LSTM для паттернов объема и традиционные технические индикаторы.
preview
Разработка системы репликации (Часть 42): Проект Chart Trade (I)

Разработка системы репликации (Часть 42): Проект Chart Trade (I)

Давайте создадим что-нибудь поинтереснее. Не хочу портить сюрприз, поэтому следите за статьей, чтобы лучше понять. С самого начала этой серии о разработке системы репликации/моделирования, я говорил, что идея состоит в том, чтобы использовать платформу MetaTrader 5 одинаково как в разрабатываемой нами системе, так и на реальном рынке. Важно, чтобы это было сделано должным образом. Никто не хочет тренироваться и учиться сражаться, используя одни инструменты, в то время как во время боя ему придется пользоваться другими.
preview
От начального до среднего уровня: Оператор IF ELSE

От начального до среднего уровня: Оператор IF ELSE

В этой статье мы проанализируем, как работать с оператором IF и ее спутником ELSE, Данный оператор - самый важный и значимый из существующих в любом языке программирования. Однако, несмотря на простоту использования, он иногда приводит в замешательство, если у нас нет опыта его применения и связанных с ней понятий. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте его как окончательное приложение, целью которого не является изучение представленных понятий.
preview
Знакомство с языком MQL5 (Часть 16): Создание советников с использованием паттернов технического анализа

Знакомство с языком MQL5 (Часть 16): Создание советников с использованием паттернов технического анализа

Эта статья знакомит новичков с созданием советника на языке MQL5, который выявляет классический паттерн технического анализа – "голову и плечи" – и торгует по нему. В статье рассматривается, как обнаружить паттерн, используя ценовое действие, нарисовать его на графике, установить уровни входа, стоп-лосса и тейк-профита, а также автоматизировать выполнение сделок на основе паттерна.
preview
От начального до среднего уровня: Оператор SWITCH

От начального до среднего уровня: Оператор SWITCH

В данной статье мы узнаем, как использовать оператор SWITCH в ее самой простой и базовой форме. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
preview
Как опередить любой рынок (Часть III): Индекс расходов Visa

Как опередить любой рынок (Часть III): Индекс расходов Visa

В мире больших данных существуют миллионы альтернативных наборов данных, которые потенциально могут улучшить наши торговые стратегии. В этой серии статей мы рассматриваем наиболее информативные общедоступные наборы данных.
preview
Алгоритм эволюционного путешествия во времени — Time Evolution Travel Algorithm (TETA)

Алгоритм эволюционного путешествия во времени — Time Evolution Travel Algorithm (TETA)

Мой авторский алгоритм. В этой статье представлен Алгоритм Эволюционного Путешествия во Времени (TETA), вдохновлённый концепцией параллельных вселенных и потоков времени. Основная идея алгоритма заключается в том, что, хотя путешествие во времени в привычном понимании невозможно, мы можем выбирать последовательность событий, которые приводят к различным реальностям.