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

icon

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

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

Новая статья
последние | лучшие
preview
Работа с таймсериями в библиотеке DoEasy (Часть 53): Класс абстрактного базового индикатора

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

В статье рассмотрим создание класса абстрактного индикатора, который далее будет использоваться как базовый класс для создания объектов стандартных и пользовательских индикаторов библиотеки.
preview
Машинное обучение и Data Science (Часть 04): Предсказание биржевого краха

Машинное обучение и Data Science (Часть 04): Предсказание биржевого краха

В этой статье я попытаюсь использовать нашу логистическую модель, чтобы спрогнозировать крах фондового рынка на основе главнейших акций для экономики США: NETFLIX и APPLE. Мы проанализируем эти акции, будем использовать информацию о предыдущих падениях рынка 2019 и 2020 годов. Посмотрим, как наша модель будет работать в нынешних мрачных условиях.
preview
Кластеризация временных рядов в причинно-следственном выводе

Кластеризация временных рядов в причинно-следственном выводе

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

Матрицы и векторы в MQL5: функции активации

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

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

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

Готовые шаблоны для подключения индикаторов в экспертах (Часть 1): Осцилляторы

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

Трейлинг-стоп в трейдинге

В этой статье мы рассмотрим использование трейлинг-стопа в торговле — насколько он полезен и эффективен, и как его можно использовать. Эффективность трейлинг-стопа во многом зависит от волатильности цены и подбора уровня стоп-лосса. Для установки стоп-лосса могут использоваться самые разные подходы.
preview
Разработка торгового советника с нуля (Часть 10): Доступ к пользовательским индикаторам

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

Как получить доступ к пользовательским индикаторам непосредственно в советнике? Торговый советник будет действительно полезен только в том случае, если в нем можно будет использовать пользовательские индикаторы, иначе это будет просто набор кодов и инструкций.
preview
Эксперименты с нейросетями (Часть 7): Передаем индикаторы

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

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

Индикаторы с интерактивным управлением на графике

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

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

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

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

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

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

Представляю вашему вниманию новую статью из серии, в которой мы учимся создавать торговые системы по показателям самых популярных технических индикаторов. В этой статье мы рассмотрим, как создать торговую систему по индикатору Демарка (DeMarker).
preview
Разработка торговой системы на основе Индекса относительной бодрости Relative Vigor Index

Разработка торговой системы на основе Индекса относительной бодрости Relative Vigor Index

Это новая статья из серии, в которой мы учимся создавать торговые системы по показателям самых популярных технических индикаторов. В этот раз познакомимся с Индексом относительной бодрости (Relative Vigor Index, RVI).
preview
Создаем алгоритм маркет-мейкинга на MQL5

Создаем алгоритм маркет-мейкинга на MQL5

Как работают маркет-мейкеры на рынке? Рассмотрим этот вопрос и создадим примитивный алгоритм маркет-мейкинга.
preview
Все, что вам нужно знать о структуре программы MQL5

Все, что вам нужно знать о структуре программы MQL5

Любая программа на любом языке программирования имеет определенную структуру. В этой статье вы изучите основные компоненты структуры программы на MQL5, что может быть очень полезно при создании торговой системы или торгового инструмента для MetaTrader 5.
preview
Нейросети — это просто (Часть 67): Использование прошлого опыта для решения новых задач

Нейросети — это просто (Часть 67): Использование прошлого опыта для решения новых задач

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

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

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

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

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

Технический Анализ: невозможное - возможно!

Ответ на вопрос: почему невозможное может быть возможным, когда многое говорит об обратном? Рассуждения о техническом анализе.
preview
Как обнаруживать тренды и графические паттерны с помощью MQL5

Как обнаруживать тренды и графические паттерны с помощью MQL5

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

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

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

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

Мы продолжаем рассмотрение методов обучения с подкреплением. И в данной статье я предлагаю вам познакомиться с несколько иным алгоритмом, который рассматривает политику Агента в парадигме построения последовательности действий.
preview
Популяционные алгоритмы оптимизации: Алгоритм гравитационного поиска (Gravitational Search Algorithm - GSA)

Популяционные алгоритмы оптимизации: Алгоритм гравитационного поиска (Gravitational Search Algorithm - GSA)

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

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

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

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

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

Готовые шаблоны для подключения индикаторов в экспертах (Часть 3): Трендовые индикаторы

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

Как стать успешным поставщиком сигналов на MQL5.com

Основная цель статьи — предоставить простой пошаговый путь, пройдя по которому вы сможете стать лучшим поставщиком сигналов на MQL5.com. Опираясь на свои знания и опыт, я объясню, что нужно, чтобы стать успешным поставщиком сигналов, в том числе, как найти, протестировать и оптимизировать хорошую стратегию. Кроме того, я дам советы по публикации вашего сигнала, написанию убедительного описания и эффективному продвижению и управлению.
preview
Популяционные алгоритмы оптимизации: Метод Нелдера-Мида, или метод симплексного поиска (Nelder–Mead method, NM)

Популяционные алгоритмы оптимизации: Метод Нелдера-Мида, или метод симплексного поиска (Nelder–Mead method, NM)

Статья представляет полное исследование метода Нелдера-Мида объясняя, как симплекс — пространство параметров функции — изменяется и перестраивается на каждой итерации для достижения оптимального решения, а также описывает способ улучшения этого метода.
preview
Кросс-валидация и основы причинно-следственного вывода в моделях CatBoost, экспорт в ONNX формат

Кросс-валидация и основы причинно-следственного вывода в моделях CatBoost, экспорт в ONNX формат

В данной статье предложен авторский способ создания ботов с использованием машинного обучения.
preview
Объектно-ориентированное программирование (ООП) в MQL5

Объектно-ориентированное программирование (ООП) в MQL5

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

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

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

Нейросети — это просто (Часть 62): Использование Трансформера решений в иерархических моделях

В последних статьях мы познакомились с несколькими вариантами использования метода Decision Transformer. Который позволяет анализировать не только текущее состояние, но и траекторию предшествующих состояний и, совершенных в них, действий. В данной статье я предлагаю Вам познакомиться с вариантом использования данного метода в иерархических моделях.
preview
Риск-менеджер для ручной торговли

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

В данной статье мы подробно раскроем написание класса риск-менеджера для ручной торговли с нуля. Также данный класс может быть использован как базовый класс для наследования трейдерам, которые торгуют алгоритмически.
preview
Показатель склонности (Propensity score) в причинно-следственном выводе

Показатель склонности (Propensity score) в причинно-следственном выводе

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

DoEasy. Элементы управления (Часть 2): Продолжаем работу над классом CPanel

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

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

Современный трейдер почти всегда находится в поиске новых идей. Он постоянно пробует новые стратегии, модифицирует их и отбрасывает те, что не оправдали себя. В этой серии статей я постараюсь доказать, что Мастер MQL5 является настоящей опорой трейдера в его поисках.
preview
Популяционные алгоритмы оптимизации: Алгоритм растущих деревьев (Saplings Sowing and Growing up — SSG)

Популяционные алгоритмы оптимизации: Алгоритм растущих деревьев (Saplings Sowing and Growing up — SSG)

Алгоритм растущих деревьев (Saplings Sowing and Growing up, SSG) вдохновлен одним из самых жизнестойких организмов на планете, который является замечательным образцом выживания в самых различных условиях.
preview
Алгоритм докупки: симуляция мультивалютной торговли

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

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

Причинно-следственный вывод в задачах классификации временных рядов

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