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

icon

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

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

Новая статья
последние | лучшие
preview
Оценка ONNX-моделей при помощи регрессионных метрик

Оценка ONNX-моделей при помощи регрессионных метрик

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

Роль качества генератора случайных чисел в эффективности алгоритмов оптимизации

В этой статье мы рассмотрим генератор случайных чисел Mersenne Twister и сравним со стандартным в MQL5. Узнаем влияние качества случайных чисел генераторов на результаты алгоритмов оптимизации.
Графика в библиотеке DoEasy (Часть 94): Составные графические объекты, перемещение и удаление
Графика в библиотеке DoEasy (Часть 94): Составные графические объекты, перемещение и удаление

Графика в библиотеке DoEasy (Часть 94): Составные графические объекты, перемещение и удаление

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

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

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

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

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

Система для создания МТС

Согласитесь, заманчиво звучит - Вы стали обладателем программы, которая за несколько минут может разработать Вам прибыльную МТС. Вам нужно просто ввести целевые параметры на сделку и нажать Enter. И - нате Вам, получите готовую МТС, протестированную и с положительным матожиданием выигрыша. Когда тысячи людей тратят тысячи часов времени на разработку той самой, единственной (МТС), которая "напоит, накормит и спать уложит", такие утверждения звучат, мягко говоря, неубедительно. С одной стороны, это действительно выглядит неправдоподобно... Но, на мой взгляд, эта задача вполне решаема.
preview
Индикатор прогноза волатильности при помощи Python

Индикатор прогноза волатильности при помощи Python

Прогнозируем будущую экстремальную волатильность при помощи бинарной классификации. Создаем индикатор прогноза экстремальной волатильности с использованием машинного обучения.
preview
Популяционные алгоритмы оптимизации: Стохастический диффузионный поиск (Stochastic Diffusion Search, SDS)

Популяционные алгоритмы оптимизации: Стохастический диффузионный поиск (Stochastic Diffusion Search, SDS)

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

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

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

Простое создание сложных индикаторов с помощью объектов

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

Графика в библиотеке DoEasy (Часть 95): Элементы управления составными графическими объектами

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

Выявление и классификация фрактальных паттернов посредством машинного обучения

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

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

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

Нейросети — это просто (Часть 49): Мягкий Актор-Критик (Soft Actor-Critic)

Мы продолжаем рассмотрение алгоритмов обучения с подкреплением в решении задач непрерывного пространства действий. И в данной статье предлагаю познакомиться с алгоритмом Soft Аctor-Critic (SAC). Основное преимущество SAC заключается в способности находить оптимальные политики, которые не только максимизируют ожидаемую награду, но и имеют максимальную энтропию (разнообразие) действий.
preview
Использование алгоритма машинного обучения PatchTST для прогноза ценовых движений на следующие 24 часа

Использование алгоритма машинного обучения PatchTST для прогноза ценовых движений на следующие 24 часа

В этой статье мы применим относительно сложный нейросетевой алгоритм PatchTST, реализованный в 2023 году, для прогнозирования ценовых движений на ближайшие 24 часа. Воспользуемся официальным репозиторием, внесем небольшие изменения, обучим модель для EURUSD и применим ее для формирования будущих прогнозов на языке Python или MQL5.
preview
StringFormat(). Обзор, готовые примеры использования

StringFormat(). Обзор, готовые примеры использования

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

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

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 04): Линейный дискриминантный анализ

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

Популяционные алгоритмы оптимизации: Оптимизация инвазивных сорняков (Invasive Weed Optimization - IWO)

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

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

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

Работа с таймсериями в библиотеке DoEasy (Часть 53): Класс абстрактного базового индикатора

В статье рассмотрим создание класса абстрактного индикатора, который далее будет использоваться как базовый класс для создания объектов стандартных и пользовательских индикаторов библиотеки.
preview
Оптимизация и тестирование торговых стратегий (Часть 1): Взгляд на "Red Dragon H4", "BOLT", "YinYang", и "Statistics SAR"

Оптимизация и тестирование торговых стратегий (Часть 1): Взгляд на "Red Dragon H4", "BOLT", "YinYang", и "Statistics SAR"

Так как я постоянно занимаюсь, разработкой разного рода торговых систем сегодня хочу поделиться с Вами несколькими из них по стратегиям "Red Dragon H4", "BOLT", "YinYang" и "Statistics SAR". Данные стратегии были найдены на просторах интернета.
preview
Разработка трендовых торговых стратегий на основе машинного обучения

Разработка трендовых торговых стратегий на основе машинного обучения

В данной статье предложен оригинальный подход к разработке трендовых стратегий. Вы узнаете, как можно делать разметку обучающих примеров и обучать на них классификаторы. На выходе получатся готовые торговые системы, работающие под управлением терминала MetaTrader 5.
preview
Нейросети — это просто (Часть 23): Создаём инструмент для Transfer Learning

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

В данной серии статей мы уже не один раз упоминали о Transfer Learning. Но дальше упоминаний пока дело не шло. Я предлагаю заполнить этот пробел и посмотреть поближе на Transfer Learning.
preview
Понимание и эффективное использование OpenCL API путем воссоздания встроенной поддержки в виде DLL в Linux (Часть 1): Мотивация и проверка

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

Встроенная поддержка OpenCL в MetaTrader 5 по-прежнему имеет серьезную проблему, особенно связанную с ошибкой выбора устройства 5114, возникающей из-за невозможности создать контекст OpenCL с использованием CL_USE_GPU_ONLY или CL_USE_GPU_DOUBLE_ONLY, хотя GPU определяется правильно. Программа отлично работает с прямым использованием порядкового номера устройства GPU, который можно найти на вкладке "Журнал", однако пользователям не следует жестко кодировать устройство. Мы решим эту проблему, воссоздав поддержку OpenCL в виде DLL с помощью C++ в Linux. По пути мы познакомимся с OpenCL, от концепции до лучших практик в использовании его API, ровно настолько, чтобы мы могли широко использовать его позже, когда будем иметь дело с реализацией DLL на C++ и использовать его с MQL5.
preview
Квантовые вычисления и трейдинг: Новый взгляд на прогнозы цен

Квантовые вычисления и трейдинг: Новый взгляд на прогнозы цен

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

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

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

Графика в библиотеке DoEasy (Часть 97): Независимая обработка перемещения объектов-форм

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

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

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

Изучаем PrintFormat() и берем готовые к использованию примеры

Статья будет полезна как новичкам, так и уже опытным разработчикам. В ней мы рассмотрим работу функции PrintFormat(), разберём примеры форматирования строк и напишем шаблоны для вывода различной информации в журнал терминала.
preview
Разработка пользовательского индикатора True Strength Index с помощью MQL5

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

Представляю новую статью о том, как создать пользовательский индикатор. На этот раз мы будем работать с индексом истинной силы - True Strength Index (TSI) и создадим советник на его основе.
preview
Машинное обучение в однонаправленной трендовой торговле на примере золота

Машинное обучение в однонаправленной трендовой торговле на примере золота

В данной статье рассматривается подход к торговле только в выбранном направлении (на покупку или на продажу). Для этого используется техника причинно-следственного вывода и машинное обучение.
preview
MQL5 — Вы тоже можете стать мастером этого языка

MQL5 — Вы тоже можете стать мастером этого языка

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

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

Наметим основные этапы по разработке нашего советника. Одним из первых будет проведение оптимизации одиночного экземпляра разработанной торговой стратегии. Попробуем собрать в одном месте всю необходимую информацию о проходах тестера при оптимизации.
Графика в библиотеке DoEasy (Часть 93): Готовим функционал для создания составных графических объектов
Графика в библиотеке DoEasy (Часть 93): Готовим функционал для создания составных графических объектов

Графика в библиотеке DoEasy (Часть 93): Готовим функционал для создания составных графических объектов

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

Модель движения цены и ее основные положения (Часть 2): Уравнение эволюции вероятностного поля цены и возникновение наблюдаемого случайного блуждания

Выведено уравнение эволюции вероятностного поля цены, найден критерий приближения ценового скачка, раскрыты суть ценовых значений на графиках котировок и механизм возникновения случайного блуждания этих значений.
preview
Методы Уильяма Ганна (Часть III): Работает ли астрология?

Методы Уильяма Ганна (Часть III): Работает ли астрология?

Влияет ли положение планет и звезд на финансовые рынки? Вооружимся статистикой и большими данными и отправимся в увлекательное путешествие в мир, где пересекаются звезды и биржевые графики.
Прочие классы в библиотеке DoEasy (Часть 66): Класс-коллекция Сигналов MQL5.com
Прочие классы в библиотеке DoEasy (Часть 66): Класс-коллекция Сигналов MQL5.com

Прочие классы в библиотеке DoEasy (Часть 66): Класс-коллекция Сигналов MQL5.com

В статье создадим класс-коллекцию сигналов Сервиса Сигналов MQL5.com с функциями управления подписанными сигналами, а также доработаем класс объекта-снимка стакана цен для отображения общего объёма стакана на покупку и на продажу.
preview
Скальпинг по потоку ордеров (Order Flow Scalping) с MQL5

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

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

Нейросети — это просто (Часть 85): Многомерное прогнозирование временных рядов

В данной статье хочу познакомить Вас с новым комплексным методом прогнозирования временных рядов, который гармонично сочетает в себе преимущества линейных моделей и трансформеров.