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

icon

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

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

Новая статья
последние | лучшие
preview
Популяционные алгоритмы оптимизации: Оптимизация Стаей Серых Волков (Grey Wolf Optimizer - GWO)

Популяционные алгоритмы оптимизации: Оптимизация Стаей Серых Волков (Grey Wolf Optimizer - GWO)

Рассмотрим один из новейших современных алгоритмов оптимизации "Стаи серых волков". Оригинальное поведение на тестовых функциях делает этот алгоритм одним из самых интересных среди рассмотренных ранее. Один из лидеров для применения в обучении нейронных сетей, гладких функций с многими переменными.
preview
DoEasy. Элементы управления (Часть 28): Стили полосы в элементе управления "ProgressBar"

DoEasy. Элементы управления (Часть 28): Стили полосы в элементе управления "ProgressBar"

В статье будут разработаны стили отображения и текст описания полосы прогресса элемента управления ProgressBar
preview
Разработка торговой системы на основе Accelerator Oscillator

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

Новая статья из серии, в которой мы учимся создавать торговые системы по показателям самых популярных технических индикаторов. На этот раз будем изучать индикатор Accelerator Oscillator — узнаем, как его использовать и как создавать торговые системы на его основе.
preview
Разработка торгового советника с нуля (Часть 30): CHART TRADE теперь как индикатор?!

Разработка торгового советника с нуля (Часть 30): CHART TRADE теперь как индикатор?!

Сегодня мы снова будем использовать Chart Trade... но теперь как индикатор, который может присутствовать или не присутствовать на графике.
preview
Нейросети — это просто (Часть 34): Полностью параметризированная квантильная функция

Нейросети — это просто (Часть 34): Полностью параметризированная квантильная функция

Продолжаем изучение алгоритмов распределенного Q-обучения. В предыдущих статьях мы рассмотрели алгоритмы распределенного и квантильного Q-обучения. В первом мы учили вероятности заданных диапазонов значений. Во втором учили диапазоны с заданной вероятностью. И в первом, и во втором алгоритме мы использовали априорные знания одного распределения и учили другое. В данной статье мы рассмотрим алгоритм, позволяющей модели учить оба распределения.
preview
Разработка торговой системы на основе Awesome Oscillator

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

Это очередная статья из серии, и в ней мы познакомимся с еще одним полезным техническим инструментом для торговли — индикатором Awesome Oscillator (AO). Узнаем, как разрабатывать торговые системы на основе показателей от этого индикатора.
preview
Популяционные алгоритмы оптимизации: Искуственная Пчелиная Колония (Artificial Bee Colony - ABC)

Популяционные алгоритмы оптимизации: Искуственная Пчелиная Колония (Artificial Bee Colony - ABC)

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

Нелинейные индикаторы

В этой статье мы сделаем попытку рассмотреть некоторые способы построения нелинейных индикаторов и их использование в трейдинге. В торговой платформе MetaTrader довольно много индикаторов, которые используют нелинейные подходы.
preview
Разработка торговой системы на основе Индекса относительной бодрости Relative Vigor Index

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

Это новая статья из серии, в которой мы учимся создавать торговые системы по показателям самых популярных технических индикаторов. В этот раз познакомимся с Индексом относительной бодрости (Relative Vigor Index, RVI).
preview
DoEasy. Элементы управления (Часть 27): Продолжаем работу над WinForms-объектом "ProgressBar"

DoEasy. Элементы управления (Часть 27): Продолжаем работу над WinForms-объектом "ProgressBar"

В статье продолжим разработку элемента управления ProgressBar. Создадим функционал для управления полосой прогресса и визуальными эффектами.
preview
Нейросети — это просто (Часть 33): Квантильная регрессия в распределенном Q-обучении

Нейросети — это просто (Часть 33): Квантильная регрессия в распределенном Q-обучении

Продолжаем изучение распределенного Q-обучение. И сегодня мы посмотрим на данный подход с другой стороны. О возможности использования квантильной регрессии в решение вопрос прогнозирования ценовых движений.
preview
Разработка торговой системы на основе индикатора DeMarker

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

Представляю вашему вниманию новую статью из серии, в которой мы учимся создавать торговые системы по показателям самых популярных технических индикаторов. В этой статье мы рассмотрим, как создать торговую систему по индикатору Демарка (DeMarker).
preview
DoEasy. Элементы управления (Часть 26): Дорабатываем WinForms-объект "ToolTip" и начинаем разработку "ProgressBar"

DoEasy. Элементы управления (Часть 26): Дорабатываем WinForms-объект "ToolTip" и начинаем разработку "ProgressBar"

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

Управление рисками и капиталом с помощью советников

Эта статья о том, чего вы не найдете в отчете о тестировании, чего следует ожидать при использовании советников, как управлять своими деньгами при использовании роботов и как покрыть значительный убыток, чтобы остаться в трейдинге при автоматизированной торговле.
preview
Разработка торговой системы на основе индикатора VIDYA

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

Представляю вашему вниманию новую статью из серии, в которой мы учимся строить торговые системы на основе самых популярных индикаторов. В этой статье мы поговорим об индикаторе Скользящей средней с динамическим периодом усреднения (Variable Index Dynamic Average, VIDYA) и создадим торговую систему по его показателям.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 3): Энтропия Шеннона

Возможности Мастера MQL5, которые вам нужно знать (Часть 3): Энтропия Шеннона

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

Нейросети — это просто (Часть 32): Распределенное Q-обучение

В одной из статей данной серии мы с вами уже познакомились с методом Q-обучения. Данный метод усредняет вознаграждения за каждое действие. В 2017 году были представлены сразу 2 работы, в которых большего успеха добиваются при изучении функции распределения вознаграждения. Давайте рассмотрим возможность использования подобной технологии для решения наших задач.
preview
Магия временных торговых интервалов с инструментом Frames Analyzer

Магия временных торговых интервалов с инструментом Frames Analyzer

Что такое Frames Analyzer? Это подключаемый модуль к любому торговому эксперту для анализа фреймов оптимизации во время оптимизации параметров в тестере стратегий, а также вне тестера посредством чтения MQD-файла или базы данных, которая создаётся сразу после оптимизации параметров. Вы сможете делиться этими результатами оптимизации с другими пользователями, у которых есть инструмент Frames Analyzer, чтобы обсудить полученные результаты оптимизации вместе.
preview
Машинное обучение и Data Science. Нейросети (Часть 02): архитектура нейронных сетей с прямой связью

Машинное обучение и Data Science. Нейросети (Часть 02): архитектура нейронных сетей с прямой связью

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

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

В статье начнём разработку элемента управления Tooltip ("всплывающая подсказка") и начнём создание новых графических примитивов для библиотеки. Естественно, не у каждого элемента есть всплывающая подсказка, но возможность её задать для него есть у каждого графического объекта.
preview
Адаптивные индикаторы

Адаптивные индикаторы

В этой статье мы рассмотрим несколько возможных подходов к созданию адаптивных индикаторов. Адаптивные индикаторы отличаются наличием обратной связи между значениями входных и выходного сигналов. Эта связь позволяет индикатору самостоятельно подстраиваться на оптимальную обработку значений финансового временного ряда.
preview
Популяционные алгоритмы оптимизации: Муравьиная Колония (Ant Colony Optimization - ACO)

Популяционные алгоритмы оптимизации: Муравьиная Колония (Ant Colony Optimization - ACO)

В этот раз разберём алгоритм оптимизации Муравьиная Колония. Алгоритм очень интересный и неоднозначный. Попытка создания нового типа ACO.
preview
Разработка торговой системы на основе индекса силы быков Bulls Power

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

Представляю вашему вниманию новую статью из серии, в которой мы учимся строить торговые системы на основе самых популярных индикаторов. На этот раз мы поговорим об Индексе силы быков Bulls Power и создадим торговую систему по его показателям.
preview
DoEasy. Элементы управления (Часть 24): Вспомогательный WinForms-объект "Подсказка"

DoEasy. Элементы управления (Часть 24): Вспомогательный WinForms-объект "Подсказка"

В статье переработаем логику указания базового и главного объекта для всех WinForms-объектов библиотеки, разработаем новый базовый объект "Подсказка" и несколько его производных классов для указания возможного направления перемещения разделительной линии.
preview
Разработка торговой системы на основе индекса силы медведей Bears Power

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

Представляю вашему вниманию новую статью из серии, в которой мы учимся строить торговые системы на основе самых популярных индикаторов. На этот раз мы поговорим об Индексе силы медведей Bears Power и создадим торговую систему по его показателям.
preview
Нейросети — это просто (Часть 31): Эволюционные алгоритмы

Нейросети — это просто (Часть 31): Эволюционные алгоритмы

В предыдущей статье мы начали изучение безградиентных методов оптимизации. И познакомились с генетическим алгоритмом. Сегодня мы продолжаем начатую тему. И рассмотрим ещё один класс эволюционных алгоритмов.
preview
DoEasy. Элементы управления (Часть 23): дорабатываем WinForms-объекты TabControl и SplitContainer

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

В статье добавим новые события мышки относительно границ рабочих областей WinForms-объектов и доработаем некоторые недочёты в работе элементов управления TabControl и SplitContainer.
preview
Машинное обучение и Data Science — Нейросети (Часть 01): Разбираем нейронные сети с прямой связью

Машинное обучение и Data Science — Нейросети (Часть 01): Разбираем нейронные сети с прямой связью

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

Разработка торгового советника с нуля (Часть 29): Говорящая платформа

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

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

Наша система ордеров по-прежнему не справляется с одной задачей, но мы, НАКОНЕЦ, разберемся с этим. На платформе MetaTrader 5 есть система тикетов, которая позволяет нам создавать или корректировать значения ордеров. Кстати, идея состоит в том, чтобы иметь советника, который поможет нам сделать ту же систему тикетов быстрее и эффективнее.
preview
Разработка торгового советника с нуля (Часть 27): Навстречу будущему (II)

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

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

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

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

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

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

DoEasy. Элементы управления (Часть 22): SplitContainer. Изменение свойств созданного объекта

В статье реализуем возможность изменять свойства и внешний вид элемента управления SplitContainer после его создания.
preview
Популяционные алгоритмы оптимизации: Рой частиц (PSO)

Популяционные алгоритмы оптимизации: Рой частиц (PSO)

В данной статье рассмотрим популярный алгоритм "Рой Частиц" (PSO — particle swarm optimisation). Ранее мы обсудили такие важные характеристики алгоритмов оптимизации как сходимость, скорость сходимости, устойчивость, масштабируемость, разработали стенд для тестирования, рассмотрели простейший алгоритм на ГСЧ.
preview
Простое создание сложных индикаторов с помощью объектов

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

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

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

В этой статье мы сделаем систему более надежной, чтобы обеспечить более стабильное и безопасное использование. Один из способов достижения нужной надежности — постараться как можно больше повторно использовать код, чтобы он постоянно проверялся в разных ситуациях. Однако, это только один из путей, а другой — использование ООП.
preview
DoEasy. Элементы управления (Часть 21): Элемент управления SplitContainer. Разделитель панелей

DoEasy. Элементы управления (Часть 21): Элемент управления SplitContainer. Разделитель панелей

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

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

Сегодня начнём разрабатывать элемент управления SplitContainer из набора элементов MS Visual Studio. Этот элемент состоит из двух панелей, разделённых вертикальным или горизонтальным перемещаемым разделителем.
preview
Разработка торгового советника с нуля (Часть 23): Новая система ордеров (VI)

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

Мы сделаем систему ордеров более гибкой. Здесь я покажу вам, как и где внести изменения в код, чтобы делать его более гибким, что позволит нам намного быстрее изменять лимиты позиций.