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

icon

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

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

Новая статья
последние | лучшие
preview
Тестирование и оптимизация стратегий для бинарных опционов в MetaTrader 5

Тестирование и оптимизация стратегий для бинарных опционов в MetaTrader 5

Проверяем и оптимизируем стратегии для бинарных опционов в MetaTrader 5.
preview
Несколько индикаторов на графике (Часть 05): Превращаем MetaTrader 5 в систему RAD (I)

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

Несмотря на то, что многие люди не умеют программировать, они достаточно креативны и имеют отличные идеи, но отсутствие знаний или понимания программирования мешает им сделать некоторые вещи. Давайте посмотрим вместе, как создать Chart Trade, но используя саму платформу MT5, как будто это IDE.
preview
Нейросети — это просто (Часть 60): Онлайн Трансформер решений (Online Decision Transformer—ODT)

Нейросети — это просто (Часть 60): Онлайн Трансформер решений (Online Decision Transformer—ODT)

Последние 2 статьи были посвящены методу Decision Transformer, который моделирует последовательности действий в контексте авторегрессионной модели желаемых вознаграждений. В данной статье мы рассмотрим ещё один алгоритм оптимизации данного метода.
preview
Нейросети — это просто (Часть 42): Прокрастинация модели, причины и методы решения

Нейросети — это просто (Часть 42): Прокрастинация модели, причины и методы решения

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

Структуры в MQL5 и способы вывода их данных на печать

В статье рассмотрим структуры MqlDateTime, MqlTick, MqlRates, MqlBookInfo и способы вывода данных этих структур на печать. Для того, чтобы распечатать все поля структуры есть стандартная функция ArrayPrint(), которая выводит в удобном табличном формате данные, содержащиеся в массиве с типом обрабатываемой структуры.
preview
DoEasy. Элементы управления (Часть 20): WinForms-объект SplitContainer

DoEasy. Элементы управления (Часть 20): WinForms-объект SplitContainer

Сегодня начнём разрабатывать элемент управления SplitContainer из набора элементов MS Visual Studio. Этот элемент состоит из двух панелей, разделённых вертикальным или горизонтальным перемещаемым разделителем.
preview
Анализ циклов с использованием алгоритма Гёрцеля

Анализ циклов с использованием алгоритма Гёрцеля

В статье представлены утилиты, реализующие алгоритм Гёрцеля в MQL5 и два способа применения этого метода при анализе ценовых котировок для разработки стратегии.
preview
Популяционные алгоритмы оптимизации: Дифференциальная эволюция (Differential Evolution, DE)

Популяционные алгоритмы оптимизации: Дифференциальная эволюция (Differential Evolution, DE)

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

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

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

DoEasy. Элементы управления (Часть 3): Создание привязанных элементов управления

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

Риск-менеджер для алгоритмической торговли

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

Пример ансамбля ONNX-моделей в MQL5

ONNX (Open Neural Network eXchange) — открытый стандарт представления нейронных сетей. В данной статье мы покажем возможность одновременного использования двух ONNX-моделей в одном эксперте.
preview
Понимание и эффективное использование тестера стратегий MQL5

Понимание и эффективное использование тестера стратегий MQL5

MQL5-разработчикам крайне необходимо освоить важные и ценные инструменты. Одним из таких инструментов является тестер стратегий. Статья представляет собой практическое руководство по использованию тестера стратегий MQL5.
preview
Готовые шаблоны для подключения индикаторов в экспертах (Часть 2): Индикакторы объёма и Билла Вильямса

Готовые шаблоны для подключения индикаторов в экспертах (Часть 2): Индикакторы объёма и Билла Вильямса

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

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

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

Нейросети — это просто (Часть 70): Улучшение политики с использованием операторов в закрытой форме (CFPI)

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

Мультибот в MetaTrader (Часть II): улучшенный динамический шаблон

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

Торговая стратегия на индикаторе улучшенного распознавания свечей Доджи

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

Разработка торгового советника с нуля (Часть 15): Доступ к данным в Интернете (I)

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

Тестируем информативность разных типов скользящих средних

Мы все знаем важность скользящей средней для многих трейдеров. Существуют разные типы скользящих средних, которые могут быть полезны в торговле. Мы рассмотрим их и проведем простое сравнение, чтобы увидеть, какой из них может показать лучшие результаты.
preview
Популяционные алгоритмы оптимизации: Алгоритм оптимизации бактериального поиска пищи (Bacterial Foraging Optimization — BFO)

Популяционные алгоритмы оптимизации: Алгоритм оптимизации бактериального поиска пищи (Bacterial Foraging Optimization — BFO)

Основа стратегии поиска пищи бактерией E.coli (кишечная палочка) вдохновила ученых на создание алгоритма оптимизации BFO. Алгоритм содержит оригинальные идеи и перспективные подходы к оптимизации и достоин дальнейшего изучения.
preview
Графика в библиотеке DoEasy (Часть 100): Устраняем недочёты при работе с расширенными стандартными графическими объектами

Графика в библиотеке DoEasy (Часть 100): Устраняем недочёты при работе с расширенными стандартными графическими объектами

Сегодня мы немного "подчистим хвосты" — устраним явные недоработки при одновременной работе с расширенными (и стандартными) графическими объектами и объектами-формами на канвасе и исправим ошибки, замеченные при тестировании в прошлой статье. И на этом завершим этот раздел описания библиотеки.
preview
Создавать графические панели в MQL5 стало проще

Создавать графические панели в MQL5 стало проще

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

Машинное обучение и Data Science (Часть 13): Анализируем финансовый рынок с помощью метода главных компонент (PCA)

Попробуем качественно улучшить анализ финансовых рынков с помощью метода главных компонент (Principal Component Analysis, PCA). Узнаем, как этот метод может помочь выявлять скрытые закономерности в данных, определять скрытые рыночные тенденции и оптимизировать инвестиционные стратегии. В этой статье мы посмотрим, как метод PCA дает новую перспективу для анализа сложных финансовых данных, помогая увидеть идеи, которые мы упустили при использовании традиционных подходов. Дает ли применение метода PCA на данных финансовых рынков конкурентное преимущество и поможет ли быть на шаг впереди?
preview
Брутфорс-подход к поиску закономерностей (Часть V): Взгляд с другой стороны

Брутфорс-подход к поиску закономерностей (Часть V): Взгляд с другой стороны

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

Квантование в машинном обучении (Часть 1): Теория, пример кода, разбор реализации в CatBoost

В настоящей статье речь пойдёт о теоретическом применении квантования при построении древовидных моделей. Рассмотрены реализованные методы квантования в CatBoost. Материал будет подан без сложных математических формул, доступным языком.
preview
Разработка торговой системы на основе индикатора Накопления/Распределения - Accumulation/Distribution

Разработка торговой системы на основе индикатора Накопления/Распределения - Accumulation/Distribution

Представляю вашему вниманию новую статью из серии, в которой мы учимся создавать торговые системы на основе популярных технических индикаторов. В этой статье мы будем изучать индикатор Накопления/Распределения (Accumulation/Distribution, A/D). Также мы разработаем торговую систему на языке MQL5 для работы в платформе MetaTrader 5, используя несколько простых стратегий.
preview
Количественный анализ на MQL5: реализуем перспективный алгоритм

Количественный анализ на MQL5: реализуем перспективный алгоритм

Разбираем вопрос, что такое количественный анализ, как его применяют крупные игроки, создадим один из алгоритмов количественного анализа на языке MQL5.
preview
Несколько индикаторов на графике (Часть 06): Превращаем MetaTrader 5 в систему RAD (II)

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

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

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

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

Машинное обучение и Data Science (Часть 17): Растут ли деньги на деревьях? Случайные леса в форекс-трейдинге

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

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

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

Нейросети — это просто (Часть 74): Адаптивное прогнозирование траекторий

Предлагаю Вам познакомиться с довольно эффективным методом многоагентного прогнозирования траекторий, который способен адаптироваться к различным состояниям окружающей среды.
preview
Нейросети — это просто (Часть 59): Дихотомия контроля (Dichotomy of Control — DoC)

Нейросети — это просто (Часть 59): Дихотомия контроля (Dichotomy of Control — DoC)

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

Угловые операции для трейдеров

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

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

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

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

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

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

В предыдущих статьях я рассказывал, как создать индикатор с несколькими подокнами — такая возможность становится интересной при использовании пользовательских индикаторов. В этот раз мы рассмотрим, как добавить несколько окон в советник.
preview
Реализация фактора Януса в MQL5

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

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

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

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