Статьи с примерами программирования на языке MQL5

icon

Самые разнообразные статьи с примерами по созданию индикаторов и торговых роботов для платформы MetaTrader на языке MQL5 ждут вас. К каждой статье приложены исходные коды, которые вы можете открыть в редакторе MetaEditor и запустить самостоятельно.

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

Новая статья
последние | лучшие
preview

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

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

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

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

Изучение MQL5 от новичка до профи (Часть I): Начинаем программировать

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

Популяционные алгоритмы оптимизации: Дифференциальная эволюция (Differential Evolution, DE)

В этой статье поговорим об алгоритме, который демонстрирует самые противоречивые результаты из всех рассмотренных ранее, алгоритм дифференциальной эволюции (DE).
preview

Популяционные алгоритмы оптимизации: Алгоритм оптимизации спиральной динамики (Spiral Dynamics Optimization, SDO)

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

Популяционные алгоритмы оптимизации: Алгоритм интеллектуальных капель воды (Intelligent Water Drops, IWD)

В статье рассматривается интересный алгоритм - интеллектуальные капли воды, IWD, подсмотренный у неживой природы, симулирующий процесс формирования русла реки. Идеи этого алгоритма позволили значительно улучшить прошлого лидера рейтинга - SDS, а нового лидера (модифицированный SDSm), как обычно, найдёте в архиве к статье.
preview

Разработка показателя качества советников

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

Разработка системы репликации - Моделирование рынка (Часть 17): Тики и еще больше тиков (I)

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

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

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

Классификационные модели библиотеки Scikit-learn и их экспорт в ONNX

В данной статье мы рассмотрим применение всех классификационных моделей пакета Scikit-learn для решения задачи классификации ирисов Фишера, попробуем их сконвертировать в ONNX-формат и использовать полученные модели в программах на MQL5. Также мы сравним точность работы оригинальных моделей и их ONNX-версий на полном наборе Iris dataset.
preview

Библиотека численного анализа ALGLIB в MQL5

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

Популяционные алгоритмы оптимизации: Алгоритм эволюции разума (Mind Evolutionary Computation, MEC)

В данной статье рассматривается алгоритм семейства MEC, называемый простым алгоритмом эволюции разума (Simple MEC, SMEC). Алгоритм отличается красотой заложенной идеи и простотой реализации.
preview

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

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

Язык визуального программиования ДРАКОН (Drakon) — средство общения для разработчика MQL и заказчика

ДРАКОН — язык визуального программирования, специально разработанный для упрощения взаимодействия между специалистами разных отраслей (биологами, физиками, инженерами...) с программистами в российских космических проектах (например, при создании создание комплекса "Буран"). В этой статье я расскажу о том, как ДРАКОН делает создание алгоритмов доступным и интуитивно понятным, даже если вы никогда не сталкивались с кодом, а также - как заказчику легче объяснить свои мысли при заказе торговых роботов, а программисту - совершать меньше ошибок в сложных функциях.
preview

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

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

Популяционные алгоритмы оптимизации: Тасующий алгоритм прыгающих лягушек (Shuffled Frog-Leaping, SFL)

Статья представляет подробное описание алгоритма прыгающих лягушек (SFL) и его возможности в решении задач оптимизации. SFL-алгоритм вдохновлен поведением лягушек в естественной среде и предлагает новый подход к оптимизации функций. SFL-алгоритм является эффективным и гибким инструментом, способным обрабатывать разнообразные типы данных и достигать оптимальных решений.
preview
Разработка системы репликации - Моделирование рынка (Часть 11): Появление СИМУЛЯТОРА (I)

Разработка системы репликации - Моделирование рынка (Часть 11): Появление СИМУЛЯТОРА (I)

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

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

В статье рассмотрим стандартные индикаторы из категории осцилляторов. Создадим готовые к применению шаблоны их использования в советниках — объявление и установка параметров, инициализация, деинициализация индикаторов и получение данных и сигналов из индикаторных буферов в советниках.
Разработка системы репликации - Моделирование рынка (Часть 10): Только реальные данные для репликации
Разработка системы репликации - Моделирование рынка (Часть 10): Только реальные данные для репликации

Разработка системы репликации - Моделирование рынка (Часть 10): Только реальные данные для репликации

Здесь мы рассмотрим, как более надежные данные (торгуемые тики) можно использовать в системе репликации, не беспокоясь о том, скорректированы они или нет.
preview
Теория категорий в MQL5 (Часть 11): Графы

Теория категорий в MQL5 (Часть 11): Графы

Статья продолжает серию о реализации теории категорий в MQL5. Здесь мы рассмотрим, как теория графов может быть интегрирована с моноидами и другими структурами данных при разработке стратегии закрытия торговой системы.
preview
Разработка системы репликации - Моделирование рынка (Часть 09): Пользовательские события

Разработка системы репликации - Моделирование рынка (Часть 09): Пользовательские события

Здесь мы увидим, как активировать пользовательские события и проработать вопрос о том, как индикатор сообщает о состоянии сервиса репликации/моделирования.
preview
Делаем информационную панель для отображения данных в индикаторах и советниках

Делаем информационную панель для отображения данных в индикаторах и советниках

В статье рассмотрим создание класса информационной панели для использования её в индикаторах и советниках. Это вводная статья в небольшой серии статей с шаблонами подключения и использования стандартных индикаторов в советниках. Начнем мы с создания панели — аналога окна данных MetaTrader 5.
preview
Разработка системы репликации - Моделирование рынка (Часть 08): Блокировка индикатора

Разработка системы репликации - Моделирование рынка (Часть 08): Блокировка индикатора

В этой статье мы рассмотрим, как заблокировать индикатор при простом использовании языка MQL5, и сделаем это очень интересным и удивительным способом.
preview
Разработка системы репликации - Моделирование рынка (Часть 07): Первые улучшения (II)

Разработка системы репликации - Моделирование рынка (Часть 07): Первые улучшения (II)

В предыдущей статье мы внесли исправления в некоторые моменты и добавили тесты в нашу систему репликации для обеспечения максимально возможной стабильности. Мы также начали создавать и использовать конфигурационный файл для данной системы.
preview
Брутфорс-подход к поиску закономерностей (Часть VI): Циклическая оптимизация

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

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

Торговые транзакции. Структуры запросов и ответов, описание и вывод в журнал

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

Теория категорий в MQL5 (Часть 10): Моноидные группы

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

Структуры в MQL5 и способы вывода их данных на печать

В статье рассмотрим структуры MqlDateTime, MqlTick, MqlRates, MqlBookInfo и способы вывода данных этих структур на печать. Для того, чтобы распечатать все поля структуры есть стандартная функция ArrayPrint(), которая выводит в удобном табличном формате данные, содержащиеся в массиве с типом обрабатываемой структуры.
preview
Представления частотной области временных рядов: Спектральная функция

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

В этой статье мы рассмотрим методы, связанные с анализом временных рядов в частотной области. Также будет уделено внимание пользе изучения спектральных функций временных рядов при построении прогностических моделей. Кроме того, мы обсудим некоторые многообещающие перспективы анализа временных рядов в частотной области с использованием дискретного преобразования Фурье (ДПФ).
preview
StringFormat(). Обзор, готовые примеры использования

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

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

Разработка системы репликации - Моделирование рынка (Часть 05): Предварительный просмотр

Нам удалось разработать способ осуществления репликации рынка достаточно реалистичным и доступным образом. Теперь давайте продолжим наш проект и добавим данные для улучшения поведения репликации.
preview
Разработка системы репликации - Моделирование рынка (Часть 04): Внесение корректировок (II)

Разработка системы репликации - Моделирование рынка (Часть 04): Внесение корректировок (II)

Сегодня мы продолжим разработку системы и управления. Без возможности управления сервисом сложно двигаться вперед и совершенствовать систему.
preview
Разработка системы репликации - Моделирование рынка (Часть 03):  Внесение корректировок (I)

Разработка системы репликации - Моделирование рынка (Часть 03): Внесение корректировок (I)

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

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

Статья будет полезна как новичкам, так и уже опытным разработчикам. В ней мы рассмотрим работу функции PrintFormat(), разберём примеры форматирования строк и напишем шаблоны для вывода различной информации в журнал терминала.
DoEasy. Элементы управления (Часть 32):  горизонтальный "ScrollBar", прокрутка колесиком мышки
DoEasy. Элементы управления (Часть 32):  горизонтальный "ScrollBar", прокрутка колесиком мышки

DoEasy. Элементы управления (Часть 32): горизонтальный "ScrollBar", прокрутка колесиком мышки

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

Реализация алгоритма обучения ARIMA на MQL5

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

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

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

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

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

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

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

Как построить советник, работающий автоматически (Часть 15): Автоматизация (VII)

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