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

icon

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

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

Новая статья
последние | лучшие
preview
Прогнозирование с помощью моделей ARIMA в MQL5

Прогнозирование с помощью моделей ARIMA в MQL5

В этой статье мы продолжаем разработку класса CArima для построения моделей ARIMA, добавляя интуитивно понятные методы прогнозирования.
preview
Машинное обучение и Data Science (Часть 18): Сравниваем эффективность TruncatedSVD и NMF в работе со сложными рыночными данными

Машинное обучение и Data Science (Часть 18): Сравниваем эффективность TruncatedSVD и NMF в работе со сложными рыночными данными

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

Сделайте торговые графики лучше с интерактивным графическим интерфейсом на основе MQL5 (Часть I): Перемещаемый интерфейс (I)

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 3): Энтропия Шеннона

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

Несколько индикаторов на графике (Часть 04): Начинаем работу с советником

В предыдущих статьях я рассказывал, как создать индикатор с несколькими подокнами — такая возможность становится интересной при использовании пользовательских индикаторов. В этот раз мы рассмотрим, как добавить несколько окон в советник.
preview
Нейросети — это просто (Часть 40): Подходы к использованию Go-Explore на большом объеме данных

Нейросети — это просто (Часть 40): Подходы к использованию Go-Explore на большом объеме данных

В данной статье обсуждается применение алгоритма Go-Explore на протяжении длительного периода обучения, так как стратегия случайного выбора действий может не привести к прибыльному проходу с увеличением времени обучения.
preview
Арбитражный трейдинг Forex: Матричная торговая система на возврат к справедливой стоимости с ограничением риска

Арбитражный трейдинг Forex: Матричная торговая система на возврат к справедливой стоимости с ограничением риска

Статья содержит детальное описание алгоритма расчета кросс-курсов, визуализацию матрицы дисбалансов и рекомендации по оптимальной настройке параметров MinDiscrepancy и MaxRisk для эффективной торговли. Система автоматически рассчитывает "справедливую стоимость" каждой валютной пары через кросс-курсы, генерируя сигналы на покупку при отрицательных отклонениях, и на продажу — при положительных.
preview
DoEasy. Сервисные функции (Часть 2): Паттерн "Внутренний бар"

DoEasy. Сервисные функции (Часть 2): Паттерн "Внутренний бар"

В статье продолжим рассматривать ценовые паттерны в библиотеке DoEasy. Создадим класс паттерна "Внутренний бар" формаций Price Action.
preview
Реализация фактора Януса в MQL5

Реализация фактора Януса в MQL5

Гэри Андерсон разработал метод анализа рынка, основанный на теории, которую он назвал фактором Януса. Теория описывает набор индикаторов, которые можно использовать для выявления тенденций и оценки рыночного риска. В этой статье мы реализуем эти инструменты в MQL5.
preview
Изучение MQL5 — от новичка до профи (Часть III): Сложные типы данных и подключаемые файлы

Изучение MQL5 — от новичка до профи (Часть III): Сложные типы данных и подключаемые файлы

Статья является третьей в серии материалов об основных аспектах программирования на MQL5. Здесь описываются сложные типы данных, которые не были описаны в предыдущей статье, включая структуры, объединения, классы и тип данных "функция". Также рассказано, как добавить модульности нашей программе с помощью директивы препроцессора #include.
preview
Несколько индикаторов на графике (Часть 06): Превращаем MetaTrader 5 в систему RAD (II)

Несколько индикаторов на графике (Часть 06): Превращаем MetaTrader 5 в систему RAD (II)

В предыдущей статье я показал, как создать Chart Trade с использованием объектов MetaTrader 5 и превратить платформу в систему RAD. Система работает очень хорошо, и наверняка многие задумывались о создании библиотеки — она позволит иметь всё больше и больше функциональности в предлагаемой системе, и можно будет разработать более интуитивно понятный советник с более приятный и простым в использовании интерфейсом.
preview
Возможности SQLite в MQL5: Пример интерактивной панели с торговой статистикой в разрезе символов и магиков

Возможности SQLite в MQL5: Пример интерактивной панели с торговой статистикой в разрезе символов и магиков

В статье рассмотрим создание индикатора, отображающего на интерактивной панели статистику торговли по счёту и в разрезе символов и торговых стратегий. Код напишем, основываясь на примерах из Документации и статьи о работе с базами данных.
preview
Создаем простой мультивалютный советник с использованием MQL5 (Часть 5): Полосы Боллинджера на канале Кельтнера — Сигналы индикаторов

Создаем простой мультивалютный советник с использованием MQL5 (Часть 5): Полосы Боллинджера на канале Кельтнера — Сигналы индикаторов

Под мультивалютным советником в этой статье понимается советник, или торговый робот, который может торговать (открывать/закрывать ордера, управлять ордерами, например, трейлинг-стоп-лоссом и трейлинг-профитом) более чем одной парой символов с одного графика. В этой статье мы будем использовать сигналы двух индикаторов - полосы Боллинджера (Bollinger Bands®) на канале Кельтнера.
preview
Машинное обучение и Data Science (Часть 31): Применение моделей CatBoost в трейдинге

Машинное обучение и Data Science (Часть 31): Применение моделей CatBoost в трейдинге

Модели искусственного интеллекта CatBoost приобрели огромную популярность в сообществе машинного обучения благодаря их точности прогнозирования, эффективности и устойчивости к разрозненным и сложным наборам данных. В этой статье речь будет идти о том, как использовать эти модели применительно к рынку Форекс.
preview
Популяционный ADAM (Adaptive Moment Estimation)

Популяционный ADAM (Adaptive Moment Estimation)

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

Ложные регрессии в Python

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

Арбитражный трейдинг Forex: Панель оценки взаимосвязей

Рассмотрим создание арбитражной панели на языке MQl5. Как получать справедливые курсы валют на Forex разными способами? Создадим индикатор для получения отклонений рыночных цен от справедливых курсов, а также для оценки выгоды от арбитражных путей обмена одной валюты на другую (как в треугольном арбитраже).
preview
Разметка данных в анализе временных рядов (Часть 2):Создаем наборы данных с маркерами тренда с помощью Python

Разметка данных в анализе временных рядов (Часть 2):Создаем наборы данных с маркерами тренда с помощью Python

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

Интерпретация моделей: Более глубокое понимание моделей машинного обучения

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

Разработка торгового советника с нуля (Часть 13): Время и торговля (II)

Сегодня мы построим вторую часть системы Times & Trade для анализа рынка. В предыдущей статье "Times & Trade (I)" мы рассмотрели альтернативную систему для организации графика, чтобы у нас был индикатор, позволяющий как можно быстрее интерпретировать сделки, совершенные на рынке.
preview
Изучение MQL5 — от новичка до профи (Часть IV): О массивах, функциях и глобальных переменных терминала

Изучение MQL5 — от новичка до профи (Часть IV): О массивах, функциях и глобальных переменных терминала

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

Торгуем опционы без опционов (Часть 1): Основы теории и эмуляция через базовые активы

Статья описывает вариант эмуляции опционов через базовый актив, реализованный на языке программирования MQL5. Сравниваются преимущества и недостатки выбранного подхода с реальными биржевыми опционами на примере срочного рынка ФОРТС московской биржи MOEX и криптобиржи Bybit.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 02): Карты Кохонена

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

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

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

В этой статье мы рассмотрим методы, связанные с анализом временных рядов в частотной области. Также будет уделено внимание пользе изучения спектральных функций временных рядов при построении прогностических моделей. Кроме того, мы обсудим некоторые многообещающие перспективы анализа временных рядов в частотной области с использованием дискретного преобразования Фурье (ДПФ).
preview
DoEasy. Элементы управления (Часть 31): Прокрутка содержимого элемента управления "ScrollBar"

DoEasy. Элементы управления (Часть 31): Прокрутка содержимого элемента управления "ScrollBar"

В статье создадим функционал прокрутки содержимого контейнера кнопками горизонтальной полосы прокрутки.
preview
Алгорим оптимизации химическими реакциями — Chemical reaction optimisation, CRO (Часть I): Химия процессов в оптимизации

Алгорим оптимизации химическими реакциями — Chemical reaction optimisation, CRO (Часть I): Химия процессов в оптимизации

В первой части данной статьи мы окунемся в мир химических реакций и откроем новый подход к оптимизации! Метод оптимизации химическими реакциями (CRO) использует для достижения эффективных результатов принципы, определяемые законами термодинамики. Мы раскроем секреты декомпозиции, синтеза и других химических процессов, которые стали основой этого инновационного метода.
preview
Нейросети в трейдинге: Модель двойного внимания для прогнозирования трендов

Нейросети в трейдинге: Модель двойного внимания для прогнозирования трендов

Продолжаем разговор об использовании кусочно-линейного представления временных рядов, начатый в предыдущей статье. И сегодня мы поговорим о комбинировании данного метода с другими подходами к анализу временных рядов для повышения качества прогнозирования трендов ценовых движений.
preview
Нейросети — это просто (Часть 86): U-образный Трансформер

Нейросети — это просто (Часть 86): U-образный Трансформер

Мы продолжаем рассмотрение алгоритмов прогнозирования временных рядов. И в данной статье я предлагаю Вам познакомиться с методов U-shaped Transformer.
preview
Нейросети — это просто (Часть 61): Проблема оптимизма в офлайн обучении с подкреплением

Нейросети — это просто (Часть 61): Проблема оптимизма в офлайн обучении с подкреплением

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

Введение в MQL5 (Часть 2): Предопределенные переменные, общие функции и операторы потока управления

В этой статье мы продолжаем знакомиться с языком программирования MQL5. Данная серия статей — не просто учебный материал пособия, это двери в мир программирования. Что делает их особенными? Я постарался в объяснениях сохранять простоту изложения, чтобы сделать сложные концепции доступными для всех. При всей доступности материала, для наилучшего результата вам нужно активно воспроизводить все, о чем мы будем говорить. Только в этом случае вы получите максимальную выгоду от данных статей.
preview
Стратегии торговли прорыва: разбор ключевых методов

Стратегии торговли прорыва: разбор ключевых методов

Стратегии прорыва диапазона открытия (Opening Range Breakout, ORB) основаны на идее о том, что начальный торговый диапазон, установленный вскоре после открытия рынка, отражает значимые уровни цен, когда покупатели и продавцы договариваются о стоимости. Выявляя прорывы определенного диапазона вверх или вниз, трейдеры могут извлекать выгоду из моментума, который часто возникает, когда направление рынка становится более отчетливым. В этой статье рассмотрим три стратегии ORB, адаптированные из материалов компании Concretum Group.
preview
Нейросети — это просто (Часть 24): Совершенствуем инструмент для Transfer Learning

Нейросети — это просто (Часть 24): Совершенствуем инструмент для Transfer Learning

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

Отправка торгового сигнала через RSS канал

В данной статье описывается отправка торговых сигналов через RSS канал, как один из популярных способов мгновенного общения с членами Вашего сообщества.
preview
Введение в MQL5 (Часть 8): Руководство для начинающих по созданию советников (II)

Введение в MQL5 (Часть 8): Руководство для начинающих по созданию советников (II)

В этой статье рассматриваются частые вопросы, которые начинающие программисты задают на форуме MQL5. Также демонстрируются практические решения. Мы научимся совершать основные действия: покупку и продажу, получение цен свечей, а также управление торговыми аспектами, включая торговые лимиты, периоды и пороговые значения прибыли/убытка. В статье представлены пошаговые инструкции, которые помогут вам лучше понять и реализовать обсуждаемые концепции на MQL5.
preview
Популяционные алгоритмы оптимизации: Изменяем форму и смещаем распределения вероятностей и тестируем на "Умном головастике" (Smart Cephalopod, SC)

Популяционные алгоритмы оптимизации: Изменяем форму и смещаем распределения вероятностей и тестируем на "Умном головастике" (Smart Cephalopod, SC)

В данной статье исследуется влияние изменения формы распределений вероятностей на производительность алгоритмов оптимизации. Мы проводим эксперименты на тестовом алгоритме 'Умный головастик' (SC), чтобы оценить эффективность различных распределений вероятностей в контексте оптимизационных задач.
preview
Нейросети — это просто (Часть 43): Освоение навыков без функции вознаграждения

Нейросети — это просто (Часть 43): Освоение навыков без функции вознаграждения

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

Нейросети в трейдинге: Кусочно-линейное представление временных рядов

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

Нейросети — это просто (Часть 80): Генеративно-состязательная модель Трансформера графов (GTGAN)

В данной статье я предлагаю Вам познакомиться с алгоритмом GTGAN, который был представлен в январе 2024 года для решения сложных задач по созданию архитектурного макета с ограничениями на граф.
preview
MQL5-советник, интегрированный в Telegram (Часть 2): Отправка сигналов из MQL5 в Telegram

MQL5-советник, интегрированный в Telegram (Часть 2): Отправка сигналов из MQL5 в Telegram

В этой статье мы создадим MQL5-советник, интегрированный с Telegram, который отправляет в мессенджер сигналы пересечения скользящих средних. Мы подробно опишем процесс генерации торговых сигналов на основе пересечений скользящих средних, реализуем необходимый код на языке MQL5 и обеспечим бесперебойную работу интеграции. В результате мы получим систему, которая отправляет торговые оповещения в реальном времени непосредственно в групповой чат Telegram.
preview
DoEasy. Элементы управления (Часть 4): Элемент управления "Панель", параметры Padding и Dock

DoEasy. Элементы управления (Часть 4): Элемент управления "Панель", параметры Padding и Dock

В статье реализуем работу таких параметров панели как Padding (внутренние отступы/поля со всех сторон элемента) и Dock (способ расположения объекта внутри контейнера).