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

icon

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

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

Новая статья
последние | лучшие
preview
Оптимизация наследованием крови — Blood inheritance optimization (BIO)

Оптимизация наследованием крови — Blood inheritance optimization (BIO)

Представляю вашему вниманию мой новый популяционный алгоритм оптимизации BIO (Blood Inheritance Optimization), вдохновленный системой наследования групп крови человека. В этом алгоритме каждое решение имеет свою "группу крови", определяющую способ его эволюции. Как и в природе, группа крови ребенка наследуется по особым правилам, в BIO новые решения получают свои характеристики через систему наследования и мутаций.
preview
Разработка динамического советника на нескольких парах (Часть 3): Стратегии возврата к среднему и моментума

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

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

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

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 30): Пакетная нормализация в машинном обучении

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

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

Сегодня мы начнем изучать структуры более простым, практичным и комфортным способом. Структуры являются одной из основ программирования, независимо от того, структурированы они или нет. Я знаю, что по мнению многих, структуры - это просто коллекции данных, но уверяю вас, что это гораздо больше, чем просто структуры. И здесь мы начнем исследовать эту новую вселенную наиболее дидактическим способом.
preview
Машинное обучение и Data Science (Часть 33): Pandas Dataframe в MQL5, упрощаем сбор данных для машинного обучения

Машинное обучение и Data Science (Часть 33): Pandas Dataframe в MQL5, упрощаем сбор данных для машинного обучения

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 46): Ишимоку

Ichimuko Kinko Hyo — известный японский индикатор, представляющий собой систему определения тренда. Как и в предыдущих статьях, мы рассмотрим этот индикатор с использованием паттернов и поделимся стратегиями и отчетами о тестировании, применив классы библиотеки Мастера MQL5.
preview
Оптимизация коралловых рифов — Coral Reefs Optimization (CRO)

Оптимизация коралловых рифов — Coral Reefs Optimization (CRO)

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

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

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

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

Данная статья является переходом между тем, что рассматривалось до этого, и новым этапом исследований. Чтобы понять эту статью, необходимо прочитать предыдущие. Представленные здесь материалы предназначены только для обучения. Ни в коем случае нельзя рассматривать это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
preview
Стратегия орла — Eagle Strategy (ES)

Стратегия орла — Eagle Strategy (ES)

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 32): Регуляризация

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

Упрощаем торговлю на новостях (Часть 6): Совершаем сделки (III)

В этой статье будет реализована сортировка новостей для отдельных новостных событий на основе их идентификаторов. Кроме того, предыдущие запросы SQL будут улучшены для предоставления дополнительной информации или сокращения времени выполнения запроса. Код, созданный в предыдущих статьях, станет работоспособным.
preview
Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 6)

Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 6)

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

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

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

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

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

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

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

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

В этой статье мы начнем рассматривать одну из концепций, которую многие новички избегают. Это связано с тем, что шаблоны - непростая тема, поскольку многие не понимают основного принципа, лежащего в основе шаблона: перегрузка функций и процедур.
preview
Алгоритм хаотической оптимизации  — Chaos optimization algorithm (COA)

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

Усовершенствованный алгоритм хаотической оптимизации (COA), объединяющий воздействие хаоса с адаптивными механизмами поиска. Алгоритм использует множество хаотических отображений и инерционные компоненты для исследования пространства поиска. Статья раскрывает теоретические основы хаотических методов финансовой оптимизации.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 53): Market Facilitation Index

Возможности Мастера MQL5, которые вам нужно знать (Часть 53): Market Facilitation Index

Market Facilitation Index (индекс облегчения рынка) — еще один индикатор Билла Вильямса, предназначенный для измерения эффективности движения цен в сочетании с объемом. Как всегда, мы рассматриваем различные паттерны этого индикатора в рамках класса сигналов Мастера и представляем ряд отчетов по тестам и результаты анализа различных паттернов.
preview
От новичка до эксперта: Торговля с временной фильтрацией

От новичка до эксперта: Торговля с временной фильтрацией

Просто потому, что тики постоянно прибывают, это не значит, что каждый момент - это возможность торговать. Сегодня мы подробно изучаем искусство выбора времени, сосредоточившись на разработке алгоритма временной изоляции, который поможет трейдерам определять наиболее благоприятные рыночные периоды и торговать в них. Развитие этой дисциплины позволяет розничным трейдерам более точно ориентироваться в институциональных сроках, где точность и терпение часто определяют успех. Присоединяйтесь к этой дискуссии, поскольку мы исследуем науку тайминга и выборочного трейдинга с помощью аналитических возможностей MQL5.
preview
Как торговать Fair Value Gaps: правила формирования, сценарии отработки и автоторговля с помощью прерывателей и сдвигов структуры рынка

Как торговать Fair Value Gaps: правила формирования, сценарии отработки и автоторговля с помощью прерывателей и сдвигов структуры рынка

Это статья, написанная мной с целью объяснить разрывы реальной стоимости (Fair Value Gaps), логику их формирования и повяления, а также автоматическую торговлю с помощью прерывателей и сдвигов структуры рынка.
preview
Нейросети в трейдинге: Рекуррентное моделирование микродвижений рынка (EV-MGRFlowNet)

Нейросети в трейдинге: Рекуррентное моделирование микродвижений рынка (EV-MGRFlowNet)

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

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

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

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

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

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

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

Нейросети в трейдинге: Спайковая архитектура пространственно-временного анализа рынка (Энкодер)

В статье представлена адаптация фреймворка SDformerFlow, обеспечивающая высокую адаптивность за счёт интеграции спайкового внимания с многооконной свёрткой и взвешенным суммированием элементов Query. Архитектура позволяет каждой голове внимания обучать собственные параметры, что повышает точность и чувствительность модели к структуре анализируемых данных.
preview
Алгоритм успешного ресторатора —  Successful Restaurateur Algorithm (SRA)

Алгоритм успешного ресторатора — Successful Restaurateur Algorithm (SRA)

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

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

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

Нейросети в трейдинге: Спайково-семантический подход к пространственно-временной идентификации (S3CE-Net)

Приглашаем к знакомству с фреймворком S3CE-Net и его механизмами SSAM и STFS, которые точно обрабатывают спайковые события с учётом каузальности. Модель лёгкая, параллельная и умеет выявлять сложные связи во времени и пространстве.
preview
От новичка до эксперта: Развиваем географическую осознанность рынка с помощью визуализации на MQL5

От новичка до эксперта: Развиваем географическую осознанность рынка с помощью визуализации на MQL5

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

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

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

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

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

Нейросети в трейдинге: Сквозная многомерная модель прогнозирования временных рядов (Основные компоненты)

Предлагаем познакомиться с новой реализацией ключевых компонентов Фреймворка GinAR — адаптивного алгоритма для работы с графовыми временными рядами. В статье шаг за шагом разобраны архитектура, алгоритмы прямого прохода и обратного распространения ошибки.
preview
Нейросети в трейдинге: Распутывание структурных компонентов (SCNN)

Нейросети в трейдинге: Распутывание структурных компонентов (SCNN)

Предлагаем познакомиться с инновационным фреймворком SCNN, который выводит анализ временных рядов на новый уровень за счёт чёткого разделения данных на долгосрочные, сезонные, краткосрочные и остаточные компоненты. Такой подход значительно повышает точность прогнозирования, позволяя модели адаптироваться к сложной и меняющейся рыночной динамике.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 45): Обучение с подкреплением с помощью метода Монте-Карло

Возможности Мастера MQL5, которые вам нужно знать (Часть 45): Обучение с подкреплением с помощью метода Монте-Карло

Монте-Карло — четвертый алгоритм обучения с подкреплением, который мы рассматриваем в контексте его реализации в советниках, собранных с помощью Мастера. Хотя алгоритм основан на случайной выборке, он предоставляет обширные возможности моделирования.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 47): Обучение с подкреплением (алгоритм временных различий)

Возможности Мастера MQL5, которые вам нужно знать (Часть 47): Обучение с подкреплением (алгоритм временных различий)

Temporal Difference (TD, временные различия) — еще один алгоритм обучения с подкреплением, который обновляет Q-значения на основе разницы между прогнозируемыми и фактическими вознаграждениями во время обучения агента. Особое внимание уделяется обновлению Q-значений без учета их пар "состояние-действие" (state-action). Как обычно, мы рассмотрим, как этот алгоритм можно применить в советнике, собранном с помощью Мастера.
preview
Тенденции и традиции: Использование функций Радемахера в трейдинге

Тенденции и традиции: Использование функций Радемахера в трейдинге

Несмотря на то, что функции, о которых пойдет речь, известны уже довольно давно, их применение в области трейдинга до сих пор остается terra incognita. В этой статье мы рассмотрим некоторые возможности, которые эти новые старые функции открывают для разработки торговых стратегий, и оценим их потенциал.
preview
Детерминированный осциллирующий поиск — Deterministic Oscillatory Search (DOS)

Детерминированный осциллирующий поиск — Deterministic Oscillatory Search (DOS)

Алгоритм Deterministic Oscillatory Search (DOS) — инновационный метод глобальной оптимизации, сочетающий преимущества градиентных и роевых алгоритмов без использования случайных чисел. Механизм осцилляций и наклонов фитнеса позволяет DOS исследовать сложные пространства поиска детерминированным методом.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 49): Обучение с подкреплением и проксимальной оптимизацией политики

Возможности Мастера MQL5, которые вам нужно знать (Часть 49): Обучение с подкреплением и проксимальной оптимизацией политики

Проксимальная оптимизация политики (Proximal Policy Optimization) — еще один алгоритм обучения с подкреплением, который обновляет политику, часто в сетевой форме, очень маленькими шагами, чтобы обеспечить стабильность модели. Как обычно, мы рассмотрим, как этот алгоритм можно применить в советнике, собранном с помощью Мастера.