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

icon

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

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

Новая статья
последние | лучшие
preview
От начального до среднего уровня: Переменные (II)

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

Сегодня мы рассмотрим, как работать со статическими переменными. Этот вопрос часто ставит в тупик многих программистов, как начинающих, так и имеющих некоторый опыт, и это связано с тем, что существует несколько советов и рекомендаций, которые необходимо соблюдать при использовании данного механизма. Представленные здесь материалы предназначены исключительно для дидактических целей. Ни в коем случае нельзя рассматривать это как приложение, чьей целью будет что-то иное помимо изучения и освоения представленных концепций.
preview
От начального до среднего уровня: Объединение (I)

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

В данной статье мы рассмотрим, что такое объединение. Здесь, с помощью экспериментов, мы проанализируем первые конструкции, в которых можно использовать объединение. Однако то, что будет показано здесь, - лишь основная часть единого набора концепций и информации, которые будут рассмотрены в следующих статьях. Представленные здесь материалы предназначены только для обучения. Ни в коем случае нельзя рассматривать это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
preview
От начального до среднего уровня: Struct (I)

От начального до среднего уровня: Struct (I)

Сегодня мы начнем изучать структуры более простым, практичным и комфортным способом. Структуры являются одной из основ программирования, независимо от того, структурированы они или нет. Я знаю, что по мнению многих, структуры - это просто коллекции данных, но уверяю вас, что это гораздо больше, чем просто структуры. И здесь мы начнем исследовать эту новую вселенную наиболее дидактическим способом.
preview
Переосмысливаем классические стратегии (Часть IV): SP500 и казначейские облигации США

Переосмысливаем классические стратегии (Часть IV): SP500 и казначейские облигации США

В этой серии статей мы анализируем классические торговые стратегии с использованием современных алгоритмов, чтобы определить, можно ли улучшить стратегию с помощью искусственного интеллекта (ИИ). В сегодняшней статье мы рассмотрим классический подход к торговле индексом SP500, используя его взаимосвязь с казначейскими облигациями США (US Treasury Notes).
preview
От начального до среднего уровня: Шаблон и Typename (II)

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

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

Искусство ведения логов (Часть 1): Основные понятия и первые шаги в MQL5

Добро пожаловать в новое приключение! Данная статья открывает специальный цикл, в котором мы будем пошагово создавать библиотеку для манипуляций с журналами, предназначенную для тех, кто занимается разработкой на языке MQL5.
preview
Алгоритм хаотической оптимизации  — Chaos optimization algorithm (COA)

Алгоритм хаотической оптимизации — Chaos optimization algorithm (COA)

Усовершенствованный алгоритм хаотической оптимизации (COA), объединяющий воздействие хаоса с адаптивными механизмами поиска. Алгоритм использует множество хаотических отображений и инерционные компоненты для исследования пространства поиска. Статья раскрывает теоретические основы хаотических методов финансовой оптимизации.
preview
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (IV) - Анализ рынка локально размещенными моделями с использованием ИИ

От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (IV) - Анализ рынка локально размещенными моделями с использованием ИИ

В сегодняшнем обсуждении мы рассмотрим, как самостоятельно размещать модели искусственного интеллекта с открытым исходным кодом и использовать их для получения информации о рынке. Это является частью наших постоянных усилий по расширению советника «Заголовки новостей» путем внедрения раздела «Анализ искусственного интеллекта» (AI Insights), который превращает советник в мультиинтеграционный вспомогательный инструмент. Обновленный советник предназначен для информирования трейдеров о событиях календаря, последних финансовых новостях, технических индикаторах, а теперь и о перспективах рынка, генерируемых искусственным интеллектом, тем самым, предлагая своевременную, разнообразную и интеллектуальную поддержку при принятии торговых решений. Присоединяйтесь к разговору, в ходе которого мы рассмотрим практические стратегии интеграции и то, как MQL5 может взаимодействовать с внешними ресурсами для создания мощного и интеллектуального торгового рабочего терминала.
preview
От новичка до эксперта: Советник Reporting EA - Настройка рабочего процесса

От новичка до эксперта: Советник Reporting EA - Настройка рабочего процесса

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

От начального до среднего уровня: Передача по значению или по ссылке

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

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

В этой статье мы начнем рассматривать одну из концепций, которую многие новички избегают. Это связано с тем, что шаблоны - непростая тема, поскольку многие не понимают основного принципа, лежащего в основе шаблона: перегрузка функций и процедур.
preview
От новичка до эксперта: Анимированный советник News Headline с использованием MQL5 (XI) - Корреляция при торговле на новостях

От новичка до эксперта: Анимированный советник News Headline с использованием MQL5 (XI) - Корреляция при торговле на новостях

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

От новичка до эксперта: Индикатор Market Periods Synchronizer

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

Разработка динамического советника на нескольких парах (Часть 3): Стратегии возврата к среднему и моментума

В этой статье мы рассмотрим третью часть нашего пути в формулировании динамического мультипарного советника (Dynamic Multi-Pair Expert Advisor), сосредоточив внимание на интеграции стратегий торговли на основе возврата к среднему и моментума. Мы разберем, как обнаруживать и действовать при отклонениях цен от среднего (Z-оценка), а также как измерять моментум по нескольким валютным парам, чтобы определить направление торговли.
Материалы Automated Trading Championship: Регистрация
Материалы Automated Trading Championship: Регистрация

Материалы Automated Trading Championship: Регистрация

В данной статье собраны полезные материалы, которые помогут вам узнать больше о процедуре регистрации на Automated Trading Championship.
preview
Интеграция MQL5 с пакетами обработки данных (Часть 3): Улучшенная визуализация данных

Интеграция MQL5 с пакетами обработки данных (Часть 3): Улучшенная визуализация данных

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

От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (VI) — Стратегия пост-новостной торговли

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

Знакомство с кривыми рабочих характеристик приемника (ROC-кривыми)

ROC-кривые — графические представления, используемые для оценки эффективности классификаторов. Хотя графики ROC относительно просты, на практике при их использовании существуют распространенные заблуждения и подводные камни. Цель данной статьи — познакомить читателя с графиками ROC как инструментом для практикующих специалистов, стремящихся разобраться в оценке эффективности классификаторов.
preview
Разработка системы репликации (Часть 53): Всё усложняется (V)

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

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

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

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

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

Устали тратить время на поиск того самого файла, который необходим для работы вашего приложения? Как насчет того, чтобы включить все в исполняемый файл? Так вы больше не будете тратить время на поиск необходимого. Знаю, что многие пользуются именно такой формой распространения и хранения вещей, но есть гораздо более подходящий способ. По крайней мере, что касается распространения исполняемых файлов и их хранения. Метод, который будет здесь представлен, может оказаться очень полезным, так как в качестве отличного помощника вы сможете использовать сам MetaTrader 5, а также MQL5. И это не так уж трудно и сложно для понимания.
preview
Разработка системы репликации (Часть 54): Появление первого модуля

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

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

Разработка инструментария для анализа движения цен (Часть 2): Скрипт аналитических комментариев

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

Разработка системы репликации (Часть 68): Настройка времени (I)

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

Переосмысливаем классические стратегии в MQL5 (Часть III): Прогнозирование индекса FTSE 100

В данной серии статей мы вернемся к хорошо известным торговым стратегиям, чтобы узнать, можно ли улучшить их с помощью искусственного интеллекта. В сегодняшней статье мы рассмотрим индекс FTSE 100 и попытаемся спрогнозировать его, используя часть отдельных акций, входящих в состав индекса.
preview
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (IX) — Управление несколькими символами на одном графике для торговли на новостях

От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (IX) — Управление несколькими символами на одном графике для торговли на новостях

Торговля на новостях часто требует управления несколькими позициями и символами в течение очень короткого времени из-за повышенной волатильности. В сегодняшнем обсуждении мы рассмотрим проблемы торговли несколькими символами, интегрировав эту функцию в наш советник «Заголовки новостей». Присоединяйтесь к нам, и мы узнаем, как алгоритмическая торговля с помощью MQL5 делает торговлю несколькими символами более эффективной и действенной.
preview
Переосмысливаем классические стратегии (Часть VIII): Валютные рынки и драгоценные металлы в валютной паре USDCAD

Переосмысливаем классические стратегии (Часть VIII): Валютные рынки и драгоценные металлы в валютной паре USDCAD

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

Сингулярный спектральный анализ на MQL5

Данная статья предназначена в качестве руководства для тех, кто не знаком с концепцией сингулярного спектрального анализа и хочет получить достаточно знаний, чтобы иметь возможность применять встроенные инструменты, доступные на MQL5.
preview
Помощник Connexus (Часть 5): HTTP-методы и коды состояния

Помощник Connexus (Часть 5): HTTP-методы и коды состояния

В настоящей статье мы разберемся с методами HTTP и кодами состояния, двумя очень важными элементами взаимодействия между клиентом и сервером в Интернете. Понимание того, что каждый метод действительно дает возможность более точно делать запросы, информируя сервер о том, какое действие надо выполнить, и делая его более эффективным.
preview
От начального до среднего уровня: Операторы WHILE и DO WHILE

От начального до среднего уровня: Операторы WHILE и DO WHILE

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

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

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

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

Это, несомненно, самый сложный вопрос, который можно объяснить исключительно теоретически. Поэтому я советую вам попрактиковаться с материалами, которые будут показаны здесь. Хотя на первый взгляд всё может показаться простым, данный вопрос с операторами можно понять только на практике в сочетании с постоянным изучением.
preview
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (VIII) — Кнопки быстрой торговли на новостях

От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (VIII) — Кнопки быстрой торговли на новостях

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

От начального до среднего уровня: Переменные (III)

Сегодня мы рассмотрим, как использовать переменные и константы, предопределенные языком MQL5. Кроме того, мы проанализируем еще один особый тип переменных: функции. Умение правильно работать с этими переменными может определить разницу между работающим и неработающим приложением. Для того, чтобы понять представленное здесь, необходимо разобраться с материалом, который был рассмотрен в предыдущих статьях.
preview
От начального до среднего уровня: Операторы BREAK и CONTINUE

От начального до среднего уровня: Операторы BREAK и CONTINUE

В данной статье мы рассмотрим, как использовать операторы RETURN, BREAK и CONTINUE в цикле. Понимание того, что делает каждый из этих операторов в потоке выполнения цикла, очень важно для работы с более сложными приложениями. Представленные здесь материалы предназначены только для обучения. Ни в коем случае не рассматривайте его как окончательное приложение, целью которого не является изучение представленных концепций.
preview
От начального до среднего уровня: Struct (II)

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

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

Переосмысливаем классические стратегии в MQL5 (Часть II): FTSE100 и Гилты Великобритании

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

От начального до среднего уровня: Рекурсия

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

От начального до среднего уровня: Перегрузка

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

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

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