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

icon

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

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

Новая статья
последние | лучшие
preview
Разрабатываем мультивалютный советник (Часть 4): Отложенные виртуальные ордера и сохранение состояния

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

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

Как построить советник, работающий автоматически (Часть 04): Ручные триггеры (I)

Сегодня посмотрим, как создать советник, просто и безопасно работающий в автоматическом режиме.
preview
Интеграция MQL5: Python

Интеграция MQL5: Python

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

Нейросети — это просто (Часть 16): Практическое использование кластеризации

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

Эксперименты с нейросетями (Часть 7): Передаем индикаторы

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

Критерий однородности Смирнова как индикатор нестационарности временного ряда

В статье рассматривается один из самых известных непараметрических критериев однородности — критерий Смирнова. Анализируются как модельные данные, так и реальные котировки. Приводится пример построения индикатора нестационарности (iSmirnovDistance).
preview
Нейросети — это просто (Часть 58): Трансформер решений (Decision Transformer—DT)

Нейросети — это просто (Часть 58): Трансформер решений (Decision Transformer—DT)

Мы продолжаем рассмотрение методов обучения с подкреплением. И в данной статье я предлагаю вам познакомиться с несколько иным алгоритмом, который рассматривает политику Агента в парадигме построения последовательности действий.
Работа с ценами в библиотеке DoEasy (Часть 62): Реалтайм-обновление тиковых серий, подготовка к работе со стаканом цен
Работа с ценами в библиотеке DoEasy (Часть 62): Реалтайм-обновление тиковых серий, подготовка к работе со стаканом цен

Работа с ценами в библиотеке DoEasy (Часть 62): Реалтайм-обновление тиковых серий, подготовка к работе со стаканом цен

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

Алгоритм докупки: симуляция мультивалютной торговли

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

Создаем и оптимизируем торговую систему на основе волатильности с индикатором Чайкина

В этой статье мы поговорим об индикаторе волатильности Чайкина (Chaikin Volatility, CHV). Разберемся, что делает этот индикатор, как и в каких условиях его можно использовать и как создать пользовательский индикатор волатильности. Проанализируем несколько простых стратегий и протестируем их, чтобы понять, какая стратегия лучше.
preview
Введение в MQL5 (Часть 7): Руководство для начинающих по созданию советников и использованию кода от ИИ в MQL5

Введение в MQL5 (Часть 7): Руководство для начинающих по созданию советников и использованию кода от ИИ в MQL5

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

Графика в библиотеке DoEasy (Часть 82): Рефакторинг объектов библиотеки и коллекция графических объектов

В статье доработаем все объекты библиотеки - присвоим каждому объекту его уникальный тип и продолжим разработку класса-коллекции графических объектов библиотеки.
preview
Парный трейдинг: Алготорговля с автооптимизацией на разнице Z-оценки

Парный трейдинг: Алготорговля с автооптимизацией на разнице Z-оценки

В этой статье разберем, что такое парный трейдинг и как происходит торговля на корреляциях. Также создадим советник для автоматизации парного трейдинга и добавим возможность автоматической оптимизации такого торгового алгоритма на исторических данных. Кроме того, в рамках проекта узнаем, как рассчитывать расхождения двух пар с помощью z-оценки.
preview
Популяционные алгоритмы оптимизации: Алгоритм боидов, или алгоритм стайного поведения (Boids Algorithm, Boids)

Популяционные алгоритмы оптимизации: Алгоритм боидов, или алгоритм стайного поведения (Boids Algorithm, Boids)

В данной статье мы проводим исследование алгоритма Boids, в основе которого лежат уникальные примеры стайного поведения животных. Алгоритм Boids, в свою очередь, послужил основой для создания целого класса алгоритмов, объединенных под названием "Роевый интеллект".
preview
Нейросети — это просто (Часть 53): Декомпозиция вознаграждения

Нейросети — это просто (Часть 53): Декомпозиция вознаграждения

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

Цветные буферы в мультисимвольных мультипериодных индикаторах

В статье пересмотрим структуру индикаторного буфера в мультисимвольных мультипериодных индикаторах и организуем вывод на график цветных буферов этих индикаторов.
preview
Разработка торговой системы на основе индикатора Gator Oscillator

Разработка торговой системы на основе индикатора Gator Oscillator

Представляю вашему вниманию новую статью из серии, в которой мы учимся строить торговые системы на основе самых популярных индикаторов. На этот раз мы поговорим об индикаторе Gator Oscillator и создадим торговую систему по простым стратегиям.
Система для создания МТС
Система для создания МТС

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

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

Разработка торговой системы на основе индикатора Gator Oscillator

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

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

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

Машинное обучение и Data Science (Часть 21): Сравниваем алгоритмы оптимизации в нейронных сетях

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

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

Регрессия – это задача предсказания вещественной величины по непомеченному примеру. Для оценки точности предсказаний регрессионных моделей предназначены так называемые метрики регрессии.
preview
Машинное обучение и Data Science (Часть 25): Прогнозирование временных рядов на форексе с помощью рекуррентных нейросетей (RNN)

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

Рекуррентные нейронные сети (RNN) ценятся за способность использовать прошлую информацию для прогнозирования будущих событий. Такие прогностические возможности с успехом применяются в различных областях. В этой статье мы применим модели RNN для прогнозирования трендов на рынке Форекс. Посмотрим, смогут ли они повысить точность прогнозирования в трейдинге.
preview
Машинное обучение и Data Science (Часть 15): SVM — полезный инструмент в арсенале трейдера

Машинное обучение и Data Science (Часть 15): SVM — полезный инструмент в арсенале трейдера

В этой статье мы разберем, какую роль метод опорных векторов (Support Vector Machines, SVM) играет в формировании будущего трейдинга. Статью можно рассматривать как подробное руководством, которое рассказывает, как с помощью SVM улучшить торговые стратегии, оптимизировать процесс принятия решений и открыть новые возможности на финансовых рынках. Вы погрузитесь в мир SVM через реальные приложения, пошаговые инструкции и экспертные оценки. Возможно, этот незаменимый инструмент поможет разобраться в сложностях современной торговли. В любом случае SVM станет очень полезным инструментом в арсенале каждого трейдера.
preview
Анализ циклов с использованием алгоритма Гёрцеля

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

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

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

В этой статье мы рассмотрим генератор случайных чисел Mersenne Twister и сравним со стандартным в MQL5. Узнаем влияние качества случайных чисел генераторов на результаты алгоритмов оптимизации.
preview
Создавать графические панели в MQL5 стало проще

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Своп-арбитраж на Форекс: Собираем синтетический портфель и создаем стабильный своп-поток

Хотите узнать, как извлекать выгоду из разницы в процентных ставках? В статье мы посмотрим, как использовать своп-арбитраж на Форексе, чтобы каждую ночь получать стабильный доход, создавая портфель, устойчивый к рыночным колебаниям.
preview
Индикатор прогноза волатильности при помощи Python

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

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

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

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

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

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

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

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

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

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

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

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