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

icon

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

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

Новая статья
последние | лучшие
preview
Разработка торговой системы на основе индекса силы медведей Bears Power

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

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

Нейросети — это просто (Часть 57): Стохастический маргинальный актор-критик (SMAC)

Предлагаем познакомиться с довольно новым алгоритмом Stochastic Marginal Actor-Critic (SMAC), который позволяет строить политики латентных переменных в рамках максимизации энтропии.
preview
Все, что вам нужно знать о структуре программы MQL5

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

Любая программа на любом языке программирования имеет определенную структуру. В этой статье вы изучите основные компоненты структуры программы на MQL5, что может быть очень полезно при создании торговой системы или торгового инструмента для MetaTrader 5.
preview
Брутфорс-подход к поиску закономерностей (Часть VI): Циклическая оптимизация

Брутфорс-подход к поиску закономерностей (Часть VI): Циклическая оптимизация

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

Работа с матрицами, расширение функционала Стандартной библиотеки матриц и векторов

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

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

В этой статье мы научимся, как заставить платформу MT5 говорить. А что если мы сделаем советника более веселым? Торговля на финансовых рынках часто является чрезвычайно скучным и монотонным занятием, но мы можем сделать эту работу менее утомительной. Этот проект может стать опасным, если у вас есть проблема, делающая вас зависимым, но на самом деле весь сценарий с модификациями может быть более увлекательным и менее скучным.
preview
Готовые шаблоны для подключения индикаторов в экспертах (Часть 2): Индикакторы объёма и Билла Вильямса

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

В статье рассмотрим стандартные индикаторы из категории Объемов и индикаторов Билла Вильямса. Создадим готовые к применению шаблоны использования индикаторов в советниках — объявление и установка параметров, инициализация, деинициализация индикаторов и получение данных и сигналов из индикаторных буферов в советниках.
Интервью с Валерием Мазуренко (ATC 2010)
Интервью с Валерием Мазуренко (ATC 2010)

Интервью с Валерием Мазуренко (ATC 2010)

К концу первой торговой недели на первом месте оказался Валерий Мазуренко (notused) с мультивалютным экспертом ch2010. Ранее воспринимавший трейдинг как хобби, Валерий уже полгода пытается монетизировать свое «увлечение» и написать устойчивый советник для реальной торговли. В этом интервью экспертописатель делится своими взглядами на роль математики в трейдинге и рассказывает, почему объектно-ориентированный подход отлично подходит для написания мультивалютников.
preview
Тестируем информативность разных типов скользящих средних

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

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

Как построить советник, работающий автоматически (Часть 06): Виды счетов (I)

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

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

Мы все знаем важность скользящей средней для многих трейдеров. Существуют разные типы скользящих средних, которые могут быть полезны в торговле. Мы рассмотрим их и проведем простое сравнение, чтобы увидеть, какой из них может показать лучшие результаты.
preview
Работа с ONNX-моделями в форматах float16 и float8

Работа с ONNX-моделями в форматах float16 и float8

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

Разработка и тестирование торговых систем Aroon

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

Может ли Heiken Ashi давать хорошие сигналы в сочетании со скользящими средними?

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

Работа с таймсериями в библиотеке DoEasy (Часть 48): Мультипериодные мультисимвольные индикаторы на одном буфере в подокне

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

Простые решения для удобной работы с индикаторами

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

Как построить советник, работающий автоматически (Часть 03): Новые функции

Сегодня вы научитесь создавать советник, который просто и безопасно работает в автоматическом режиме. В предыдущей статье мы начали разрабатывать систему ордеров, которой будем пользоваться в автоматическом советнике. Однако мы создали только одну из необходимых функций или процедур.
preview
Торговая стратегия "Захват ликвидности" (Liquidity Grab)

Торговая стратегия "Захват ликвидности" (Liquidity Grab)

Торговая стратегия захвата ликвидности является ключевым компонентом Концепции умных денег (Smart Money Concepts (SMC), которая направлена на выявление и использование действий институциональных игроков на рынке. Она предполагает нацеливание на области с высокой ликвидностью, такие как зоны поддержки или сопротивления, где крупные ордера могут спровоцировать движение цены до того, как рынок возобновит свой тренд. В настоящей статье подробно объясняется концепция захвата ликвидности и описывается процесс разработки советника по торговой стратегии захвата ликвидности на MQL5.
preview
Работа с таймсериями в библиотеке DoEasy (Часть 52): Кроссплатформенность мультипериодных мультисимвольных однобуферных стандартных индикаторов

Работа с таймсериями в библиотеке DoEasy (Часть 52): Кроссплатформенность мультипериодных мультисимвольных однобуферных стандартных индикаторов

В статье рассмотрим создание мультисимвольного мультипериодного стандартного индикатора Accumulation/Distribution. Чтобы программы, написанные под устаревшую платформу MetaTrader 4, основанные на данной библиотеке, могли нормально работать при переходе на MetaTrader 5, мы немного доработаем классы библиотеки касаемо индикаторов.
preview
Как опередить любой рынок?

Как опередить любой рынок?

Узнайте, как опередить любой рынок независимо от вашего опыта торговли на нем.
Интервью с Берроном Паркером (ATC 2010)
Интервью с Берроном Паркером (ATC 2010)

Интервью с Берроном Паркером (ATC 2010)

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

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

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

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

MQL5-разработчикам крайне необходимо освоить важные и ценные инструменты. Одним из таких инструментов является тестер стратегий. Статья представляет собой практическое руководство по использованию тестера стратегий MQL5.
preview
Осваиваем рыночную динамику: Создание советника на основе стратегии поддержки и сопротивления

Осваиваем рыночную динамику: Создание советника на основе стратегии поддержки и сопротивления

В статье представлено подробное руководство по разработке автоматизированного торгового алгоритма на основе стратегии поддержки и сопротивления. Дана подробная информация по всем аспектам создания советника на MQL5 и его тестирования в MetaTrader 5 — от анализа поведения ценового диапазона до управления рисками.
preview
Разработка торговой системы на основе Индекса относительной бодрости Relative Vigor Index

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

Это новая статья из серии, в которой мы учимся создавать торговые системы по показателям самых популярных технических индикаторов. В этот раз познакомимся с Индексом относительной бодрости (Relative Vigor Index, RVI).
preview
Как построить советник, работающий автоматически (Часть 05): Ручные триггеры (II)

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

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

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

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

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

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

Использование алгоритмов оптимизации для настройки параметров советника "на лету"

В статье рассматриваются практические аспекты использования алгоритмов оптимизации для поиска наилучших параметров советников "на лету", виртуализация торговых операций и логики советника. Данная статья может быть использована как своеобразная инструкция для внедрения алгоритмов оптимизации в торгового советника.
preview
Популяционные алгоритмы оптимизации: Бинарный генетический алгоритм (Binary Genetic Algorithm, BGA). Часть II

Популяционные алгоритмы оптимизации: Бинарный генетический алгоритм (Binary Genetic Algorithm, BGA). Часть II

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

Графика в библиотеке DoEasy (Часть 96): Работа с событиями мышки и графика в объектах-формах

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

Нужны ли трейдерам услуги разработчиков?

Алготрейдинг становится все более популярным и востребованным, что закономерно привело к появлению спроса на экзотические алгоритмы и нестандартные задачи. Определенная часть таких сложных приложений представлена в Code Base или Маркете и их можно получить за пару кликов, но не всё в них устраивает трейдеров. В этом случае они начинают искать разработчиков, способных написать требуемое приложение, находят их во Фрилансе и выдают заказ.
Графика в библиотеке DoEasy (Часть 85): Коллекция графических объектов - добавляем вновь создаваемые
Графика в библиотеке DoEasy (Часть 85): Коллекция графических объектов - добавляем вновь создаваемые

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

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

Принцип суперпозиции и интерференции финансовых инструментов

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

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

Разбираем вопрос, что такое количественный анализ, как его применяют крупные игроки, создадим один из алгоритмов количественного анализа на языке MQL5.
preview
Популяционные алгоритмы оптимизации: Алгоритмы эволюционных стратегий (Evolution Strategies, (μ,λ)-ES и (μ+λ)-ES)

Популяционные алгоритмы оптимизации: Алгоритмы эволюционных стратегий (Evolution Strategies, (μ,λ)-ES и (μ+λ)-ES)

В этой статье будет рассмотрена группа алгоритмов оптимизации, известных как "Эволюционные стратегии" (Evolution Strategies или ES). Они являются одними из самых первых популяционных алгоритмов, использующих принципы эволюции для поиска оптимальных решений. Будут представлены изменения, внесенные в классические варианты ES, а также пересмотрена тестовая функция и методика стенда для алгоритмов.
preview
Графика в библиотеке DoEasy (Часть 98): Перемещаем опорные точки расширенных стандартных графических объектов

Графика в библиотеке DoEasy (Часть 98): Перемещаем опорные точки расширенных стандартных графических объектов

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

Циклы и трейдинг

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

Непрерывная скользящая оптимизация (Часть 6): Логическая часть автооптимизатора и его структура

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

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

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