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

icon

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

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

Новая статья
последние | лучшие
preview
Машинное обучение и Data Science (Часть 12): Можно ли выигрывать на рынке с помощью самообучающихся нейронных сетей?

Машинное обучение и Data Science (Часть 12): Можно ли выигрывать на рынке с помощью самообучающихся нейронных сетей?

Наверняка многим надоели постоянные попытки предсказать фондовый рынок. Хотели бы вы иметь хрустальный шар, который бы помогал принимать более обоснованные инвестиционные решения? Самообучающиеся нейронные сети могут стать таким решением. В этой статье мы посмотрим, могут ли такие мощные алгоритмы помочь «оседлать волну» и перехитрить фондовый рынок. Анализируя огромные объемы данных и выявляя закономерности, самообучающиеся нейронные сети могут делать прогнозы, которые зачастую более точны, чем прогнозы от трейдеров. Давайте посмотрим, можно ли использовать эти передовые технологии, чтобы принимать разумные инвестиционные решения и зарабатывать больше.
preview
Кросс-валидация и основы причинно-следственного вывода в моделях CatBoost, экспорт в ONNX формат

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

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

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

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

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

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

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

В прошлой статье мы создали возможность перемещения опорных точек расширенного графического объекта при помощи форм управления. Теперь сделаем перемещение составного графического объекта при помощи одной точки (формы) управления графическим объектом.
preview
Как стать успешным поставщиком сигналов на MQL5.com

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

Основная цель статьи — предоставить простой пошаговый путь, пройдя по которому вы сможете стать лучшим поставщиком сигналов на MQL5.com. Опираясь на свои знания и опыт, я объясню, что нужно, чтобы стать успешным поставщиком сигналов, в том числе, как найти, протестировать и оптимизировать хорошую стратегию. Кроме того, я дам советы по публикации вашего сигнала, написанию убедительного описания и эффективному продвижению и управлению.
preview
Популяционные алгоритмы оптимизации: Гармонический поиск (Harmony Search — HS)

Популяционные алгоритмы оптимизации: Гармонический поиск (Harmony Search — HS)

Сегодня изучим и протестируем мощнейший алгоритм оптимизации - гармонический поиск (HS), который инспирирован процессом поиска идеальной звуковой гармонии. И какой же алгоритм теперь лидер в нашем рейтинге?
Индикатор CCI. Три шага трансформации
Индикатор CCI. Три шага трансформации

Индикатор CCI. Три шага трансформации

В этой статье мы попробуем внести дополнительные изменения в CCI. Эти изменения коснутся самой логики работы этого индикатора. Вплоть до того, что мы сможем увидеть этот индикатор в главном окне графика.
preview
Бегущая строка котировок: базовая версия

Бегущая строка котировок: базовая версия

Здесь я покажу, как создать в терминале бегущую строку, которая обычно используется для отображения котировок на бирже. Создавать такую строку мы будем только при помощи MQL5, не используя никакое другое внешнее программирование.
preview
Эксперименты с нейросетями (Часть 3): Практическое применение

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

Нейросети наше все. Проверяем на практике, так ли это. MetaTrader 5 как самодостаточное средство для использования нейросетей в трейдинге. Простое объяснение.
Димитар Манов:"На Чемпионате я боюсь только исключительных обстоятельств"(ATC 2010)
Димитар Манов:"На Чемпионате я боюсь только исключительных обстоятельств"(ATC 2010)

Димитар Манов:"На Чемпионате я боюсь только исключительных обстоятельств"(ATC 2010)

В недавнем отчете Бориса Одинцова одним из самых стабильных советников Чемпионата был назван эксперт болгарского Участника Manov. Мы решили поговорить с автором этой разработки и выяснить, в чем заключается секрет ее успеха. В интервью Димитар Манов рассказывает о том, какую ситуацию его эксперт не переживет, почему он не использует индикаторы и рассчитывает ли на победу в соревновании.
Работа с таймсериями в библиотеке DoEasy (Часть 43): Классы объектов индикаторных буферов
Работа с таймсериями в библиотеке DoEasy (Часть 43): Классы объектов индикаторных буферов

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

В статье рассмотрим создание классов объектов-индикаторных буферов как наследников абстрактного объекта-буфера, упрощающих объявление и работу с индикаторными буферами при создании собственных программ-индикаторов на основе библиотеки DoEasy.
preview
Работа с таймсериями в библиотеке DoEasy (Часть 55): Класс-коллекция индикаторов

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

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

Как построить советник, работающий автоматически (Часть 08): OnTradeTransaction

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

Эксперименты с нейросетями (Часть 6): Перцептрон как самодостаточное средство предсказания цены

Пример использования перцептрона как самодостаточного средства предсказания цены. В статье даются общие понятия, представлен простейший готовый советник и результаты его оптимизации.
Утилита для отбора и навигации на MQL5 и MQL4: добавляем вкладки "домашки" и сохраняем графические объекты
Утилита для отбора и навигации на MQL5 и MQL4: добавляем вкладки "домашки" и сохраняем графические объекты

Утилита для отбора и навигации на MQL5 и MQL4: добавляем вкладки "домашки" и сохраняем графические объекты

В данной статье мы расширим возможности ранее созданной утилиты, добавив в нее вкладки для отбора нужных нам инструментов. Также мы научимся сохранять графические объекты, которые мы создали на графике определенного инструмента, чтобы постоянно их не создавать повторно. И даже научимся работать только с инструментами, которые были предварительно выбраны с помощью с нужного нам сайта.
Графика в библиотеке DoEasy (Часть 76): Объект Форма и предопределённые цветовые темы
Графика в библиотеке DoEasy (Часть 76): Объект Форма и предопределённые цветовые темы

Графика в библиотеке DoEasy (Часть 76): Объект Форма и предопределённые цветовые темы

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

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

Представляю вашему вниманию новую статью из серии, в которой мы учимся строить торговые системы на основе самых популярных индикаторов. В этой статье мы поговорим об индикаторе Скользящей средней с динамическим периодом усреднения (Variable Index Dynamic Average, VIDYA) и создадим торговую систему по его показателям.
preview
Как добавить Trailing Stop по индикатору Parabolic SAR

Как добавить Trailing Stop по индикатору Parabolic SAR

При создании торговой стратегии нам нужно проверить самые разные варианты защитных стопов. И тут напрашивается динамическое подтягивание уровня Stop Loss вслед за ценой. Наилучшим кандидатом для этого является индикатор Parabolic SAR —трудно придумать что-либо проще и нагляднее.
preview
Разработка торговой системы на основе индикатора MFI

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

Это новая статья из серии, в которой мы учимся создавать торговые системы на основе популярных технических индикаторов. На этот раз она посвящена Индексу денежного потока MFI. Мы подробно изучим этот индикатор и разработаем простые торговые системы на MQL5 для исполнения в MetaTrader 5.
Работа с ценами в библиотеке DoEasy (Часть 59): Объект для хранения данных одного тика
Работа с ценами в библиотеке DoEasy (Часть 59): Объект для хранения данных одного тика

Работа с ценами в библиотеке DoEasy (Часть 59): Объект для хранения данных одного тика

С данной статьи приступим к созданию функционала библиотеки для работы с ценовыми данными. Сегодня создадим класс объекта, который будет хранить в себе все данные цен, пришедшие с очередным тиком.
Графика в библиотеке DoEasy (Часть 83): Класс абстрактного стандартного графического объекта
Графика в библиотеке DoEasy (Часть 83): Класс абстрактного стандартного графического объекта

Графика в библиотеке DoEasy (Часть 83): Класс абстрактного стандартного графического объекта

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

Стратегия Билла Вильямса с индикаторами и прогнозами и без них

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

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

В этой справочной статье рассмотрим стандартные индикаторы из категории "Трендовые индикаторы". Создадим готовые к применению шаблоны использования этих индикаторов в советниках — объявление и установка параметров, инициализация и деинициализация индикаторов и получение данных и сигналов из индикаторных буферов в советниках.
Прочие классы в библиотеке DoEasy (Часть 67): Класс объекта-чарта
Прочие классы в библиотеке DoEasy (Часть 67): Класс объекта-чарта

Прочие классы в библиотеке DoEasy (Часть 67): Класс объекта-чарта

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

Графика в библиотеке DoEasy (Часть 84): Классы-наследники абстрактного стандартного графического объекта

В статье рассмотрим создание классов-наследников объекта абстрактного стандартного графического объекта терминала. Объект этого класса описывает общие для всех графических объектов свойства. Т.е. это просто некий графический объект. Для уточнения его принадлежности к реальному графическому объекту нам необходимо унаследоваться от него, и в классе объекта-наследника прописать свойства, присущие этому конкретному графическому объекту.
Шаблон проектирования MVC и возможность его использования (Часть 2): Схема взаимодействия между тремя компонентами
Шаблон проектирования MVC и возможность его использования (Часть 2): Схема взаимодействия между тремя компонентами

Шаблон проектирования MVC и возможность его использования (Часть 2): Схема взаимодействия между тремя компонентами

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

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

Как получить доступ к пользовательским индикаторам непосредственно в советнике? Торговый советник будет действительно полезен только в том случае, если в нем можно будет использовать пользовательские индикаторы, иначе это будет просто набор кодов и инструкций.
Работа MetaTrader 4 под защитой антивирусов и файрволов
Работа MetaTrader 4 под защитой антивирусов и файрволов

Работа MetaTrader 4 под защитой антивирусов и файрволов

Большинство пользователей используют для защиты своих компьютеров специализированные программы. К сожалению, эти программы не только защищают компьютеры от вторжений, вирусов и троянов, но и потребляют достаточное количество ресурсов. В первую очередь это касается сетевого трафика, который на 100% контролируется разнообразными интеллектуальными файрволами и антивирусами. Поводом для написания этой статьи послужили обращения трейдеров, которые жаловались на замедление работы терминала МетаТрейдер при работе с Outpost Firewall. Мы решили провести собственные исследования на примере Антивируса Касперского 6.0 и файрвола Outpost Pro 4.0
preview
Модель глубокого обучения GRU на Python с использованием ONNX в советнике, GRU vs LSTM

Модель глубокого обучения GRU на Python с использованием ONNX в советнике, GRU vs LSTM

Статья посвящена разработке модели глубокого обучения GRU ONNX на Python. В практической части мы реализуем эту модель в торговом советнике, а затем сравним работу модели GRU с LSTM (долгой краткосрочной памятью).
preview
Быстрый тестер торговых стратегий на Python с использованием Numba

Быстрый тестер торговых стратегий на Python с использованием Numba

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

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

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

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

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

Стать хорошим программистом (Часть 6): 9 привычек для эффективной разработки

Качество разработки — это не только про написание кода. На своем опыте я выявил определенные привычки, которые помогают повысить эффективность разработки. О некоторых из них мы поговорим в этой статье. Статья обязательна к прочтению для всех, кто хочет улучшить навыки написания сложных алгоритмов.
preview
Разработка торговой системы на основе стандартного отклонения

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

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

Групповые файловые операции

Иногда требуется проделать одинаковые операции для некоторой группы файлов. Если у вас есть список файлов, входящих в эту группу, то это не проблема. Но если этот список нужно получить самостоятельно, то возникает вопрос: "Каким образом?" В статье предлагается сделать это с помощью функций FindFirstFile() и FindNextFile(), входящих в библиотеку kernel32.dll.
preview
Разработка торгового советника с нуля (Часть 7): Добавляем Volume At Price (I)

Разработка торгового советника с нуля (Часть 7): Добавляем Volume At Price (I)

Это один из самых мощных индикаторов из существующих. Те, кто торгует и старается иметь определенную степень уверенности, не могут не иметь этот индикатор на своем графике. Хотя чаще всего его используют те, кто торгует, наблюдая за лентой сделок («tape reading»). Также этот индикатор могут использовать и те, кто использует только Price Action.
preview
Эксперименты с нейросетями (Часть 2): Хитрая оптимизация нейросети

Эксперименты с нейросетями (Часть 2): Хитрая оптимизация нейросети

Нейросети наше все. Проверяем на практике, так ли это. MetaTrader 5 как самодостаточное средство для использования нейросетей в трейдинге. Простое объяснение.
preview
Нейросети — это просто (Часть 25): Практикум Transfer Learning

Нейросети — это просто (Часть 25): Практикум Transfer Learning

В последних двух статьях мы создали инструмент, позволяющий создавать и редактировать модели нейронных сетей. И теперь пришло время оценить потенциальные возможности использования технологии Transfer Learning на практических примерах.
preview
Индикатор CCI. Модернизация и новые возможности

Индикатор CCI. Модернизация и новые возможности

В этой статье мы рассмотрим возможность модернизации индикатора CCI. Кроме того, будет представлен пример модификации этого индикатора.