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

icon

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

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

Новая статья
последние | лучшие
preview
Фибоначчи на Форекс (Часть I): Проверяем отношения цены и времени

Фибоначчи на Форекс (Часть I): Проверяем отношения цены и времени

Как рынок ходит по отношениям, основанным на числах Фибоначчи? Эта последовательность, где каждое следующее число равно сумме двух предыдущих (1, 1, 2, 3, 5, 8, 13, 21...), не только описывает рост популяции кроликов. Рассмотрим гипотезу Пифагора о том, что все в мире подчиняется определенным соотношениям чисел...
Как легко и просто опубликовать видео на MQL4.community
Как легко и просто опубликовать видео на MQL4.community

Как легко и просто опубликовать видео на MQL4.community

Показать обычно легче, чем рассказать. Предлагается простой и бесплатный способ создания видеороликов с помощью CamStudio для публикации на форумах MQL4.community.
preview
Как опередить любой рынок (Часть II): Прогнозирование технических индикаторов

Как опередить любой рынок (Часть II): Прогнозирование технических индикаторов

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

Разработка торгового советника с нуля (Часть 9): Концептуальный скачок (II)

Размещение Chart Trade в плавающем окне. В предыдущей статье мы создали базовую систему для использования шаблонов внутри плавающего окна.
preview
Теория категорий в MQL5 (Часть 2)

Теория категорий в MQL5 (Часть 2)

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

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

После оптимизации торговой стратегии мы получаем наборы параметров, на основе которых можно создать несколько экземпляров торговых стратегий, объединённых в одном советнике. Раньше мы делали это вручную, а теперь попробуем автоматизировать этот процесс
preview
Как интегрировать концепцию Smart Money (OB) в сочетании с индикатором Фибоначчи для оптимального входа в сделку

Как интегрировать концепцию Smart Money (OB) в сочетании с индикатором Фибоначчи для оптимального входа в сделку

SMC (Order Block) — это ключевые области, где институциональные трейдеры совершают значительные покупки или продажи. После значительного движения цены уровни Фибоначчи помогают определить потенциальный откат от недавнего максимума колебания (swing high) к минимуму колебания (swing low) для определения оптимальной точки входа в сделку.
preview
Разработка стратегии Zone Recovery Martingale на MQL5

Разработка стратегии Zone Recovery Martingale на MQL5

В статье подробно рассматриваются шаги для создания советника на основе торгового алгоритма Zone Recovery. Это позволяет автоматизировать систему, экономя время алготрейдеров.
preview
Разработка торгового советника с нуля (Часть 19): Новая система ордеров (II)

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

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

Разработка торгового советника с нуля (Часть 24): Обеспечиваем надежность системы (I)

В этой статье мы сделаем систему более надежной, чтобы обеспечить более стабильное и безопасное использование. Один из способов достижения нужной надежности — постараться как можно больше повторно использовать код, чтобы он постоянно проверялся в разных ситуациях. Однако, это только один из путей, а другой — использование ООП.
preview
Как начать работу с MQL5 Algo Forge

Как начать работу с MQL5 Algo Forge

Представляем MQL5 Algo Forge — специальный портал для разработчиков торговых алгоритмов. Он объединяет возможности Git с удобным интерфейсом для ведения и организации проектов в рамках экосистемы MQL5. Здесь вы можете подписываться на интересных авторов, создавать команды и вести совместные проекты по алготрейдингу.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 6): Преобразование Фурье

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

Преобразование Фурье, введенное Жозефом Фурье, является средством разложения сложных волновых точек данных на простые составляющие волны. Эта особенность может быть полезной для трейдеров, и именно ее мы и рассмотрим в этой статье.
preview
Как построить советник, работающий автоматически (Часть 15): Автоматизация (VII)

Как построить советник, работающий автоматически (Часть 15): Автоматизация (VII)

Чтобы завершить этот цикл статей об автоматизации, мы дополним то, что рассмотрели в предыдущей статье. Это определенно показывает, как всё будет сочетаться друг с другом, заставляя советника работать как часы.
preview
Парадигмы программирования (Часть 1): Процедурный подход к разработке советника на основе ценовой динамики

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

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

Визуализации сделок на графике (Часть 1): Выбор периода для анализа

Пишем с нуля скрипт, который сделает удобным выгрузку принт-скринов сделок для анализа торговых входов. На одном графике будет удобно отображаться вся необходимая информация по отдельной сделке с возможностью прорисовывания разных таймфреймов.
preview
Модифицированный советник Grid-Hedge в MQL5 (Часть IV): Оптимизация простой сеточной стратегии (I)

Модифицированный советник Grid-Hedge в MQL5 (Часть IV): Оптимизация простой сеточной стратегии (I)

В четвертой части мы вернемся к советникам Simple Hedge и Simple Grid, разработанным ранее. В этот раз будем совершенствовать советник Simple Hedge. Будем использовать математический анализ и подход грубой силы (brute force) чтобы оптимизировать стратегию. Эта статья углубляется в математическую оптимизацию стратегии и закладывает основу для будущего исследования оптимизации на основе кода в последующих частях.
preview
Разрабатываем мультивалютный советник (Часть 7): Подбор группы с учётом форвард-периода

Разрабатываем мультивалютный советник (Часть 7): Подбор группы с учётом форвард-периода

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

Работа с ценами в библиотеке DoEasy (Часть 60): Список-серия тиковых данных символа

В статье создадим список для хранения тиковых данных одного символа и проверим его создание и получение из него требуемых данных в советнике. Такие списки тиковых данных — свой для каждого используемого символа — далее будут составлять собою коллекцию тиковых данных.
preview
DoEasy. Элементы управления (Часть 8): Базовые WinForms-объекты по категориям, элементы управления "GroupBox" и "CheckBox"

DoEasy. Элементы управления (Часть 8): Базовые WinForms-объекты по категориям, элементы управления "GroupBox" и "CheckBox"

В статье рассмотрим создание WinForms-объектов "GroupBox" и "CheckBox", а также создадим базовые объекты для категорий WinForms-объектов. Все создаваемые объекты пока у нас статические, т.е. не имеют функционала интерактивного взаимодействия с мышкой.
preview
Алгоритм оптимизации на основе мозгового штурма — Brain Storm Optimization (Часть I): Кластеризация

Алгоритм оптимизации на основе мозгового штурма — Brain Storm Optimization (Часть I): Кластеризация

В данной статье мы рассмотрим инновационный метод оптимизации, названный BSO (Brain Storm Optimization), который вдохновлен природным явлением - "мозговым штурмом". Мы также обсудим новый подход к решению многомодальных задач оптимизации, который использует метод BSO и позволяет находить несколько оптимальных решений без необходимости заранее определять количество подпопуляций. В статье мы также рассмотрим методы кластеризации K-Means и K-Means++.
preview
Индикатор рыночного профиля — Market Profile (Часть 2): Оптимизация и отрисовка на канвасе

Индикатор рыночного профиля — Market Profile (Часть 2): Оптимизация и отрисовка на канвасе

В статье будет рассмотрена оптимизированная версия индикатора Профиля Рынка Market Profile, где рисование множеством графических объектов заменено на рисование на холсте — объекте класса CCanvas.
preview
Нейросети — это просто (Часть 78): Детектор объектов на основе Трансформера (DFFT)

Нейросети — это просто (Часть 78): Детектор объектов на основе Трансформера (DFFT)

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

Статистический арбитраж посредством возврата к среднему значению в парной торговле: Обыграем рынок с помощью математики

Эта статья описывает фундаментальные основы статистического арбитража на уровне портфеля. Ее цель — облегчить понимание принципов статистического арбитража читателям, не обладающим глубокими математическими познаниями, и предложить отправную концептуальную конструкцию. Статья включает в себя работающего экспертного советника, некоторые заметки о его тестировании на исторических данных в пределах одного года, а также соответствующие настройки конфигурации тестирования на исторических данных (файл .ini) для воспроизведения эксперимента.
preview
Быстрая интеграция большой языковой модели и MetaTrader 5 (Часть II): Файнтьюн на реальных данных, бэктест и онлайн-торговля модели

Быстрая интеграция большой языковой модели и MetaTrader 5 (Часть II): Файнтьюн на реальных данных, бэктест и онлайн-торговля модели

Статья описывает процесс файнтьюна языковой модели для трейдинга на основе реальных исторических данных из MetaTrader 5. Базовая модель, знающая лишь теоретический технический анализ, обучается на тысяче примеров реального поведения валютных пар (EURUSD, GBPUSD, USDCHF, USDCAD) за 180 дней. После обучения через Ollama модель начинает понимать специфику каждого инструмента.
preview
Распознавание паттернов с использованием динамической трансформации временной шкалы в MQL5

Распознавание паттернов с использованием динамической трансформации временной шкалы в MQL5

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

Индикатор силы и направления тренда на 3D-барах

Рассмотрим новый подход к анализу рыночных трендов, основанный на трехмерной визуализации и тензорном анализе рыночной микроструктуры.
preview
Нейросети — это просто (Часть 45): Обучение навыков исследования состояний

Нейросети — это просто (Часть 45): Обучение навыков исследования состояний

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

Разрабатываем мультивалютный советник (Часть 16): Влияние разных историй котировок на результаты тестирования

Разрабатываемый советник должен показывать хорошие результаты при торговле у разных брокеров. Но мы пока что для тестов использовали котировки с демо-счёта от MetaQuotes. Посмотрим, готов ли наш советник к работе на торговом счёте с другими котировками по сравнению с теми, которые использовались при тестировании и оптимизации.
preview
Разработка торгового советника с нуля (Часть 11): Система кросс-ордеров

Разработка торгового советника с нуля (Часть 11): Система кросс-ордеров

Создание системы кросс-ордеров. Есть один вид активов, который очень усложняет жизнь трейдерам — это активы фьючерсных контрактов. Но почему они усложняют жизнь трейдеру?
preview
DoEasy. Элементы управления (Часть 30): Оживляем элемент управления "ScrollBar"

DoEasy. Элементы управления (Часть 30): Оживляем элемент управления "ScrollBar"

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

Арбитражный трейдинг Forex: Анализ движений синтетических валют и их возврат к среднему

В статье попробуем рассмотреть движения синтетических валют на связке Python + MQL5 и понять, насколько реален арбитраж на Форекс сегодня. А также: готовый код Python для анализа синтетических валют и подробней о том, что такое синтетические валюты на Форекс.
preview
Разработка пользовательского индикатора Heiken Ashi с помощью MQL5

Разработка пользовательского индикатора Heiken Ashi с помощью MQL5

В этой статье мы узнаем, как создать собственный индикатор с использованием MQL5 на основе наших предпочтений, который будет использоваться в MetaTrader 5 для интерпретации графиков или применяться в составе советников.
preview
Нейросети в трейдинге: "Легкие" модели прогнозирования временных рядов

Нейросети в трейдинге: "Легкие" модели прогнозирования временных рядов

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

Автоматизация торговых стратегий с помощью MQL5 (Часть 1): Система Profitunity (Торговый хаос Билла Вильямса)

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

Введение в MQL5 (Часть 3): Изучаем основные элементы MQL5

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

Нейросети — это просто (Часть 41): Иерархические модели

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

Автоматическая оптимизация параметров для торговых стратегий с Python и MQL5

Существует несколько типов алгоритмов самостоятельной оптимизации торговых стратегий и параметров. Эти алгоритмы используются для автоматического улучшения торговых стратегий на основе исторических и текущих рыночных данных. В этой статье мы рассмотрим один из них на примерах реализаций на Python и MQL5.
preview
Нейросети — это просто (Часть 88): Полносвязный Энкодер временных рядов (TiDE)

Нейросети — это просто (Часть 88): Полносвязный Энкодер временных рядов (TiDE)

Желание получить наиболее точные прогнозы толкает исследователей к усложнению моделей прогнозирования. Что в свою очередь ведет к увеличению затрат на обучение и обслуживание модели. Но всегда ли это оправдано? В данной статье я предлагаю вам познакомиться с алгоритмом, который использует простоту и скорость линейных моделей и демонстрирует результаты на уровне лучших с более сложной архитектурой.
preview
Популяционные алгоритмы оптимизации: Электромагнитный алгоритм (ElectroMagnetism-like algorithm, ЕМ)

Популяционные алгоритмы оптимизации: Электромагнитный алгоритм (ElectroMagnetism-like algorithm, ЕМ)

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

Нейросети — это просто (Часть 72): Прогнозирование траекторий в условиях наличия шума

Качество прогнозирование будущих состояний играет важную роль в метода Goal-Conditioned Predictive Coding, с которым мы познакомились в предыдущей статье. В данной статье я хочу познакомить Вас с алгоритмом, способным значительно повысить качество прогнозирования в стохастических средах, к которым можно отнести и финансовые рынки.