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

icon

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

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

Новая статья
последние | лучшие
preview
Нейросети — это просто (Часть 93): Адаптивное прогнозирование в частотной и временной областях (Окончание)

Нейросети — это просто (Часть 93): Адаптивное прогнозирование в частотной и временной областях (Окончание)

В данной статье мы продолжаем реализацию подходов ATFNet — модели, которая адаптивно объединяет результаты 2 блоков (частотного и временного) прогнозирования временных рядов
preview
Создаем простой мультивалютный советник с использованием MQL5 (Часть 2): Сигналы индикатора - мультитаймфреймовый Parabolic SAR

Создаем простой мультивалютный советник с использованием MQL5 (Часть 2): Сигналы индикатора - мультитаймфреймовый Parabolic SAR

Под мультивалютным советником в этой статье понимается советник, или торговый робот, который может торговать (открывать/закрывать ордера, управлять ордерами, например, трейлинг-стоп-лоссом и трейлинг-профитом) более чем одной парой символов с одного графика. На этот раз мы будем использовать только один индикатор, а именно Parabolic SAR или iSAR на нескольких таймфреймах, начиная с PERIOD_M15 и заканчивая PERIOD_D1.
preview
DoEasy. Элементы управления (Часть 9): Реорганизация методов WinForms-объектов, элементы управления "RadioButton" и "Button"

DoEasy. Элементы управления (Часть 9): Реорганизация методов WinForms-объектов, элементы управления "RadioButton" и "Button"

В статье наведём порядок в наименованиях методов классов WinForms-объектов и создадим WinForms-объекты Button и RadioButton.
preview
Торговый инструментарий MQL5 (Часть 1): Разработка EX5-библиотеки для управления позициями

Торговый инструментарий MQL5 (Часть 1): Разработка EX5-библиотеки для управления позициями

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

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

Сегодня мы выведем нашу систему ордеров на новый уровень, но сначала нам нужно решить несколько задач. Сейчас у нас есть разные вопросы, которые связаны с тем, как мы хотим работать и какие вещи мы делаем в течение торгового дня.
preview
Реализация советника Deus: Автоматическая торговля с RSI и скользящими средними в MQL5

Реализация советника Deus: Автоматическая торговля с RSI и скользящими средними в MQL5

В статье описываются шаги по внедрению советника Deus на основе индикаторов RSI и скользящей средней для управления автоматической торговлей.
preview
Разрабатываем мультивалютный советник (Часть 15): Готовим советник к реальной торговле

Разрабатываем мультивалютный советник (Часть 15): Готовим советник к реальной торговле

Постепенно приближаясь к получению готового советника, необходимо уделить внимание вопросам, которые являются второстепенными на этапе тестирования торговой стратегии, но становятся важными при переходе к реальной торговле.
preview
Скальпинг по потоку ордеров (Order Flow Scalping) с MQL5

Скальпинг по потоку ордеров (Order Flow Scalping) с MQL5

Данный советник для MetaTrader 5 реализует стратегию Scalping OrderFlow (стратегия скальпирования потока ордеров) с расширенным управлением рисками. В нем используется множество технических индикаторов для определения торговых возможностей на основе дисбалансов в потоке ордеров. Бэк-тестирование показывает потенциальную прибыльность, но подчеркивает необходимость дальнейшей оптимизации, особенно в области управления рисками и соотношения результатов торговли. Он подходит для опытных трейдеров и требует тщательного тестирования и понимания перед практическим применением.
preview
Разрабатываем мультивалютный советник (Часть 18): Автоматизация подбора групп с учётом форвард-периода

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

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

Квантование в машинном обучении (Часть 2): Предобработка данных, отбор таблиц, обучение моделий CatBoost

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

Количественный анализ трендов: Собираем статистику на Python

Что такое количественный анализ трендов на рынке Форекс. Собираем статистику по трендам, их величине и распределению по валютной паре EURUSD. Как количественный анализ трендов поможет создать прибыльный торговый советник.
preview
Нейросети — это просто (Часть 64): Метод Консервативного Весового Поведенческого Клонирования (CWBC)

Нейросети — это просто (Часть 64): Метод Консервативного Весового Поведенческого Клонирования (CWBC)

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

Нейросети в трейдинге: Сегментация данных на основе уточняющих выражений

В процессе анализа рыночной ситуации мы делим её на отдельные сегменты, выявляя ключевые тенденции. Однако традиционные методы анализа часто фокусируются на одном аспекте, что ограничивает восприятие. В данной статье мы познакомимся с методом, позволяющем выделять несколько объектов, что даёт более полное и многослойное понимание ситуации.
preview
Популяционный ADAM (Adaptive Moment Estimation)

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

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

Измерение информативности индикатора

Машинное обучение стало популярным методом разработки стратегий. В трейдинге традиционно больше внимания уделяется максимизации прибыльности и точности прогнозов. При этом обработка данных, используемых для построения прогностических моделей, остается на периферии. В этой статье мы рассматриваем использование концепции энтропии для оценки пригодности индикаторов при построении прогностических моделей, как описано в книге Тимоти Мастерса "Тестирование и настройка систем рыночной торговли" (Testing and Tuning Market Trading Systems by Timothy Masters).
preview
Нейросети — это просто (Часть 19): Ассоциативные правила средствами MQL5

Нейросети — это просто (Часть 19): Ассоциативные правила средствами MQL5

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

Шаблоны проектирования в программировании на MQL5 (Часть 4): Поведенческие шаблоны 2

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

Матричная модель прогнозирования на марковской цепи

Создаем матричную модель прогнозирования на марковской цепи. Что такое марковские цепи, и как можно использовать марковскую цепь для трейдинга на Форекс.
preview
Как построить советник, работающий автоматически (Часть 12): Автоматизация (IV)

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

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

Нейросети — это просто (Часть 89): Трансформер частотного разложения сигнала (FEDformer)

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

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

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

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

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

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

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

DoEasy. Элементы управления (Часть 29): Вспомогательный элемент управления "ScrollBar"

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

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

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

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

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

Построение экономических прогнозов: потенциальные возможности Python

Как использовать экономические данные Всемирного банка для прогнозирования? Что будет если совместить модели ИИ и экономику?
preview
Популяционные алгоритмы оптимизации: Бинарный генетический алгоритм (Binary Genetic Algorithm, BGA). Часть I

Популяционные алгоритмы оптимизации: Бинарный генетический алгоритм (Binary Genetic Algorithm, BGA). Часть I

В этой статье мы проведем исследование различных методов, применяемых в бинарных генетических алгоритмах и других популяционных алгоритмах. Мы рассмотрим основные компоненты алгоритма, такие как селекция, кроссовер и мутация, а также их влияние на процесс оптимизации. Кроме того, мы изучим способы представления информации и их влияние на результаты оптимизации.
preview
Как разработать агент обучения с подкреплением на MQL5 с интеграцией RestAPI (Часть 2): Функции MQL5 для HTTP-взаимодействия с REST API игры "крестики-нолики"

Как разработать агент обучения с подкреплением на MQL5 с интеграцией RestAPI (Часть 2): Функции MQL5 для HTTP-взаимодействия с REST API игры "крестики-нолики"

В этой статье расскажем о том, как MQL5 может взаимодействовать с Python и FastAPI, используя HTTP-вызовы в MQL5 для взаимодействия с игрой "крестики-нолики" на Python. В статье рассматривается создание API с помощью FastAPI для этой интеграции и приводится тестовый скрипт на MQL5, подчеркивающий универсальность MQL5, простоту Python и эффективность FastAPI в соединении различных технологий для создания инновационных решений.
preview
Арбитражный трейдинг Forex: Простой бот-маркетмейкер синтетиков для старта

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

Сегодня разберем моего первого робота в сфере арбитража — поставщика ликвидности (если его можно так назвать) на синетических активах. Сегодня данный бот успешно работает как модуль в большой системе на машинном обучении, но я поднял старый арбитражный робот на Форекс из облака, и давайте посмотрим на него, и подумаем, что мы можем с ним сделать сегодня?
preview
Нейросети — это просто (Часть 51): Актор-критик, управляемый поведением (BAC)

Нейросети — это просто (Часть 51): Актор-критик, управляемый поведением (BAC)

В последних двух статьях рассматривался алгоритм Soft Actor-Critic, который включает энтропийную регуляризацию в функцию вознаграждения. Этот подход позволяет балансировать исследование среды и эксплуатацию модели, но он применим только к стохастическим моделям. В данной статье рассматривается альтернативный подход, который применим как для стохастических, так и для детерминированных моделей.
preview
Теория хаоса в трейдинге (Часть 2): Продолжаем погружение

Теория хаоса в трейдинге (Часть 2): Продолжаем погружение

Продолжаем погружение в теорию хаоса на финансовых рынках, и рассмотрим ее применимость к анализу валют и иных активов.
preview
Автооптимизация тейк-профитов и параметров индикатора с помощью SMA и EMA

Автооптимизация тейк-профитов и параметров индикатора с помощью SMA и EMA

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

Нейронная сеть на практике: Первый нейрон

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

Фильтрация и извлечение признаков в частотной области

В этой статье мы рассмотрим применение цифровых фильтров к временным рядам, представленным в частотной области, с целью извлечения уникальных признаков, которые могут быть полезными для моделей прогнозирования.
preview
DoEasy. Элементы управления (Часть 18): Готовим функционал для прокрутки вкладок в TabControl

DoEasy. Элементы управления (Часть 18): Готовим функционал для прокрутки вкладок в TabControl

В статье разместим кнопки управления прокруткой заголовков в WinForms-объекте TabControl на своих местах в случае, если строка заголовков не умещается по размеру элемента управления, и сделаем смещение строки заголовков при щелчке по обрезанному заголовку вкладки.
preview
DoEasy. Элементы управления (Часть 14): Новый алгоритм именования графических элементов. Продолжаем работу над WinForms-объектом TabControl

DoEasy. Элементы управления (Часть 14): Новый алгоритм именования графических элементов. Продолжаем работу над WinForms-объектом TabControl

В статье создадим новый алгоритм именования всех графических элементов для построения пользовательской графики и продолжим разработку WinForms-объекта TabControl.
preview
Построение модели для ограничения диапазона сигналов по тренду (Часть 3): Обнаружение изменений трендов при использовании системы

Построение модели для ограничения диапазона сигналов по тренду (Часть 3): Обнаружение изменений трендов при использовании системы

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

Разработка интерактивного графического пользовательского интерфейса на MQL5 (Часть 1): Создание панели

В статье рассматриваются основные этапы создания и реализации панели графического пользовательского интерфейса (Graphical User Interface, GUI) с помощью языка MetaQuotes Language 5 (MQL5). Пользовательские панели утилит повышают качество взаимодействия с системой при торговле, упрощая типовые задачи и визуализируя важную торговую информацию. Создавая пользовательские панели, трейдеры могут оптимизировать рабочий процесс и сэкономить время при торговых операциях.
preview
Введение в MQL5 (Часть 4): Структуры, классы и функции времени

Введение в MQL5 (Часть 4): Структуры, классы и функции времени

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