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

icon

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

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

Новая статья
последние | лучшие
preview
Теория категорий в MQL5 (Часть 22): Другой взгляд на скользящие средние

Теория категорий в MQL5 (Часть 22): Другой взгляд на скользящие средние

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 14): Многоцелевое прогнозирование таймсерий с помощью STF

Пространственно-временное слияние (Spatial Temporal Fusion, STF), которое использует как "пространственные", так и временные метрики при моделировании данных, в первую очередь применяется в дистанционном обследовании и во многих других областях, связанных с визуализацией, для лучшего понимания нашего окружения. Основываясь на опубликованной статье, мы изучим потенциал этого подхода для трейдеров.
preview
Алгоритм атомарного орбитального поиска — Atomic Orbital Search (AOS): Модификация

Алгоритм атомарного орбитального поиска — Atomic Orbital Search (AOS): Модификация

Во второй части статьи мы продолжим разработку модифицированной версии алгоритма AOS (Atomic Orbital Search), сфокусировавшись на специфических операторах для повышения его эффективности и адаптивности. После анализа основ и механик алгоритма, мы обсудим идеи по улучшению производительности и возможности анализа сложных пространств решений, предлагая новые подходы для расширения его функциональности как инструмента для оптимизации.
preview
Нейросети в трейдинге: Снижение потребления памяти методом оптимизации Adam (Adam-mini)

Нейросети в трейдинге: Снижение потребления памяти методом оптимизации Adam (Adam-mini)

Одним из направлений повышения эффективности процесса обучения и сходимости моделей является улучшение методов оптимизации. Adam-mini представляет собой адаптивный метод оптимизации, разработанный для улучшения базового алгоритма Adam.
preview
Реализация механизма безубыточности в MQL5 (Часть 1): Базовый класс и режим безубытка по фиксированным пунктам

Реализация механизма безубыточности в MQL5 (Часть 1): Базовый класс и режим безубытка по фиксированным пунктам

В данной статье рассматривается применение механизма безубыточности (breakeven) в автоматизированных стратегиях на языке MQL5. Начнем с простого объяснения, что такое режим безубытка, как он реализуется и каковы его возможные вариации. Далее эта функциональность интегрируется в советника Order Blocks, созданного нами в последней статье об управлении рисками. Для оценки эффективности проведем два бэктеста при определенных условиях: один с применением механизма безубыточности и другой — без.
preview
Индикатор сезонности по часам, дням недели и месяца

Индикатор сезонности по часам, дням недели и месяца

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

Перестановка ценовых баров в MQL5

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

MQL5-советник, интегрированный в Telegram (Часть 7): Анализ команд для автоматизации индикаторов на графиках

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

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

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

Нейросети в трейдинге: Возмущённые модели пространства состояний для анализа рыночной динамики (Окончание)

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

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

Свёрточные нейронные сети (Convolutional Neural Networks, CNNs) — ещё один алгоритм машинного обучения, который, как правило, специализируется на разложении многомерных наборов данных на ключевые составные части. Мы рассмотрим принцип его работы и исследуем возможное применение для трейдеров в очередном классе сигналов Мастера MQL5.
preview
MQL5-советник, интегрированный в Telegram (Часть 6): Добавление адаптивных встроенных кнопок

MQL5-советник, интегрированный в Telegram (Часть 6): Добавление адаптивных встроенных кнопок

В этой статье мы интегрируем интерактивные встроенные кнопки в MQL5-советник, что позволяет осуществлять управление в режиме реального времени через Telegram. Каждое нажатие кнопки запускает определенные действия и отправляет ответы обратно пользователю. Мы также создадим функции для эффективной обработки Telegram-сообщений и callback-запросов.
preview
Понимание и эффективное использование OpenCL API путем воссоздания встроенной поддержки в виде DLL в Linux (Часть 2): Реализация OpenCL Simple DLL

Понимание и эффективное использование OpenCL API путем воссоздания встроенной поддержки в виде DLL в Linux (Часть 2): Реализация OpenCL Simple DLL

В продолжение первой части создадим простую DLL и протестируем ее с помощью MetaTrader 5. Это хорошо подготовит нас к разработке полноценной поддержки OpenCL в виде DLL в следующей части.
preview
Связь торговых роботов MetaTrader 5 с внешними брокерами через API и Python

Связь торговых роботов MetaTrader 5 с внешними брокерами через API и Python

В настоящей статье мы обсудим реализацию MQL5 в партнерстве с Python для выполнения связанных с брокером операций. Представьте, что у вас есть постоянно работающий советник (EA), размещенный на VPS и совершающий сделки от вашего имени. В какой-то момент способность советника управлять средствами становится первостепенной. Она включает в себя такие операции, как пополнение вашего торгового счета и инициирование вывода средств. В данном обсуждении мы прольем свет на преимущества и практическую реализацию этих функций, обеспечивающих плавную интеграцию управления средствами в вашу торговую стратегию. Следите за обновлениями!
preview
Нейросети в трейдинге: Transformer для облака точек (Pointformer)

Нейросети в трейдинге: Transformer для облака точек (Pointformer)

В данной статье мы поговорим об алгоритмах использования методов внимания при решении задач обнаружения объектов в облаке точек. Обнаружение объектов в облаках точек имеет важное значение для многих реальных приложений.
preview
Теория категорий в MQL5 (Часть 14): Функторы с линейным порядком

Теория категорий в MQL5 (Часть 14): Функторы с линейным порядком

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

Применение теории игр Нэша с фильтрацией НММ в трейдинге

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

Разработка системы репликации (Часть 28): Проект советника — класс C_Mouse (II)

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

Теория категорий в MQL5 (Часть 23): Другой взгляд на двойную экспоненциальную скользящую среднюю

В этой статье мы продолжаем рассматривать популярные торговые индикаторы под новым углом. Мы собираемся обрабатывать горизонтальную композицию естественных преобразований. Лучшим индикатором для этого является двойная экспоненциальная скользящая средняя (Double Exponential Moving Average, DEMA).
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 10): Нетрадиционная RBM

Возможности Мастера MQL5, которые вам нужно знать (Часть 10): Нетрадиционная RBM

Ограниченные машины Больцмана (Restrictive Boltzmann Machines, RBM) представляют собой на базовом уровне двухслойную нейронную сеть, способную выполнять неконтролируемую классификацию посредством уменьшения размерности. Мы используем ее основные принципы и посмотрим что случится, если мы перепроектируем и обучим ее нестандартно. Сможем ли мы получить полезный фильтр сигналов?
preview
Нейросети в трейдинге: Мультиагентная адаптивная модель (Окончание)

Нейросети в трейдинге: Мультиагентная адаптивная модель (Окончание)

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

Нейросети в трейдинге: От трансформеров к спайковым нейронам (Основные компоненты)

Предлагаем вниманию читателя реализацию подходов фреймворка SpikingBrain на основе рекуррентного линейного внимания с гейтами, подробно разобранного в этой статье. Алгоритмы прямого прохода, распределения градиентов и обновления весов обеспечивают эффективную обработку финансовых временных рядов и позволяют воплотить ключевые идеи фреймворка на практике.
preview
Популяционные алгоритмы оптимизации: Искусственные мультисоциальные поисковые объекты (artificial Multi-Social search Objects, MSO)

Популяционные алгоритмы оптимизации: Искусственные мультисоциальные поисковые объекты (artificial Multi-Social search Objects, MSO)

Продолжение предыдущей статьи как развитие идеи социальных групп. В новой статье исследуется эволюция социальных групп с использованием алгоритмов перемещения и памяти. Результаты помогут понять эволюцию социальных систем и применить их в оптимизации и поиске решений.
preview
Как создать торговый журнал с помощью MetaTrader и Google Sheets

Как создать торговый журнал с помощью MetaTrader и Google Sheets

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

Трейдинг с экономическим календарем MQL5 (Часть 1): Освоение функций экономического календаря MQL5

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

Разрабатываем мультивалютный советник (Часть 22): Начало перехода на горячую замену настроек

Если мы взялись за автоматизацию проведения периодической оптимизации, то надо позаботиться и об автоматическом обновлении настроек советников, которые уже работают на торговом счёте. Также это должно позволять запускать советник в тестере стратегий и менять его настройки в рамках одного прохода.
preview
Разработка системы репликации - Моделирование рынка (Часть 14): Появление СИМУЛЯТОРА (IV)

Разработка системы репликации - Моделирование рынка (Часть 14): Появление СИМУЛЯТОРА (IV)

В этой статье мы продолжим этап разработки симулятора. Однако сейчас мы увидим, как эффективно создать движение типа «СЛУЧАЙНОЕ БЛУЖДАНИЕ». Этот тип движения весьма интригующий, поскольку служит основой всего, что происходит на рынке капитала. Кроме того, мы начнем понимать некоторые концепции, основополагающие для тех, кто проводит анализ рынка.
preview
Алгоритм стрельбы из лука — Archery Algorithm (AA)

Алгоритм стрельбы из лука — Archery Algorithm (AA)

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

Нейросети в трейдинге: Иерархия навыков для адаптивного поведения агентов (Окончание)

В статье рассматривается практическая реализация фреймворка HiSSD в задачах алгоритмического трейдинга. Показано, как иерархия навыков и адаптивная архитектура могут быть использованы для построения устойчивых торговых стратегий.
preview
Нейросети в трейдинге: Интеграция теории хаоса в прогнозирование временных рядов (Attraos)

Нейросети в трейдинге: Интеграция теории хаоса в прогнозирование временных рядов (Attraos)

Фреймворк Attraos интегрирует теорию хаоса в долгосрочное прогнозирование временных рядов, рассматривая их как проекции многомерных хаотических динамических систем. Используя инвариантность аттрактора, модель применяет реконструкцию фазового пространства и динамическую память с несколькими разрешениями для сохранения исторических структур.
preview
Разработка системы репликации - Моделирование рынка (Часть 12): Появление СИМУЛЯТОРА (II)

Разработка системы репликации - Моделирование рынка (Часть 12): Появление СИМУЛЯТОРА (II)

Разработка симулятора может оказаться гораздо интереснее, чем кажется. Сегодня мы сделаем еще несколько шагов в этом направлении, потому что всё становится интереснее.
preview
Нейросети в трейдинге: Повышение эффективности Transformer путем снижения резкости (SAMformer)

Нейросети в трейдинге: Повышение эффективности Transformer путем снижения резкости (SAMformer)

Обучение моделей Transformer требует больших объемов данных и часто затруднено из-за слабой способности моделей к обобщению на малых выборках. Фреймворк SAMformer помогает решить эту проблему, избегая плохих локальных минимумов. И повышает эффективность моделей даже на ограниченных обучающих выборках.
preview
Разработка системы репликации (Часть 32): Система ордеров (I)

Разработка системы репликации (Часть 32): Система ордеров (I)

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

Биологический нейрон для прогнозирования финансовых временных рядов

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

Разработка системы репликации - Моделирование рынка (Часть 25): Подготовка к следующему этапу

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 09): Сочетание кластеризации k-средних с фрактальными волнами

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

DoEasy. Элементы управления (Часть 28): Стили полосы в элементе управления "ProgressBar"

В статье будут разработаны стили отображения и текст описания полосы прогресса элемента управления ProgressBar
preview
Анализ нескольких символов с помощью Python и MQL5 (Часть 3): Треугольные курсы валют

Анализ нескольких символов с помощью Python и MQL5 (Часть 3): Треугольные курсы валют

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

Создаем интерактивную MQL5-панель с использованием класса Controls (Часть 1): Настройка панели

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

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

В статье представлена реализация Adaptive Density Module (ADM), ключевого компонента фреймворка EEMFlow, средствами MQL5. Рассмотрены этапы построения и объединения субмодулей MDC и MDS, а также интеграция ADM в существующую торговую модель BAT. Результаты тестирования на исторических данных EURUSD показывают устойчивый рост депозита, контролируемые просадки и высокую стабильность кривой эквити.